Skip to content

ci: automated Docker Hub release pipeline (bump to 0.14.0) - #61

Merged
mrwadams merged 1 commit into
mainfrom
chore/docker-release-pipeline
Jul 21, 2026
Merged

ci: automated Docker Hub release pipeline (bump to 0.14.0)#61
mrwadams merged 1 commit into
mainfrom
chore/docker-release-pipeline

Conversation

@mrwadams

Copy link
Copy Markdown
Owner

What

Adds .github/workflows/release.yml — an automated release pipeline that publishes a Docker image to Docker Hub whenever a version tag is pushed. Also bumps the packaged version 0.13.1 → 0.14.0 for the first automated release.

How it works

Triggered on v*.*.* tags. Four gated jobs:

  1. verify — fail fast if the tag doesn't match pyproject.toml version
  2. test — pytest on Python 3.10–3.13 (pip + requirements-dev.txt)
  3. docker — build multi-arch (linux/amd64,linux/arm64) from the existing Dockerfile, push mrwadams/attackgen tagged {version} / {major}.{minor} / latest
  4. github-release — cut a GitHub Release with generated notes

Mirrors the STRIDE-GPT release pipeline, adapted to this repo (pip instead of uv; no PyPI job — AttackGen is a Streamlit app). The pinned base image (python:3.12-slim@sha256:090ba77e…) is a multi-arch OCI index, so the arm64 build works with the Dockerfile unchanged.

Prerequisites

Repo secrets DOCKERHUB_USERNAME / DOCKERHUB_TOKEN — already configured.

Releasing after merge

Once this lands on main:

git tag v0.14.0 && git push origin v0.14.0

That fires the pipeline and publishes mrwadams/attackgen:0.14.0, :0.14, and :latest (amd64 + arm64).

🤖 Generated with Claude Code

Add .github/workflows/release.yml: on a v*.*.* tag, verify the tag matches
the packaged version, run the pytest suite (Python 3.10-3.13), build and push
a multi-arch (amd64 + arm64) image to Docker Hub as mrwadams/attackgen, then
cut a GitHub Release with generated notes. Builds from the existing Dockerfile
unchanged (its pinned base is a multi-arch OCI index).

Bump version 0.13.1 -> 0.14.0 for the first automated release.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@mrwadams
mrwadams merged commit b37bb56 into main Jul 21, 2026
7 checks passed
@mrwadams
mrwadams deleted the chore/docker-release-pipeline branch July 21, 2026 12:35
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