Skip to content

feat: publish GitHub Action via Docker image#55

Merged
maff merged 3 commits into
mainfrom
feature/github-action-publishing
Mar 14, 2026
Merged

feat: publish GitHub Action via Docker image#55
maff merged 3 commits into
mainfrom
feature/github-action-publishing

Conversation

@maff
Copy link
Copy Markdown
Owner

@maff maff commented Mar 14, 2026

Summary

  • Move action.yml to repo root as a Docker action referencing ghcr.io/maff/git-that-semver:1
  • Docker actions support dynamic outputs natively — all GTS_* keys are accessible to consumers without explicit declaration
  • Add release workflow: validates semver tag (rejects build metadata), creates GitHub Release, updates floating v1 git tag for stable releases
  • Slim Docker image from oven/bun:1-alpine to alpine:3 (~30MB vs ~150MB)
  • CI git-that-semver job uses bun run index.ts directly (no bootstrapping risk)
  • New test-action CI job builds Docker image locally and validates entrypoint for env, JSON, and YAML output modes
  • Remove old .github/actions/git-that-semver/ nested action

Consumer usage

- uses: actions/checkout@v6
  with:
    fetch-depth: 0
- id: gts
  uses: maff/git-that-semver@v1
- run: echo "${{ steps.gts.outputs.GTS_DOCKER_VERSION }}"

First release steps

After merging:

  1. git tag v1.0.0 && git push origin v1.0.0
  2. build.yml pushes Docker image with tags 1.0.0, 1.0, 1, latest
  3. release.yml creates GitHub Release and floating v1 git tag
  4. uses: maff/git-that-semver@v1 is now available

Test plan

  • bun test — all 153 tests pass
  • bun run lint — formatting clean
  • CI passes on this PR (test-action job validates Docker entrypoint)

maff added 3 commits March 14, 2026 21:04
- Move action.yml to repo root as a Docker action referencing
  ghcr.io/maff/git-that-semver:1 (pre-built image, dynamic outputs)
- Add release workflow: validates semver tag, creates GitHub Release,
  updates floating v1 git tag for stable releases
- Slim Docker image: alpine:3 instead of oven/bun:1-alpine
- CI git-that-semver job uses bun run index.ts directly (no bootstrapping)
- Add test-action CI job: builds Docker image, validates entrypoint
  output for env, JSON, and YAML modes
- Remove old .github/actions/git-that-semver/ nested action
@maff maff merged commit 57d5a97 into main Mar 14, 2026
4 checks passed
@maff maff deleted the feature/github-action-publishing branch March 14, 2026 20:12
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