mirror of
https://github.com/NanmiCoder/cc-haha
synced 2026-07-27 15:13:37 +08:00
ci: unblock change-policy on the merge PR
Two fork-vs-upstream gaps surfaced when PR Quality ran against
8d914596 (the upstream v0.4.1 merge):
1. `bun run check:policy` failed with `Cannot find package 'yaml'`
because the change-policy job in pr-quality.yml had no
`bun install` step. Other lanes (server-checks, desktop-checks,
adapter-checks, coverage-checks) all install root deps before
running their checks; change-policy was the outlier. Upstream's
release-update-metadata.test.ts started importing `yaml` from
the root package.json, so the missing install step finally bit.
Fix: add the missing `bun install` step. Lockfile already pins
yaml@2.8.3, so this is a no-op everywhere else.
2. Two assertions in scripts/pr/release-workflow.test.ts were
written against the upstream identity (NanmiCoder/cc-haha) but
commit 3cbed50c on this fork repointed desktop/package.json
`homepage` and `build.publish.owner` to 706412584/cc-haha
without updating the tests. The merge brought the upstream
tests forward and the fork-only desktop config conflict was
immediately. Both assertions are now fork-friendly:
- homepage: regex `https://github.com/<owner>/cc-haha`
- publish: explicit github provider + repo cc-haha, owner
can be any non-empty identifier.
Author name/email and Linux maintainer assertions are kept
strict because commit 3cbed50c intentionally preserved them.
Tested:
- `bun run check:policy` locally: 81/83 pass. The single
remaining failure (`release workflow records macOS signing
state and warns for unsigned builds`) is a Windows-only CRLF
mismatch in a regex that uses `fi\n` against a workflow file
with CRLF line endings. CI runs on Ubuntu and the test passes
upstream, so this does not block the PR.
Confidence: high
Scope-risk: narrow (CI workflow + test, no product code touched).
This commit is contained in:
parent
8d91459610
commit
d59819c5c3
3
.github/workflows/pr-quality.yml
vendored
3
.github/workflows/pr-quality.yml
vendored
@ -37,6 +37,9 @@ jobs:
|
||||
with:
|
||||
bun-version: latest
|
||||
|
||||
- name: Install root dependencies
|
||||
run: bun install
|
||||
|
||||
- name: Run policy tests
|
||||
run: bun run check:policy
|
||||
|
||||
|
||||
@ -81,7 +81,11 @@ describe('release desktop workflow', () => {
|
||||
}
|
||||
|
||||
expect(desktopPackage.description).toBeTruthy()
|
||||
expect(desktopPackage.homepage).toBe('https://github.com/NanmiCoder/cc-haha')
|
||||
// This fork (706412584/cc-haha) republishes desktop builds under its own
|
||||
// GitHub homepage while keeping NanmiCoder's author attribution. Upstream
|
||||
// (NanmiCoder/cc-haha) uses its own homepage; both are valid release-time
|
||||
// shapes, so accept either.
|
||||
expect(desktopPackage.homepage).toMatch(/^https:\/\/github\.com\/[^/]+\/cc-haha$/)
|
||||
expect(desktopPackage.author?.name).toBe('NanmiCoder')
|
||||
expect(desktopPackage.author?.email).toBe('relakkes@gmail.com')
|
||||
expect(desktopPackage.build?.linux?.maintainer).toBe('NanmiCoder <relakkes@gmail.com>')
|
||||
@ -305,13 +309,18 @@ describe('release desktop workflow', () => {
|
||||
}
|
||||
}
|
||||
|
||||
expect(desktopPackage.build.publish).toEqual([
|
||||
{
|
||||
// The fork (706412584/cc-haha) republishes desktop builds under its own
|
||||
// GitHub owner; upstream (NanmiCoder/cc-haha) uses its own. Both are
|
||||
// valid release-time shapes — we only require that publish is pinned to
|
||||
// GitHub with explicit owner/repo (no autodetect from git remote).
|
||||
expect(desktopPackage.build.publish).toHaveLength(1)
|
||||
expect(desktopPackage.build.publish?.[0]).toEqual(
|
||||
expect.objectContaining({
|
||||
provider: 'github',
|
||||
owner: 'NanmiCoder',
|
||||
owner: expect.stringMatching(/^[\w-]+$/),
|
||||
repo: 'cc-haha',
|
||||
},
|
||||
])
|
||||
}),
|
||||
)
|
||||
expect(desktopPackage.build.mac?.publish).toBeUndefined()
|
||||
expect(desktopPackage.build.win?.publish).toBeUndefined()
|
||||
expect(desktopPackage.build.linux?.publish).toBeUndefined()
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user