Repository navigation
feat(report): save every deploy report, compare it with the last few, and export it #44
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 site | |
| # The docs site (docs/) is a self-contained nested Rails app built with docs-kit. | |
| # It has its own bundle and toolchain, so it gets its own CI job — the gem's Ruby | |
| # workflow (ci.yml) does not touch it. Runs only when docs/ changes. | |
| on: | |
| push: | |
| branches: | |
| - main | |
| paths: | |
| - "docs/**" | |
| - ".github/workflows/docs-ci.yml" | |
| pull_request: | |
| paths: | |
| - "docs/**" | |
| - ".github/workflows/docs-ci.yml" | |
| permissions: | |
| contents: read | |
| # Cancel an in-flight run when a newer commit lands on the same ref, so rapid | |
| # pushes on docs/** don't queue redundant full builds (Ruby + Bun + CSS + tests). | |
| concurrency: | |
| group: docs-ci-${{ github.ref }} | |
| cancel-in-progress: true | |
| defaults: | |
| run: | |
| working-directory: docs | |
| # Bundler 4 defaults to frozen mode in CI, which rejects the docs bundle's | |
| # path gem (`gem "dash", path: ".."`) because its gemspec is re-evaluated per | |
| # checkout. Unfreeze — the lockfile still pins every other gem (the docs | |
| # Dockerfile makes the same call for the same reason). | |
| env: | |
| BUNDLE_FROZEN: "false" | |
| jobs: | |
| docs: | |
| runs-on: ubuntu-latest | |
| name: Build & test | |
| steps: | |
| - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 | |
| with: | |
| persist-credentials: false | |
| - name: Set up Ruby | |
| uses: ruby/setup-ruby@afeafc3d1ab54a631816aba4c914a0081c12ff2f # v1.310.0 | |
| with: | |
| ruby-version: "3.4" | |
| # The docs Gemfile has a path dep on the gem at the repo root, so the | |
| # bundle must resolve against the checked-out repo. Cache scoped to | |
| # docs/Gemfile.lock. | |
| bundler-cache: true | |
| working-directory: docs | |
| - name: Set up Bun | |
| uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2.2.0 | |
| with: | |
| bun-version: latest | |
| - name: Sync lucide icons | |
| run: bin/rails g rails_icons:sync --library=lucide --force --quiet | |
| - name: Build CSS | |
| run: bun install && bun run build:css | |
| - name: Lint | |
| run: bundle exec rake lint | |
| - name: Test | |
| run: bundle exec rspec |