Repository navigation
91 lines (81 loc) · 3.38 KB
/
Copy pathtest.yml
File metadata and controls
91 lines (81 loc) · 3.38 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
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
# All checks run on GitHub-hosted runners. Forks can change workflow files,
# so a workflow condition cannot protect a registered workstation runner.
jobs:
harness-proof:
runs-on: ubuntu-latest
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@575a348edd78a65c6b28104a86d6a3401301c913
- run: |
pnpm --filter @skilld/skill-harness-worker types:check
pnpm --filter @skilld/skill-harness-worker typecheck
pnpm --filter @skilld/skill-harness-worker test:run
# .skills/skilld is a synced copy of skills/skilld in skilld-dev/skilld.
# The check fails when the copy, its Agent links, or its declaration drift.
declared-skills:
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- uses: harlan-zw/harlan-nuxt/.github/actions/harlan-desktop-setup@575a348edd78a65c6b28104a86d6a3401301c913
- run: pnpm check:skills
site:
uses: harlan-zw/harlan-nuxt/.github/workflows/harlan-desktop-site-ci.yml@575a348edd78a65c6b28104a86d6a3401301c913
with:
runs-on: '["ubuntu-latest"]'
# Hosted runners have no workstation task cache. Prepare Nuxt before
# typecheck and tests through the reusable workflow's direct commands.
task-cache: false
prepare-command: pnpm dev:prepare
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: ubuntu-latest
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@575a348edd78a65c6b28104a86d6a3401301c913
- 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: ubuntu-latest
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@575a348edd78a65c6b28104a86d6a3401301c913
- run: pnpm build
env:
NODE_OPTIONS: --max-old-space-size=8192