| name: CI |
| on: [push, pull_request] |
| |
| jobs: |
| test: |
| name: Run tests |
| runs-on: ubuntu-latest |
| steps: |
| - uses: actions/checkout@master |
| - name: Update rustup |
| run: rustup self update |
| - name: Install Rust |
| run: | |
| rustup set profile minimal |
| rustup toolchain install 1.67 -c rust-docs |
| rustup default 1.67 |
| - name: Install mdbook |
| run: | |
| mkdir bin |
| curl -sSL https://github.com/rust-lang/mdBook/releases/download/v0.4.21/mdbook-v0.4.21-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 |
| lint: |
| name: Run lints |
| runs-on: ubuntu-latest |
| steps: |
| - uses: actions/checkout@master |
| - name: Update rustup |
| run: rustup self update |
| - name: Install Rust |
| run: | |
| rustup set profile minimal |
| rustup toolchain install nightly -c rust-docs |
| rustup override set nightly |
| - name: Install mdbook |
| run: | |
| mkdir bin |
| curl -sSL https://github.com/rust-lang/mdBook/releases/download/v0.4.21/mdbook-v0.4.21-x86_64-unknown-linux-gnu.tar.gz | tar -xz --directory=bin |
| echo "$(pwd)/bin" >> ${GITHUB_PATH} |
| - name: Install aspell |
| run: sudo apt-get install aspell |
| - name: Install shellcheck |
| run: sudo apt-get install shellcheck |
| - name: Report versions |
| run: | |
| rustup --version |
| rustc -Vv |
| mdbook --version |
| aspell --version |
| shellcheck --version |
| - name: Shellcheck |
| run: find . -name '*.sh' | xargs shellcheck |
| - name: Spellcheck |
| run: bash ci/spellcheck.sh list |
| - name: Lint for local file paths |
| run: | |
| mdbook build |
| cargo run --bin lfp src |
| - name: Validate references |
| run: bash ci/validate.sh |
| - name: Check for broken links |
| run: | |
| curl -sSLo linkcheck.sh \ |
| https://raw.githubusercontent.com/rust-lang/rust/master/src/tools/linkchecker/linkcheck.sh |
| # Cannot use --all here because of the generated redirect pages aren't available. |
| sh linkcheck.sh book |