From 767764adbc74c44516e15d448bf271caada65c06 Mon Sep 17 00:00:00 2001 From: Steven Welch Date: Sat, 19 Sep 2026 12:54:45 -0600 Subject: [PATCH] deprecate(opencode-sms-bridge): exclude from build selection and stop publication Filter opencode-sms-bridge out of every Makefile selection target (changed-images, list-images, list-images-json) so automatic matrix detection can never select it for build, push, or attestation. Reject a manual workflow_dispatch image input that names a retired or unknown directory by validating it against make list-images-json, failing the detect job before the build and attest jobs run. Add a deprecation notice to the image README. Source, Containerfile, and tests are retained; existing GHCR tags and attestations are untouched. --- .github/workflows/buildah.yml | 4 ++++ Makefile | 8 +++++--- opencode-sms-bridge/README.md | 2 ++ 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/.github/workflows/buildah.yml b/.github/workflows/buildah.yml index cc59c91..d4dcb05 100644 --- a/.github/workflows/buildah.yml +++ b/.github/workflows/buildah.yml @@ -109,6 +109,10 @@ jobs: INPUT_IMAGE: ${{ inputs.image }} run: | if [ -n "$INPUT_IMAGE" ]; then + if ! make list-images-json | jq -e --arg img "$INPUT_IMAGE" 'index($img) != null' > /dev/null; then + echo "::error::$INPUT_IMAGE is not a buildable image directory (unknown or retired); refusing to select it for build." + exit 1 + fi echo "images=[\"$INPUT_IMAGE\"]" >> "$GITHUB_OUTPUT" elif [ "${{ github.event_name }}" = "workflow_dispatch" ]; then echo "images=$(make list-images-json)" >> "$GITHUB_OUTPUT" diff --git a/Makefile b/Makefile index 6773c2a..3656bcf 100644 --- a/Makefile +++ b/Makefile @@ -3,12 +3,14 @@ SHELL := /bin/bash IMAGES := $(shell find . -maxdepth 2 -name Containerfile -printf '%h\n' | cut -d'/' -f2 | sort -u) +RETIRED_IMAGES := opencode-sms-bridge +IMAGES := $(filter-out $(RETIRED_IMAGES),$(IMAGES)) help: @echo "Available targets:" - @echo " list-images - List all image directories (one per line)" - @echo " list-images-json - List all image directories as JSON array" - @echo " changed-images - List images with changes since HEAD~1 as JSON array" + @echo " list-images - List buildable image directories (one per line)" + @echo " list-images-json - List buildable image directories as JSON array" + @echo " changed-images - List buildable images with changes since HEAD~1 as JSON array" changed-images: @changed=$$(git diff --name-only HEAD~1 HEAD 2>/dev/null | cut -d'/' -f1 | sort -u); \ diff --git a/opencode-sms-bridge/README.md b/opencode-sms-bridge/README.md index 8503528..f579475 100644 --- a/opencode-sms-bridge/README.md +++ b/opencode-sms-bridge/README.md @@ -1,5 +1,7 @@ # OpenCode SMS bridge +> **Deprecated 2026-09-19.** This image is retired from build and publication. Every `make` selection target excludes it, and CI rejects a manual dispatch that names it, so no new `ghcr.io/makeitworkcloud/opencode-sms-bridge` tags will be pushed. Existing published tags and attestations remain available unchanged. The source, `Containerfile`, and tests are retained for history and local test runs. + `opencode-sms-bridge` is the private Twilio SMS/MMS ingress and worker for four fixed, existing primary OpenCode agents: `lawnmowerman`, `grillmaster`, `homesteader`, and `homerepair`. It is not a general Twilio API proxy and never accepts an agent, model, tool, session, or routing choice from a caller. ## Runtime modes