-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Automatically add exercise links to sections. (#52)
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
1 parent
99591a7
commit 1aae615
Showing
65 changed files
with
1,967 additions
and
324 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -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: | ||
|
@@ -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] |
Oops, something went wrong.