⬆️ Update Rust crate stacker to v0.1.25 #2074
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: Docs | |
| # yamllint disable-line rule:truthy | |
| on: | |
| push: | |
| pull_request: | |
| workflow_dispatch: | |
| # Cancel superseded runs for the same ref to save CI minutes. | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| permissions: | |
| contents: read | |
| jobs: | |
| examples: | |
| name: Verify documentation examples | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: ⤵️ Check out code from GitHub | |
| uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| with: | |
| persist-credentials: false | |
| - name: 🏗 Set up uv and Python | |
| uses: astral-sh/setup-uv@c771a70e6277c0a99b617c7a806ffedaca235ff9 # v9.0.0 | |
| with: | |
| enable-cache: true | |
| python-version: "3.13" | |
| - name: 🏗 Set up Rust | |
| uses: dtolnay/rust-toolchain@29eef336d9b2848a0b548edc03f92a220660cdb8 # zizmor: ignore[superfluous-actions,stale-action-refs,impostor-commit] stable; canonical pinned Rust toolchain installer | |
| - name: 🏗 Install dependencies | |
| run: uv sync --locked --no-install-project --no-default-groups --group build | |
| - name: 🏗 Build and install yamlrocks | |
| run: uv run --no-sync maturin develop --release --locked | |
| - name: 🚀 Run and verify every documented example | |
| run: uv run --no-sync python docs/verify_examples.py | |
| build: | |
| name: Build the documentation site | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: ⤵️ Check out code from GitHub | |
| uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| with: | |
| persist-credentials: false | |
| - name: 🏗 Set up Node.js | |
| uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 | |
| with: | |
| node-version: "24.19.0" | |
| cache: npm | |
| cache-dependency-path: docs/package-lock.json | |
| - name: 🏗 Install documentation dependencies | |
| working-directory: docs | |
| run: npm ci | |
| - name: 🚀 Build the Astro site | |
| working-directory: docs | |
| run: npm run build | |
| - name: 📦 Upload the Pages artifact | |
| uses: actions/upload-pages-artifact@fc324d3547104276b827a68afc52ff2a11cc49c9 # v5.0.0 | |
| with: | |
| path: docs/dist | |
| deploy: | |
| name: Deploy to GitHub Pages | |
| needs: [examples, build] | |
| # Production only: publish to yaml.rocks on pushes to main (or a manual | |
| # dispatch on main), and never from a fork. The artifact comes from the build | |
| # job above, so nothing is rebuilt and no submodules are cloned here. | |
| if: >- | |
| github.repository == 'frenck/YAMLRocks' | |
| && github.ref == 'refs/heads/main' | |
| && (github.event_name == 'push' || github.event_name == 'workflow_dispatch') | |
| runs-on: ubuntu-latest | |
| permissions: | |
| pages: write # publish to GitHub Pages | |
| id-token: write # OIDC token the deploy-pages action verifies | |
| environment: | |
| name: github-pages | |
| url: ${{ steps.deployment.outputs.page_url }} | |
| steps: | |
| - name: 🚀 Deploy to GitHub Pages | |
| id: deployment | |
| uses: actions/deploy-pages@cd2ce8fcbc39b97be8ca5fce6e763baed58fa128 # v5.0.0 |