Skip to content

Commit 18347da

Browse files
committed
ci: dispatch a one-off template lockfile parity fix
1 parent 900f3e1 commit 18347da

1 file changed

Lines changed: 52 additions & 27 deletions

File tree

Lines changed: 52 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Update example OpenUI packages
1+
name: Fix template package manager parity
22

33
on:
44
workflow_dispatch:
@@ -8,44 +8,66 @@ permissions:
88
pull-requests: write
99

1010
concurrency:
11-
group: update-example-openui-packages
11+
group: fix-template-package-manager-parity
1212
cancel-in-progress: false
1313

1414
jobs:
15-
update:
15+
fix:
1616
runs-on: ubuntu-latest
1717
steps:
18-
- uses: actions/checkout@v4
18+
- uses: actions/checkout@v6
1919
with:
2020
ref: ${{ github.event.repository.default_branch }}
21-
- uses: actions/setup-node@v4
22-
with:
23-
node-version: 24
24-
25-
- name: Enable pnpm
26-
run: |
27-
corepack enable
28-
corepack prepare pnpm@9.15.4 --activate
2921

30-
- name: Update OpenUI packages
31-
run: pnpm examples:update
22+
- uses: pnpm/action-setup@v6
23+
with:
24+
version: 10.33.0
3225

33-
- name: Install updated dependencies
34-
run: pnpm examples:install
26+
- uses: actions/setup-node@v6
27+
with:
28+
node-version: 20
3529

36-
- name: Verify examples
37-
run: pnpm examples:verify
30+
- name: Refresh template npm lockfiles
31+
run: |
32+
set -euo pipefail
33+
for template in openui-cloud openui-self-hosted; do
34+
rm -rf "templates/${template}/node_modules"
35+
npm install --prefix "templates/${template}" --no-audit --no-fund --progress=false
36+
rm -rf "templates/${template}/node_modules"
37+
done
3838
39-
- name: Create or update dependency pull request
39+
- name: Verify npm/pnpm parity
40+
run: |
41+
set -euo pipefail
42+
for template in openui-cloud openui-self-hosted; do
43+
npm_dir="${RUNNER_TEMP}/${template}-npm"
44+
pnpm_dir="${RUNNER_TEMP}/${template}-pnpm"
45+
rm -rf "$npm_dir" "$pnpm_dir"
46+
cp -R "templates/${template}" "$npm_dir"
47+
cp -R "templates/${template}" "$pnpm_dir"
48+
rm -f "${pnpm_dir}/package-lock.json"
49+
(cd "$npm_dir" && npm ci --prefer-offline --no-audit --no-fund --progress=false)
50+
(cd "$pnpm_dir" && pnpm install)
51+
node packages/openui-cli/scripts/compare-template-installs.mjs "$npm_dir" "$pnpm_dir"
52+
done
53+
54+
- name: Create or update pull request
4055
env:
4156
BASE_BRANCH: ${{ github.event.repository.default_branch }}
4257
GH_TOKEN: ${{ github.token }}
43-
UPDATE_BRANCH: automation/update-example-openui-packages
58+
UPDATE_BRANCH: automation/template-package-manager-parity
4459
run: |
4560
set -euo pipefail
4661
47-
if git diff --quiet -- ':(glob)examples/**/pnpm-lock.yaml' ':(glob)examples/**/package.json'; then
48-
echo "OpenUI example packages are already current."
62+
paths=(
63+
templates/openui-cloud/package-lock.json
64+
templates/openui-self-hosted/package-lock.json
65+
templates/openui-cloud/package.json
66+
templates/openui-self-hosted/package.json
67+
)
68+
69+
if git diff --quiet -- "${paths[@]}"; then
70+
echo "Template lockfiles already match pnpm."
4971
exit 0
5072
fi
5173
@@ -54,8 +76,8 @@ jobs:
5476
git config user.name "github-actions[bot]"
5577
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
5678
git switch -C "$UPDATE_BRANCH"
57-
git add ':(glob)examples/**/pnpm-lock.yaml' ':(glob)examples/**/package.json'
58-
git commit -m "chore(examples): update OpenUI packages"
79+
git add "${paths[@]}"
80+
git commit -m "fix: refresh CLI template lockfiles for npm/pnpm parity"
5981
6082
if [[ -n "$remote_sha" ]]; then
6183
git push --force-with-lease="refs/heads/$UPDATE_BRANCH:$remote_sha" origin "HEAD:refs/heads/$UPDATE_BRANCH"
@@ -69,13 +91,16 @@ jobs:
6991
exit 0
7092
fi
7193
72-
pr_body="Updates every example to the latest published versions of its \`@openuidev/*\` dependencies.
94+
pr_body='## Summary
95+
- Refresh the openui-cloud and openui-self-hosted npm lockfiles so npm ci and a fresh pnpm install resolve the same direct dependency versions.
96+
- Unblocks CLI Template Package Manager Parity on main (next 16.3.4; cloud zod 4.5.4).
7397

74-
The examples were installed from their refreshed lockfiles and all credential-free verification contracts passed before this pull request was created."
98+
## Test plan
99+
- [ ] CLI Template Package Manager Parity is green on this PR'
75100

76101
gh pr create \
77102
--repo "$GITHUB_REPOSITORY" \
78103
--base "$BASE_BRANCH" \
79104
--head "$UPDATE_BRANCH" \
80-
--title "chore(examples): update OpenUI packages" \
105+
--title "fix: refresh CLI template lockfiles for npm/pnpm parity" \
81106
--body "$pr_body"

0 commit comments

Comments
 (0)