Add test vitepress build workflow (#563)

* first version of deploy workflow

* Temp workflow only on manual trigger
This commit is contained in:
Hamish Willee
2024-11-27 16:25:09 +11:00
committed by GitHub
parent 86e7bf0151
commit c588d266fc
2 changed files with 64 additions and 55 deletions
-55
View File
@@ -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
+64
View File
@@ -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