sdk%feat(doc): introduce Zensical-based documentation site, WASM-based demos, GitHub Pages workflow #32
Workflow file for this run
This file contains hidden or 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: MSRV (1.85) | |
| on: | |
| push: | |
| branches: [develop] | |
| pull_request: | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
| cancel-in-progress: true | |
| permissions: | |
| contents: read | |
| jobs: | |
| lint: | |
| name: Lint | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| with: | |
| fetch-depth: 100 | |
| - name: Run pull request checks | |
| if: github.event_name == 'pull_request' | |
| shell: bash | |
| run: | | |
| source .github/ci.env | |
| commits=${{ github.event.pull_request.commits }} | |
| if [ "${commits}" -gt "${MAX_PR_COMMITS}" ]; then | |
| echo "::error::PR has ${commits} commits (limit: ${MAX_PR_COMMITS})" | |
| exit 1 | |
| fi | |
| - name: Install Rust toolchain | |
| uses: dtolnay/rust-toolchain@1.85.0 | |
| with: | |
| components: rustfmt | |
| - name: Set up Node.js | |
| uses: actions/setup-node@v5 | |
| with: | |
| node-version: 24 | |
| - name: Set up Python | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version-file: pyproject.toml | |
| - name: Install Python dependencies | |
| run: pip install ".[dev]" | |
| - name: Install CodeQL | |
| id: setup-codeql | |
| uses: github/codeql-action/setup-codeql@v4.36.2 | |
| with: | |
| tools: linked | |
| - name: Setup CodeQL | |
| run: echo "$(dirname '${{ steps.setup-codeql.outputs.codeql-path }}')" >> "$GITHUB_PATH" | |
| - name: Restore cargo registry | |
| uses: actions/cache/restore@v5 | |
| with: | |
| path: | | |
| ~/.cargo/registry | |
| ~/.cargo/git | |
| key: cargo-deps-${{ hashFiles('Cargo.lock', 'contrib/samples/Cargo.lock') }} | |
| restore-keys: cargo-deps- | |
| - name: Restore build artifacts | |
| uses: actions/cache/restore@v5 | |
| with: | |
| path: target | |
| key: cargo-build-msrv-${{ runner.os }}-${{ runner.arch }}-${{ github.sha }} | |
| restore-keys: | | |
| cargo-build-msrv-${{ runner.os }}-${{ runner.arch }}- | |
| - name: Manage CodeQL packs | |
| uses: actions/cache@v5 | |
| with: | |
| path: ~/.codeql | |
| key: codeql-packs-${{ hashFiles('contrib/codeql/codeql-pack.lock.yml') }} | |
| - name: Run linters | |
| run: python3 contrib/lint_all.py | |
| env: | |
| RUSTUP_TOOLCHAIN: 1.85.0 | |
| - name: Check PR commit messages | |
| if: github.event_name == 'pull_request' | |
| run: > | |
| python3 contrib/lint/lint_unconv.py | |
| -r "${{ github.event.pull_request.base.sha }}..${{ github.event.pull_request.head.sha }}" | |
| build: | |
| name: Build and test | |
| runs-on: ubuntu-24.04-arm | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| with: | |
| fetch-depth: 1 | |
| - name: Run pull request checks | |
| if: github.event_name == 'pull_request' | |
| shell: bash | |
| run: | | |
| source .github/ci.env | |
| commits=${{ github.event.pull_request.commits }} | |
| if [ "${commits}" -gt "${MAX_PR_COMMITS}" ]; then | |
| echo "::error::PR has ${commits} commits (limit: ${MAX_PR_COMMITS})" | |
| exit 1 | |
| fi | |
| - name: Install Rust toolchain | |
| uses: dtolnay/rust-toolchain@1.85.0 | |
| - name: Restore cargo registry | |
| uses: actions/cache/restore@v5 | |
| with: | |
| path: | | |
| ~/.cargo/registry | |
| ~/.cargo/git | |
| key: cargo-deps-${{ hashFiles('Cargo.lock', 'contrib/samples/Cargo.lock') }} | |
| restore-keys: cargo-deps- | |
| - name: Manage build artifacts | |
| uses: actions/cache@v5 | |
| with: | |
| path: target | |
| key: cargo-build-msrv-${{ runner.os }}-${{ runner.arch }}-${{ github.sha }} | |
| restore-keys: | | |
| cargo-build-msrv-${{ runner.os }}-${{ runner.arch }}- | |
| - name: Build workspace | |
| run: cargo build --workspace --features full,_internal | |
| - name: Test workspace | |
| run: cargo test --workspace --features full,_internal |