Skip to content

Commit 4090797

Browse files
authored
chore: test against EmDash 1.0.1 (#21)
* chore(analytics): test against EmDash 1.0.1 instead of the release candidate * fix(content-freshness): fit the manifest description into 140 characters * ci: run each EmDash version in its own job
1 parent dd7b9db commit 4090797

7 files changed

Lines changed: 67 additions & 24 deletions

File tree

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@eisbachcode/emdash-plugin-analytics": patch
3+
---
4+
5+
Tested on EmDash 1.0.1, the first stable release; no change was needed.

‎.github/workflows/compat-matrix.yml‎

Lines changed: 34 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,14 @@
33
# Deliberately NOT named emdash-release.yml: `emdash-plugin release setup`
44
# generates that file, and this must not collide with it.
55
#
6-
# Two jobs, because they answer different questions:
6+
# Three jobs, because they answer different questions:
77
#
8-
# declared gating. The versions inside our published range. A failure here
9-
# is our regression and blocks the branch.
8+
# tests gating. Typecheck, manifest validation and every suite on the
9+
# EmDash version each package's harness pins. This is the
10+
# baseline that tells a harness breakage from a plugin regression.
11+
# declared gating, one job per version so they run in parallel. The
12+
# versions inside our published range. A failure here is our
13+
# regression and blocks the branch.
1014
# latest informational, never blocks. Runs against whatever EmDash is
1115
# current on npm. EmDash ships a minor every 6-8 days and any minor
1216
# may carry breaking changes, so this is the signal to widen the
@@ -26,9 +30,13 @@ on:
2630
permissions:
2731
contents: read
2832

33+
concurrency:
34+
group: ${{ github.workflow }}-${{ github.ref }}
35+
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
36+
2937
jobs:
30-
declared:
31-
name: declared range
38+
tests:
39+
name: tests
3240
runs-on: ubuntu-latest
3341
steps:
3442
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
@@ -41,7 +49,26 @@ jobs:
4149
cache: pnpm
4250
- run: pnpm install --frozen-lockfile
4351
- run: pnpm typecheck
44-
- run: ./scripts/compat-matrix.sh 0.39.0 0.39.1 0.40.0 0.40.1 0.41.0 0.42.0 1.0.1-rc.0:0.2.6-rc.0
52+
# One package at a time, like the compat script: suites running in
53+
# parallel on one runner are untested.
54+
- run: pnpm --filter "./packages/*" --workspace-concurrency=1 run test
55+
56+
declared:
57+
name: EmDash ${{ matrix.emdash }}
58+
runs-on: ubuntu-latest
59+
strategy:
60+
fail-fast: false
61+
matrix:
62+
emdash: [0.39.0, 0.39.1, 0.40.0, 0.40.1, 0.41.0, 0.42.0, "1.0.1:0.2.6"]
63+
steps:
64+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
65+
- uses: pnpm/action-setup@ea17c68df8912ef543352723c149a84f56e3d413 # v6.1.0
66+
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
67+
with:
68+
node-version-file: .nvmrc
69+
cache: pnpm
70+
- run: pnpm install --frozen-lockfile
71+
- run: ./scripts/compat-matrix.sh --no-baseline "${{ matrix.emdash }}"
4572

4673
latest:
4774
name: current EmDash (informational)
@@ -67,4 +94,4 @@ jobs:
6794
echo "harness=$(npm view @emdash-cms/plugin-test dist-tags.latest)" >> "$GITHUB_OUTPUT"
6895
- run: |
6996
echo "current EmDash on npm: ${{ steps.resolve.outputs.version }} (plugin-test ${{ steps.resolve.outputs.harness }})"
70-
./scripts/compat-matrix.sh "${{ steps.resolve.outputs.version }}:${{ steps.resolve.outputs.harness }}"
97+
./scripts/compat-matrix.sh --no-baseline "${{ steps.resolve.outputs.version }}:${{ steps.resolve.outputs.harness }}"

‎AGENTS.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ pnpm install
4343
pnpm typecheck
4444
pnpm test # emdash-plugin validate, then vitest, per package
4545
pnpm build
46-
./scripts/compat-matrix.sh 0.39.0 0.39.1 0.40.0 0.40.1 0.41.0 0.42.0 1.0.1-rc.0:0.2.6-rc.0 # suites against other EmDash releases
46+
./scripts/compat-matrix.sh 0.39.0 0.39.1 0.40.0 0.40.1 0.41.0 0.42.0 1.0.1:0.2.6 # suites against other EmDash releases
4747
```
4848

4949
## Releases

‎packages/analytics/README.md‎

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,7 @@ entry that earned them rather than to a URL string.
99
> **Status: early releases.** Cloudflare Web Analytics plus demo data: a
1010
> dashboard widget, an Analytics page with a setup check, a per-entry page,
1111
> an Analytics panel in the entry editor and four read-only MCP tools.
12-
> Tested on EmDash 0.39 to 0.42 and on the 1.0 release candidate
13-
> (1.0.1-rc.0). See "Not in this version".
12+
> Tested on EmDash 0.39 to 1.0. See "Not in this version".
1413
1514
The screenshots show demo data on a site made from EmDash's blog template.
1615

‎packages/content-freshness/emdash-plugin.jsonc‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
"release": {
1919
"requires": { "env:emdash": ">=0.39.0" }
2020
},
21-
"description": "Audits your content for staleness: entries untouched for too long, missing or badly sized SEO descriptions, forgotten drafts, schedules that never fired, and collections without a URL pattern.",
21+
"description": "Audits your content: stale entries, weak or missing SEO descriptions, forgotten drafts, schedules that never fired and missing URL patterns.",
2222
"keywords": ["content", "audit", "seo", "maintenance", "editorial"],
2323

2424
// Trust contract: read content and the collection list, nothing else.

‎pnpm-workspace.yaml‎

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -21,15 +21,15 @@ allowBuilds:
2121
strictDepBuilds: true
2222
dangerouslyAllowAllBuilds: false
2323
minimumReleaseAgeExclude:
24-
- '@emdash-cms/admin@0.39.0 || 0.40.1 || 0.42.0 || 1.0.1-rc.0'
25-
- '@emdash-cms/auth@0.39.0 || 0.40.1 || 0.42.0 || 1.0.1-rc.0'
26-
- '@emdash-cms/blocks@0.39.0 || 0.40.1 || 0.42.0 || 1.0.1-rc.0'
27-
- '@emdash-cms/cloudflare@0.39.0 || 0.40.1 || 0.42.0 || 1.0.1-rc.0'
28-
- '@emdash-cms/gutenberg-to-portable-text@0.39.0 || 0.40.1 || 0.42.0 || 1.0.1-rc.0'
29-
- '@emdash-cms/plugin-cli@0.12.0 || 0.13.0'
30-
- '@emdash-cms/plugin-test@0.2.0 || 0.2.3 || 0.2.5 || 0.2.6-rc.0'
24+
- '@emdash-cms/admin@0.39.0 || 0.40.1 || 0.42.0 || 1.0.1'
25+
- '@emdash-cms/auth@0.39.0 || 0.40.1 || 0.42.0 || 1.0.1'
26+
- '@emdash-cms/blocks@0.39.0 || 0.40.1 || 0.42.0 || 1.0.1'
27+
- '@emdash-cms/cloudflare@0.39.0 || 0.40.1 || 0.42.0 || 1.0.1'
28+
- '@emdash-cms/gutenberg-to-portable-text@0.39.0 || 0.40.1 || 0.42.0 || 1.0.1'
29+
- '@emdash-cms/plugin-cli@0.12.0 || 0.13.1'
30+
- '@emdash-cms/plugin-test@0.2.0 || 0.2.3 || 0.2.6'
3131
- '@emdash-cms/plugin-types@0.4.0 || 0.5.0'
3232
- '@emdash-cms/registry-client@0.6.1 || 0.7.0'
3333
- '@emdash-cms/registry-lexicons@0.6.0 || 0.7.0'
3434
- '@emdash-cms/registry-verification@0.3.2 || 0.3.3'
35-
- emdash@0.39.0 || 0.40.1 || 0.42.0 || 1.0.1-rc.0
35+
- emdash@0.39.0 || 0.40.1 || 0.42.0 || 1.0.1

‎scripts/compat-matrix.sh‎

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,15 +21,24 @@
2121
# (`emdash/plugin-test-runtime` became `emdash/internal/plugin-test-runtime`),
2222
# so no harness before plugin-test 0.2.6 can start a 1.0 host. A version
2323
# written as `version:harness` also overrides plugin-test, for example
24-
# `1.0.1-rc.0:0.2.6-rc.0`.
24+
# `1.0.1:0.2.6`.
2525
#
26-
# Usage: scripts/compat-matrix.sh [version[:harness]...] (default: 0.39.1 0.40.0)
26+
# `--no-baseline` skips the baseline row, for CI jobs that each run one
27+
# version while a separate job runs the suites on their pinned host.
28+
#
29+
# Usage: scripts/compat-matrix.sh [--no-baseline] [version[:harness]...] (default: 0.39.1 0.40.0)
2730

2831
set -euo pipefail
2932

3033
ROOT="$(git rev-parse --show-toplevel)"
3134
cd "$ROOT"
3235

36+
BASELINE=1
37+
if [ "${1:-}" = "--no-baseline" ]; then
38+
BASELINE=0
39+
shift
40+
fi
41+
3342
VERSIONS=("${@:-}")
3443
[ -z "${VERSIONS[0]:-}" ] && VERSIONS=(0.39.1 0.40.0)
3544

@@ -100,8 +109,10 @@ run_suites() {
100109
done
101110
}
102111

103-
echo "baseline (harness's own pinned host, no overrides)"
104-
run_suites "baseline"
112+
if [ "$BASELINE" -eq 1 ]; then
113+
echo "baseline (harness's own pinned host, no overrides)"
114+
run_suites "baseline"
115+
fi
105116

106117
for spec in "${VERSIONS[@]}"; do
107118
v="${spec%%:*}"
@@ -127,7 +138,8 @@ printf '%-26s %-12s' "package" "baseline"
127138
for spec in "${VERSIONS[@]}"; do printf '%-12s' "${spec%%:*}"; done
128139
echo
129140
for p in "${PKGS[@]}"; do
130-
printf '%-26s %-12s' "$p" "$(lookup baseline "$p")"
141+
if [ "$BASELINE" -eq 1 ]; then base="$(lookup baseline "$p")"; else base="skipped"; fi
142+
printf '%-26s %-12s' "$p" "$base"
131143
for spec in "${VERSIONS[@]}"; do printf '%-12s' "$(lookup "${spec%%:*}" "$p")"; done
132144
echo
133145
done

0 commit comments

Comments
 (0)