Repository navigation
feat(home): lead the hero with what sets skilld apart #1292
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: Test | |
| # The pull request gate. The three jobs carried three copies of the same four | |
| # setup steps; they now come from harlan-zw/harlan-nuxt so every site shares one | |
| # pinned copy. | |
| # | |
| # Pull request builds run separately from typechecks. Main reuses the deploy build. | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| permissions: | |
| contents: read | |
| concurrency: | |
| group: test-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| harness-proof: | |
| runs-on: [self-hosted, linux, x64, harlan-desktop-ci] | |
| timeout-minutes: 15 | |
| steps: | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| with: | |
| persist-credentials: false | |
| - uses: harlan-zw/harlan-nuxt/.github/actions/harlan-desktop-setup@main | |
| - run: | | |
| pnpm --filter @skilld/skill-harness-worker types:check | |
| pnpm --filter @skilld/skill-harness-worker typecheck | |
| pnpm --filter @skilld/skill-harness-worker test:run | |
| harlan-desktop: | |
| uses: harlan-zw/harlan-nuxt/.github/workflows/harlan-desktop-site-ci.yml@main | |
| with: | |
| # Ephemeral containers on the workstation. Safe here because the | |
| # repository is private; a self-hosted runner on a public repository would | |
| # let a fork pull request run code on that host. | |
| runs-on: '["self-hosted", "linux", "x64", "harlan-desktop-ci"]' | |
| # Each check runs through `pnpm pipeline`, so an unchanged task restores | |
| # from the pool's shared cache volume instead of re-running. The graph | |
| # lives in pnpm-workspace.yaml: vitest still gets its `.nuxt/tsconfig.json` | |
| # because every pipeline runs `dev:prepare` as a cacheable task. | |
| task-cache: true | |
| timeout-minutes: 30 | |
| # The only gate between a merge and production. `Deploy to Cloudflare` fires on | |
| # this workflow's success for main, so a failure here stops the deploy. | |
| # | |
| # The main push runs it, pull requests do not: a site change cannot add a | |
| # command to the published CLI, so gating every pull request on the CLI | |
| # release would just hold unrelated work. The check clears itself once npm | |
| # `latest` carries the printed grammar. To deploy before then, run | |
| # `Deploy to Cloudflare` by hand. | |
| published-cli-grammar: | |
| if: github.event_name == 'push' | |
| runs-on: [self-hosted, linux, x64, harlan-desktop-ci] | |
| # The desktop pool re-downloads the Node tarball in every ephemeral | |
| # container, and a saturated shared uplink has measured 9.5 minutes for | |
| # that one step. The check itself takes seconds; give the setup the same | |
| # 30-minute budget as every other job on this pool. | |
| timeout-minutes: 30 | |
| steps: | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| with: | |
| persist-credentials: false | |
| - uses: harlan-zw/harlan-nuxt/.github/actions/harlan-desktop-setup@main | |
| - run: pnpm cli:grammar | |
| build: | |
| # Main builds in the deploy workflow. Keep the build check on pull requests. | |
| if: github.event_name == 'pull_request' | |
| runs-on: [self-hosted, linux, x64, harlan-desktop-ci] | |
| timeout-minutes: 30 | |
| steps: | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| with: | |
| persist-credentials: false | |
| - uses: harlan-zw/harlan-nuxt/.github/actions/harlan-desktop-setup@main | |
| # The desktop runner sends SIGHUP after 45 seconds without output. | |
| # Nitro can bundle longer than that, so the wrapper emits a heartbeat. | |
| - run: pnpm exec tsx scripts/run-with-heartbeat.ts pnpm build | |
| env: | |
| NODE_OPTIONS: --max-old-space-size=8192 |