Skip to content

Deploy

Deploy #90

Workflow file for this run

name: Deploy
on:
workflow_run:
workflows: [CI]
types: [completed]
branches: [main]
jobs:
deploy:
# Only deploy when there's a push into main with successful CI validation
if: ${{ github.event.workflow_run.conclusion == 'success' && github.event.workflow_run.event == 'push' }}
runs-on: ubuntu-latest
permissions:
contents: write # To push a branch
pages: write # To push to a GitHub Pages site
id-token: write # To update the deployment status
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Install latest mdbook
run: |
tag=$(curl 'https://api.github.com/repos/rust-lang/mdbook/releases/latest' | jq -r '.tag_name')
url="https://github.com/rust-lang/mdbook/releases/download/${tag}/mdbook-${tag}-x86_64-unknown-linux-gnu.tar.gz"
mkdir mdbook
curl -sSL $url | tar -xz --directory=./mdbook
echo "$PWD/mdbook" >> $GITHUB_PATH
- name: Install mdbook-linkcheck
run: |
mkdir -p mdbook-linkcheck
cd mdbook-linkcheck
curl -L https://github.com/Michael-F-Bryan/mdbook-linkcheck/releases/latest/download/mdbook-linkcheck.x86_64-unknown-linux-gnu.zip -o mdbook-linkcheck.zip
unzip mdbook-linkcheck.zip
chmod +x mdbook-linkcheck
echo "$PWD" >> $GITHUB_PATH
- name: Install mdbook-quiz
run: |
cargo install mdbook-quiz --locked
- name: Build Book
run: |
mdbook build
- name: Setup Pages
uses: actions/configure-pages@v4
- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
# Upload the html content, ignoring the linkcheck file
path: 'book/html'
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4