From c588d266fc998623bfee4dbdf12e5a993064921b Mon Sep 17 00:00:00 2001 From: Hamish Willee Date: Wed, 27 Nov 2024 16:25:09 +1100 Subject: [PATCH] Add test vitepress build workflow (#563) * first version of deploy workflow * Temp workflow only on manual trigger --- .github/workflows/build_guide.yml | 55 -------------------------- .github/workflows/docs_deploy.yml | 64 +++++++++++++++++++++++++++++++ 2 files changed, 64 insertions(+), 55 deletions(-) delete mode 100644 .github/workflows/build_guide.yml create mode 100644 .github/workflows/docs_deploy.yml diff --git a/.github/workflows/build_guide.yml b/.github/workflows/build_guide.yml deleted file mode 100644 index 8550970a..00000000 --- a/.github/workflows/build_guide.yml +++ /dev/null @@ -1,55 +0,0 @@ -name: Build & deploy guide - -# Controls when the workflow will run -on: - # Triggers the workflow on push or pull request events but only for the "master" branch - push: - branches: [ "main" ] - pull_request: - branches: [ "main" ] - - # Allows you to run this workflow manually from the Actions tab - workflow_dispatch: - -# A workflow run is made up of one or more jobs that can run sequentially or in parallel -jobs: - # This workflow contains a single job called "build" - build: - # The type of runner that the job will run on - runs-on: ubuntu-latest - - # Steps represent a sequence of tasks that will be executed as part of the job - steps: - # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - - uses: actions/checkout@v3 - - uses: actions/setup-node@v3 - with: - node-version: 12.x - - uses: actions/cache@v3 - with: - path: ~/.npm - key: ${{ runner.os }}-node-${{ hashFiles('**/book.json') }} - restore-keys: | - ${{ runner.os }}-node- - - name: setup env to build website - run: | - npm install gitbook-cli -g - gitbook install - - name: build website - run: | - gitbook build . ./build - rm -rf ./build/.github - echo "" > ./build/.nojekyll - - - name: Upload a Build Artifact - uses: actions/upload-artifact@v3.1.0 - with: - # Artifact name - name: mavlink_guide - # A file, directory or wildcard pattern that describes what to upload - path: ./build - # The desired behavior if no files are found using the provided path. - if-no-files-found: error - - # Then we'll work out how to deploy - diff --git a/.github/workflows/docs_deploy.yml b/.github/workflows/docs_deploy.yml new file mode 100644 index 00000000..b5ba78fb --- /dev/null +++ b/.github/workflows/docs_deploy.yml @@ -0,0 +1,64 @@ +name: Docs + +on: + + workflow_dispatch: + +env: + BRANCH_NAME: ${{ github.head_ref || github.ref_name }} + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup Node + uses: actions/setup-node@v4 + with: + node-version: 20 + cache: npm + + - name: Install dependencies + run: npm ci + + - name: Build with VitePress + run: | + npm run docs:build + touch .vitepress/dist/.nojekyll + + - name: Upload artifact + uses: actions/upload-artifact@v4 + with: + name: mavlink_devguide_docs_build + path: .vitepress/dist/ + retention-days: 1 + + deploy: + if: ${{ github.event_name == 'push' || github.event_name == 'workflow_dispatch' || (github.event_name == 'pull_request' && github.event.pull_request.merged) }} + needs: build + runs-on: ubuntu-latest + + steps: + - name: Download Artifact + uses: actions/download-artifact@v4 + with: + name: mavlink_devguide_docs_build + path: ~/_book + + - name: Deploy + env: + GIT_USER: ${{ secrets.PX4BUILDBOT_USER }} + GIT_PASS: ${{ secrets.PX4BUILDBOT_PASS }} + run: | + git clone https://${{ secrets.PX4BUILDBOT_USER }}:${{ secrets.PX4BUILDBOT_ACCESSTOKEN }}@github.com/mavlink/mavlink.io.git + rm -rf mavlink.io/${{ env.BRANCH_NAME }} + mkdir -p mavlink.io/${{ env.BRANCH_NAME }} + cp -r ~/_book/* mavlink.io/${{ env.BRANCH_NAME }}/ + cd mavlink.io + git config user.email "bot@px4.io" + git config user.name "PX4BuildBot" + git add ${{ env.BRANCH_NAME }} + git commit -a -m "MAVLink docs build update `date`" + git push origin master