Skip to content

chore(lock): refresh bundles.lock — redis 6.2.0 → 6.3.0 (closes #38)#89

Merged
phramz merged 1 commit into
mainfrom
lockfile-redis-6.3.0
Apr 27, 2026
Merged

chore(lock): refresh bundles.lock — redis 6.2.0 → 6.3.0 (closes #38)#89
phramz merged 1 commit into
mainfrom
lockfile-redis-6.3.0

Conversation

@phramz

@phramz phramz commented Apr 27, 2026

Copy link
Copy Markdown
Contributor

Summary

Manually-regenerated `bundles.lock` from `phpup lockfile-update` against `ghcr.io/buildrush`. This is the lockfile commit the post-#76 `publish` job tried to make automatically but couldn't (workflow→ruleset chain documented below).

Changes

  • Replaces 8 `ext:redis:6.2.0:{8.1..8.4}:linux:{x86_64,aarch64}:nts` entries with the corresponding 6.3.0 entries.
  • Adds 2 new `ext:redis:6.3.0:8.5:linux:{x86_64,aarch64}:nts` entries (8.5 was previously excluded for redis).
  • Refreshes digest/spec_hash on existing entries that re-published during the fix chain. Per `internal/testsuite/runner.go:345-346`, manifest digests are non-reproducible across pushes because `meta.json` carries a build-time timestamp — this is expected and not a regression.

Sanity check: only 18 bundle keys change (8 redis 6.2.0 removals + 10 redis 6.3.0 additions). All other line-level diff is within-entry digest/spec_hash refresh.

Why a manual PR

PR #76 (the redis catalog bump) merged on 2026-04-25 but couldn't trigger the auto-publish flow because of a four-link CI chain:

# Issue Fixed in
1 `smoke-action` resolved bundles via committed lockfile + GHCR — version-bump PRs deadlocked because their changes weren't yet on GHCR #85
2 `publish` job's lockfile auto-commit step had `contents:read` perms (workflow-default) — `git push` 403'd #86
3 `phpup push` derived `sha256-` tags instead of canonical `----` — bundles landed on GHCR but invisible to `lockfile-update` #87
4 `actions/download-artifact` with `merge-multiple: true` overwrote each cell's `oci-layout/index.json` — only one cell's manifests reached `phpup push` #88
5 Repository ruleset (`Changes must be made through a pull request`) blocks the publish job's direct `git push` to main outstanding — see below

GHCR is now correct for all 10 redis 6.3.0 cells (verified: `gh api 'orgs/buildrush/packages/...'` shows full canonical-tag set). This PR is the lockfile catch-up that should have happened automatically post-#76.

Outstanding follow-up

The publish job still can't auto-commit `bundles.lock` because of #5 (ruleset). Options for a follow-up PR:

  • (a) Switch publish from direct push to `peter-evans/create-pull-request` (or equivalent) so the auto-commit lands as a bot-PR.
  • (b) Grant the github-actions identity a ruleset bypass (admin settings, no code).

Until either lands, version-bump PRs need this manual lockfile-update PR step (predictable, ~1 min effort).

Verification

After this merges, end users on `@main` get a working redis 6.3.0 install on PHP 8.5 (and consistent on 8.1–8.4 against the new pin).

`make check` is unchanged (no Go source change). CI on this PR will smoke-test the action surface against the freshly-tagged GHCR bundles via PR #85's PR-self-containment path — the first end-to-end validation of the whole chain.

Closes #38.

Manually-regenerated bundles.lock from `phpup lockfile-update` against
ghcr.io/buildrush. Replaces the 8 existing `ext:redis:6.2.0:{8.1..8.4}:*`
entries with the corresponding 6.3.0 entries, and adds 2 new
`ext:redis:6.3.0:8.5:*` entries (8.5 was previously excluded for
redis pre-#76).

Brings main back to a fully consistent state — catalog, lockfile, and
GHCR all agree on redis 6.3.0 — completing the work started in #76.

The non-redis line-level churn in this diff is in-entry digest/spec_hash
refresh from the multiple publish runs that fired during the chain of
fixes (#85, #86, #87, #88). Bundle keys themselves are unchanged
outside of redis. Per internal/testsuite/runner.go:345-346, manifest
digests are non-reproducible across pushes because meta.json carries a
build-time timestamp; this is expected behavior, not a regression.

Why this is committed by hand rather than auto-committed by the publish
job: the publish job's git push is rejected by the main-branch ruleset
("Changes must be made through a pull request"). A follow-up will
either switch the auto-commit to a bot-PR flow or grant the publish
identity a ruleset bypass; until then, version-bump PRs require this
manual lockfile-update PR step.
@phramz
phramz merged commit 9612bef into main Apr 27, 2026
28 checks passed
@phramz
phramz deleted the lockfile-redis-6.3.0 branch April 27, 2026 12:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Bump redis PECL from 6.2.0 to 6.3.0 for PHP 8.5 support

1 participant