|
|
|
@ -1,12 +1,15 @@
|
|
|
|
|
name: CI
|
|
|
|
|
on: [push, pull_request]
|
|
|
|
|
on: [pull_request, merge_group]
|
|
|
|
|
|
|
|
|
|
env:
|
|
|
|
|
MDBOOK_VERSION: 0.4.40
|
|
|
|
|
|
|
|
|
|
jobs:
|
|
|
|
|
test:
|
|
|
|
|
name: Test
|
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
|
steps:
|
|
|
|
|
- uses: actions/checkout@v3
|
|
|
|
|
- uses: actions/checkout@v4
|
|
|
|
|
- name: Setup Rust Toolchain
|
|
|
|
|
uses: actions-rust-lang/setup-rust-toolchain@v1.9.0
|
|
|
|
|
with:
|
|
|
|
@ -15,8 +18,15 @@ jobs:
|
|
|
|
|
- run: rustup default nightly
|
|
|
|
|
|
|
|
|
|
- name: Install mdbook
|
|
|
|
|
run: RUST_BACKTRACE=full cargo install mdbook
|
|
|
|
|
|
|
|
|
|
run: |
|
|
|
|
|
mkdir bin
|
|
|
|
|
curl -sSL https://github.com/rust-lang/mdBook/releases/download/v${MDBOOK_VERSION}/mdbook-v${MDBOOK_VERSION}-x86_64-unknown-linux-gnu.tar.gz | tar -xz --directory=bin
|
|
|
|
|
echo "$(pwd)/bin" >> $GITHUB_PATH
|
|
|
|
|
- name: Report versions
|
|
|
|
|
run: |
|
|
|
|
|
rustup --version
|
|
|
|
|
rustc -Vv
|
|
|
|
|
mdbook --version
|
|
|
|
|
- name: Run tests
|
|
|
|
|
run: mdbook test
|
|
|
|
|
|
|
|
|
@ -39,3 +49,19 @@ jobs:
|
|
|
|
|
# run: |
|
|
|
|
|
# cd linkchecker
|
|
|
|
|
# cargo run --release linkcheck
|
|
|
|
|
|
|
|
|
|
# The success job is here to consolidate the total success/failure state of
|
|
|
|
|
# all other jobs. This job is then included in the GitHub branch protection
|
|
|
|
|
# rule which prevents merges unless all other jobs are passing. This makes
|
|
|
|
|
# it easier to manage the list of jobs via this yml file and to prevent
|
|
|
|
|
# accidentally adding new jobs without also updating the branch protections.
|
|
|
|
|
success:
|
|
|
|
|
name: Success gate
|
|
|
|
|
if: always()
|
|
|
|
|
needs:
|
|
|
|
|
- test
|
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
|
steps:
|
|
|
|
|
- run: jq --exit-status 'all(.result == "success")' <<< '${{ toJson(needs) }}'
|
|
|
|
|
- name: Done
|
|
|
|
|
run: exit 0
|
|
|
|
|