fix(release): scope Release & Container to the surviving CLI image#628
Merged
Conversation
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
marked this pull request as ready for review
July 17, 2026 23:08
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
release.ymlstill 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)registry/and Logtalkengine/sources were removed (f2fe2df)So
build-and-pushandbuild-dockerfail onopen Containerfile.engine: no such file or directory, andbuild-haskell/publish-hackageruncabalagainst aregistry/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
build-haskellandpublish-hackagejobs.build-docker,build-and-push) tocli.build-haskellfrom thebuild-docker/github-releaseneeds.docker pulllines; keep Adapters (forge-adapterstill ships as a binary in the release archives viabuild-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
inputs.dry_run/inputs.versionreferences (from the chore: consolidate 37 workflows → 23 (behaviour-preserving) #258 "consolidate 37 → 23 workflows" merge — noworkflow_dispatch.inputsblock defines them) are left untouched here; they're a separate correctness fix (the dry-run guard currently never engages).build-dockerandbuild-and-pushare near-duplicate container jobs (release semver vs per-push dev); consolidating them is also left for a follow-up.Validation (run, not asserted)
actionlint: my edits introduce zero new findings and remove two (the deletedbuild-haskelljob's SC2046/SC2035). Remaining findings are all pre-existing onmain.needs:references a removed job; final jobs:prepare,build-rust,build-docker,github-release,build-and-push.🤖 Generated with Claude Code