Skip to content

fix(release): scope Release & Container to the surviving CLI image#628

Merged
hyperpolymath merged 2 commits into
mainfrom
ci/scope-release-to-existing-images
Jul 17, 2026
Merged

fix(release): scope Release & Container to the surviving CLI image#628
hyperpolymath merged 2 commits into
mainfrom
ci/scope-release-to-existing-images

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

Problem

release.yml still built a four-image container matrix (cli/adapter/registry/engine) plus a Haskell build+publish pipeline — but three of those were retired:

  • deploy/Containerfile.{adapter,registry,engine} were deleted (1103e4d)
  • the Haskell registry/ and Logtalk engine/ sources were removed (f2fe2df)

So build-and-push and build-docker fail on open Containerfile.engine: no such file or directory, and build-haskell / publish-hackage run cabal against a registry/ that no longer exists.

Logtalk (the SWI-Prolog rule engine) and the Haskell rule registry were early designs, since superseded by the native Elixir ruleset (confirmed by the owner).

Change

  • Drop the build-haskell and publish-hackage jobs.
  • Scope both container matrices (build-docker, build-and-push) to cli.
  • Drop build-haskell from the build-docker / github-release needs.
  • Fix the GitHub-release notes: drop the Registry/Engine components + their docker pull lines; keep Adapters (forge-adapter still ships as a binary in the release archives via build-rust).

The adapter's Rust code is not dead — only its service image was retired; it's still built and shipped as a binary. Recover its image anytime with git show f2fe2df^:deploy/Containerfile.adapter.

Net −113/+18 lines.

Scope notes

  • Pre-existing dangling inputs.dry_run / inputs.version references (from the chore: consolidate 37 workflows → 23 (behaviour-preserving) #258 "consolidate 37 → 23 workflows" merge — no workflow_dispatch.inputs block defines them) are left untouched here; they're a separate correctness fix (the dry-run guard currently never engages).
  • build-docker and build-and-push are near-duplicate container jobs (release semver vs per-push dev); consolidating them is also left for a follow-up.
  • Broader expunge of stale Logtalk/SWI-Prolog references elsewhere in the repo (docs, substrate, paper) is being triaged separately — not bundled here.

Validation (run, not asserted)

  • actionlint: my edits introduce zero new findings and remove two (the deleted build-haskell job's SC2046/SC2035). Remaining findings are all pre-existing on main.
  • No needs: references a removed job; final jobs: prepare, build-rust, build-docker, github-release, build-and-push.

🤖 Generated with Claude Code

release.yml still built a four-image container matrix (cli/adapter/registry/
engine) and a Haskell build+publish pipeline, but three of those were retired:
- `deploy/Containerfile.{adapter,registry,engine}` were deleted (1103e4d), and
- the Haskell `registry/` and Logtalk `engine/` sources were removed (f2fe2df).
So `build-and-push` failed on `open Containerfile.engine: no such file or
directory`, `build-docker` failed the same way, and `build-haskell` /
`publish-hackage` ran `cabal` against a `registry/` that no longer exists.

Logtalk (the SWI-Prolog rule engine) and the Haskell rule registry were early
designs, superseded by the native Elixir ruleset. Scope the workflow to what
still exists:
- Drop the `build-haskell` and `publish-hackage` jobs entirely.
- Scope both container matrices (`build-docker`, `build-and-push`) to `cli`.
- Drop `build-haskell` from the `build-docker` / `github-release` `needs`.
- Fix the GitHub-release notes: drop the Registry/Engine components and their
  `docker pull` lines; keep Adapters (the `forge-adapter` binary still ships in
  the release archives via build-rust).

The adapter's Rust code is NOT dead — only its service image was retired; it is
still built by build-rust and shipped as a binary. Recover its image with
`git show f2fe2df^:deploy/Containerfile.adapter` if one is ever wanted again.

Net: -113/+18 lines. Pre-existing dangling `inputs.dry_run` / `inputs.version`
references (from the #258 consolidation) are left untouched here — separate fix.

Validation: actionlint — my edits introduce zero new findings and remove two
(the deleted build-haskell job's SC2046/SC2035); no `needs:` references a
removed job.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@hyperpolymath
hyperpolymath marked this pull request as ready for review July 17, 2026 23:08
@hyperpolymath
hyperpolymath merged commit f1d2019 into main Jul 17, 2026
27 of 28 checks passed
@hyperpolymath
hyperpolymath deleted the ci/scope-release-to-existing-images branch July 17, 2026 23:08
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.

1 participant