-
Notifications
You must be signed in to change notification settings - Fork 0
116 lines (96 loc) · 3.96 KB
/
Copy pathdocumentation.yml
File metadata and controls
116 lines (96 loc) · 3.96 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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
name: Documentation Checks
on:
pull_request:
push:
branches:
- main
workflow_dispatch:
permissions: {}
concurrency:
group: documentation-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
site:
name: Documentation links, language, and browser accessibility
runs-on: ${{ github.ref == 'refs/heads/main' && vars.HEAVY_RUNNER || 'ubuntu-latest' }}
timeout-minutes: 20
permissions:
contents: read
env:
PLAYWRIGHT_WORKERS: "4"
steps:
- name: Check out source
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 the locked documentation toolchain
working-directory: docs
run: npm ci
- name: Check the site build, links, metadata, terminology, and spelling
working-directory: docs
run: npm run docs:check
- name: Check the Worker header and cache policy
working-directory: docs
run: npm run docs:worker:test
- name: Check the preview identity helpers
working-directory: docs
run: npm run docs:preview:test
# The Legion target and version-control identity resolvers fail closed and
# run in the build and in both checkers, so their rejection paths are
# covered directly rather than only through a built site.
- name: Check the published-identity resolvers against fixtures
working-directory: docs
run: |
npm run docs:legion:test
npm run docs:version:test
# Reads wrangler.jsonc and cloudflare/headers.ts, which the release
# source snapshot deliberately excludes, so this cannot join docs:check.
- name: Check the deploy contract against the built site
working-directory: docs
run: npm run docs:check:deploy
# The contract checker has its own fixture suite; running it here keeps a
# regression in the checker from passing as a clean site.
- name: Check the deploy contract checker against fixtures
working-directory: docs
run: npm run docs:check:deploy:test
- name: Check the preview smoke assertions against fixtures
working-directory: docs
run: |
npm run docs:smoke:test
npm run docs:smoke:target:test
# ReadMe → ECN link rewrite logic against local fixtures only (no live docs).
- name: Check the ReadMe to ECN crawler against fixtures
working-directory: docs
run: npm run docs:crawl:readme:test
- name: Check the public URL compatibility gate against fixtures
working-directory: docs
run: npm run docs:compat:test
- name: Check promote identity and over-capture probe fixtures
working-directory: docs
run: |
npm run docs:promote:test
npm run docs:probe:readme:test
# Real Workers Static Assets behaviour (MIME, 404 page, caching) without
# Cloudflare credentials, so a candidate is checked before it is uploaded.
- name: Smoke the Worker locally over the built site
env:
WRANGLER_SEND_METRICS: false
working-directory: docs
run: npm run docs:smoke:local
- name: Install the locked browser runtime
working-directory: docs
run: npm run docs:test:browser:install -- --with-deps
- name: Check keyboard navigation and rendered accessibility
working-directory: docs
run: npm run docs:test:browser
# Focused Worker-served journeys (nav, search, 404, samples). Not the full
# offline suite; that stays against the static server above.
- name: Check delivery journeys against the local Worker
working-directory: docs
run: npm run docs:test:delivery