Skip to content

feat(report): save every deploy report, compare it with the last few, and export it #44

feat(report): save every deploy report, compare it with the last few, and export it

feat(report): save every deploy report, compare it with the last few, and export it #44

Workflow file for this run

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