Skip to content

Commit

Permalink
Automatically add exercise links to sections. (#52)
Browse files Browse the repository at this point in the history
We use an mdbook preprocessor to automatically generate links to the relevant exercise for each section.
We remove all existing manual links and refactor the deploy process to push the rendered book to a branch.
  • Loading branch information
LukeMathWalker authored May 24, 2024
1 parent 99591a7 commit 1aae615
Show file tree
Hide file tree
Showing 65 changed files with 1,967 additions and 324 deletions.
42 changes: 31 additions & 11 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,22 +9,20 @@ on:
- main

jobs:
formatter:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: dprint/[email protected]

check-links:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- uses: actions/checkout@v4
- uses: actions-rust-lang/setup-rust-toolchain@v1
- name: Install plugin
run: cargo install --path helpers/mdbook-exercise-linker
- uses: taiki-e/install-action@v2
with:
tool: mdbook
- name: Build book
run: |
cd book
curl -sSL https://github.com/rust-lang/mdBook/releases/download/v0.4.40/mdbook-v0.4.40-x86_64-unknown-linux-gnu.tar.gz | tar -xz --directory=.
./mdbook build
mdbook build
- name: Link Checker
uses: lycheeverse/lychee-action@v1
with:
Expand All @@ -34,3 +32,25 @@ jobs:
--require-https
--no-progress
book/book
# Upload the book as an artifact
- uses: actions/upload-artifact@v4
with:
name: book
path: book/book
# Commit and push all changed files.
# Must only affect files that are listed in "paths-ignore".
- name: Git commit build artifacts
# Only run on main branch push (e.g. pull request merge).
if: github.event_name == 'push'
run: |
git config --global user.name "${{ env.CI_COMMIT_AUTHOR }}"
git config --global user.email "[email protected]"
git add --force book/book
git commit -m "${{ env.CI_COMMIT_MESSAGE }}"
git push --set-upstream --force-with-lease origin deploy
formatter:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: dprint/[email protected]
Loading

0 comments on commit 1aae615

Please sign in to comment.