Configure CI for merge queue #1848
Workflow file for this run
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
name: CI | |
on: | |
merge_group: | |
pull_request: | |
jobs: | |
test: | |
name: Test | |
runs-on: ubuntu-latest | |
continue-on-error: ${{ matrix.rust == 'nightly' }} | |
strategy: | |
matrix: | |
rust: [stable, nightly] | |
steps: | |
- name: Checkout the source code | |
uses: actions/checkout@v2 | |
with: | |
fetch-depth: 1 | |
- name: Install Rust toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: ${{ matrix.rust }} | |
profile: minimal | |
override: true | |
- name: Build chalk-engine without default features | |
run: cd chalk-engine && cargo build --no-default-features | |
- name: Build chalk-engine with all features | |
run: cd chalk-engine && cargo build --all-features | |
- name: Execute tests for all crates in the workspace | |
run: cargo test --all | |
- name: Install mdbook | |
run: | | |
cd book | |
curl -L https://github.com/rust-lang/mdBook/releases/download/v0.4.5/mdbook-v0.4.5-x86_64-unknown-linux-gnu.tar.gz | tar xz | |
# Add the book directory to the $PATH | |
echo "$GITHUB_WORKSPACE/book" >> $GITHUB_PATH | |
- name: Install mdbook-mermaid | |
run: cargo install mdbook-mermaid | |
- name: Execute tests for Chalk book | |
run: cd book && ./mdbook test | |
- name: Build Chalk book | |
run: cd book && ./mdbook build | |
- name: Build documentation for all crates in the workspace | |
run: cargo doc --all --document-private-items --no-deps | |
- name: Upload documentation to GitHub Pages | |
run: | | |
touch target/doc/.nojekyll | |
curl -LsSf https://raw.githubusercontent.com/rust-lang/simpleinfra/master/setup-deploy-keys/src/deploy.rs | rustc - -o /tmp/deploy | |
cp -r book/book/html target/doc/book | |
(cd target/doc && /tmp/deploy) | |
env: | |
GITHUB_DEPLOY_KEY: ${{ secrets.GITHUB_DEPLOY_KEY }} | |
if: matrix.rust == 'stable' && github.ref == 'refs/heads/master' | |
fmt: | |
name: Format | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout the source code | |
uses: actions/checkout@v2 | |
with: | |
fetch-depth: 1 | |
- name: Install Rust toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
profile: minimal | |
override: true | |
components: rustfmt | |
- name: Check formatting of all crates in the workspace | |
run: cargo fmt --all -- --check | |
mdbook-linkcheck: | |
name: Book link check | |
runs-on: ubuntu-latest | |
if: github.ref != 'refs/heads/master' | |
steps: | |
- name: Checkout the source code | |
uses: actions/checkout@v2 | |
with: | |
fetch-depth: 1 | |
- name: Install mdbook | |
run: | | |
cd book | |
curl -L https://github.com/rust-lang/mdBook/releases/download/v0.4.5/mdbook-v0.4.5-x86_64-unknown-linux-gnu.tar.gz | tar xz | |
# Add the book directory to the $PATH | |
echo "$GITHUB_WORKSPACE/book" >> $GITHUB_PATH | |
- name: Install mdbook-linkcheck | |
run: cd book && curl -L https://github.com/Michael-F-Bryan/mdbook-linkcheck/releases/download/v0.7.0/mdbook-linkcheck-v0.7.0-x86_64-unknown-linux-gnu.tar.gz | tar xz | |
- name: Build Chalk book | |
run: cd book && ./mdbook build | |
conclusion: | |
needs: [test, fmt] | |
# !cancelled() executes the job regardless of whether the previous jobs passed, failed or get skipped. | |
if: ${{ !cancelled() }} | |
runs-on: ubuntu-latest | |
steps: | |
- name: Conclusion | |
run: | | |
# Print the dependent jobs to see them in the CI log | |
jq -C <<< '${{ toJson(needs) }}' | |
# Check if all jobs that we depend on (in the needs array) were successful. | |
jq --exit-status 'all(.result == "success")' <<< '${{ toJson(needs) }}' |