Releases: whuppi/ci
Releases · whuppi/ci
Release list
whuppi/ci 2.4.0
- The opt-in composite sweep now owns every action
uses:ref, not just the
composite blind spot — renamedcomposite-refs→action-refs. It sweeps
every whuppi/ci ref (workflows + composites, uniform) to the latest release AND
pins every third-party action (workflows AND composites) to the latest SHA via
pinact. No more split between Dependabot and a sweep across workflow-vs-composite. - This leaves Dependabot owning only pub deps. Consumers drop the whole
github-actionsecosystem fromdependabot.yml(not justwhuppi/ci*), keep
sweepActions: true+CI_ACTIONS_TOKEN, and get one PR for all action bumps. - The label/branch changed with the rename (
upgrade-action-refs/
chore/action-refs); a consumer on 2.3.0's short-livedcomposite-refsshape
just re-points its wrapper.
whuppi/ci 2.3.0
- Reverted Renovate (added in 2.2.0). Deleted the reusable
renovate.yml. The
self-hosted Renovate machine — a dashboard issue, a per-consumerrenovate.json5,
a status-check/token-scope surface — was far more than the one gap that
actually bit us: compositeaction.ymlrefs Dependabot can't see
(dependabot-core#6704). - Closed that gap in the existing radar instead. New opt-in
composite-refsjob
in the reusableupgrade-check.yml: sweeps every whuppi/ci ref across.github
(workflows AND composites) to the latest release — uniform, so the pin never
splits — and pins third-party actions inside composites to the latest SHA via
pinact. Dependabot keeps pub deps + third-party actions in workflow files;
the two never overlap. A consumer opts in withsweepActions: true+
CI_ACTIONS_TOKENand addswhuppi/ci*to its Dependabotignore. - Added
pinactto the pinned tool supply chain (PINACT_VERSION), owned by
self-upgrade.ymllike actionlint/zizmor. - Renamed the org secret
RENOVATE_TOKEN→CI_ACTIONS_TOKEN(same
Workflows-scope PAT;GITHUB_TOKENstill can't write.github/workflows/).
secrets.sh'sorgscope stays — it's generic.
Commits since v2.2.0 (5)
- cce8645 release: v2.3.0
- c86dbd8 ci: revert Renovate — close the composite-refs gap in the existing radar (#38)
- c832143 ci: restore Renovate configurable log level (revert temp debug) (#37)
- 72a8a34 ci: temp debug logging (diagnose repository-changed) (#36)
- 6917770 ci: Renovate — commit via platform API (fix repository-changed abort) (#35)
whuppi/ci 2.2.0
- Added a reusable
renovate.yml— self-hosted Renovate that each consumer calls
from a thin wrapper (same shape asupgrade-check.yml), running against the
calling repo. It reads compositeaction.yml
(dependabot-core#6704
blind spot), so it keeps whuppi/ci refs uniform and bumps third-party actions
hidden in composites. Needs aRENOVATE_TOKENorg secret (Contents + Workflows +
Pull-requests + Issues: write) — Renovate must write.github/workflows/, which
GITHUB_TOKENcan't. secrets.shgained anorgscope for org-wide secrets (set org/KEY).- Removed the
whuppi-ci-refsjob fromupgrade-check.yml. Renovate replaces it:
the sweep needed a Workflows-scope tokenGITHUB_TOKENcouldn't provide, and
Renovate reads composites natively. Consumers migrate to therenovate.yml
wrapper and drop their Dependabotgithub-actions+pubconfig.
whuppi/ci 2.1.0
- Added a
whuppi-ci-refsjob to the reusableupgrade-check.yml. It sweeps
everywhuppi/ci/…@vX.Y.Zref across a consumer's.github(workflow files
and vendored compositeaction.ymls alike) to the latest release, in one
reviewed PR. Dependabot's github-actions updater never readsuses:refs
inside composite actions
(dependabot-core#6704,
open), so a grouped bump moved only the workflow refs and split the pin, which
pin-availabilitythen rejected. The new job owns that bump and keeps the pin
uniform by construction. Consumers dropwhuppi/ci*from their Dependabot
github-actionsgroup.
whuppi/ci 2.0.5
- Bumped the Chrome-for-testing pin to 150.0.7871.115 (with chromedriver),
sha256s recomputed from the upstream release assets and re-verified by
fetch_verified. The CDN prunes old versions, so consumers on the stale
pin would start 404ing on web-test downloads.
whuppi/ci 2.0.4
- Fixed
--stamp-changelogcrashing on a package's first-ever release.
get_published_versionspiped pub.dev's response straight into jq; for a
never-published package pub.dev returns 404 with an XML body, jq exits 5,
and pipefail killed the publish job (device_io's first publish). A 404 now
means "zero published versions" — the legitimate first-release state —
while any other non-200 still fails loudly, since treating pub.dev
downtime as "nothing published" would misfile real published versions
under the unpublished collapsible.
whuppi/ci 2.0.3
- The 2.0.2 mention escape didn't actually work: GitHub decodes HTML
entities before scanning release notes for mentions, so@immutable
still credited theimmutableorg as a release contributor. Commit-list
@wordtokens are now wrapped in code spans instead — GitHub never
mention-parses code — which also reads better, since these tokens are
code annotations in the first place.
whuppi/ci 2.0.2
- Release notes no longer mention-bomb strangers. The auto-generated commits
collapsible embedded commit subjects verbatim, so a subject containing a
bare@word(@immutable,@override, ...) became a GitHub mention and
credited that account as a release contributor — device_io's first release
listed theimmutableorg. Commit-list@s are now escaped as@,
which renders the same and mentions nobody.
whuppi/ci 2.0.1
- Fixed the
release-toolaction swallowing every output release.sh writes.
The v2.0.0 move from a workspace checkout to a composite action lost the
output plumbing: composite actions only expose inner-step outputs through an
explicitoutputs:mapping, and the action had none. The gate would decide
should_run=true, the caller'ssteps.<id>.outputs.should_runread back
empty, and every downstream job (discover, git-install-note, publish)
skipped — a release run that goes green while releasing nothing. The action
now mapsshould_run,version,tag, andhas_releaseoutward.
whuppi/ci 2.0.0
Two gate changes. MAJOR: a consumer must update its Makefile to adopt.
- Added
tool/verify_web_gate.sh, the shared dual-compiler web gate. It compiles
a consumer's example under bothflutter build web(dart2js) and--wasm
(dart2wasm). The two compilers have different type models, so js-interop code
dart2js accepts (a non-exhaustive JSAny switch, an unsound interop cast)
dart2wasm can reject, and nothing else in the toolchain compiles wasm (the
analyzer and dart2js use the JS model; pana's wasm tag is an import heuristic).
A JS-only build is a false green. Registered instamped-files.txt. - The stamped gates no longer default their SDK/config env vars. A
${VAR:-fvm dart}fallback silently diverges a laptop from CI, so
analyze_core,platforms_gate, andverify_web_gatenow require
DART/FLUTTER/EXPECTED_PLATFORMSand fail loud if unset. The one
default lives in the consumer's Makefile, which passes them explicitly.
Adopting: re-stamp all gates, pass EXPECTED_PLATFORMS from make platforms,
and wire make verify-web to the new gate.