diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 47010e5..dfb925a 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -85,7 +85,7 @@ jobs: uses: docker/setup-buildx-action@v4 - name: Build and Push by digest - uses: specsnl/github-actions/build-image@2.4.0 + uses: specsnl/github-actions/build-image@2.4.2 with: dockerfile: ${{ inputs.dockerfile }} context: ${{ inputs.context }} diff --git a/.github/workflows/merge-go-cli.yml b/.github/workflows/merge-go-cli.yml index 647be98..2625419 100644 --- a/.github/workflows/merge-go-cli.yml +++ b/.github/workflows/merge-go-cli.yml @@ -74,7 +74,7 @@ jobs: ${{ inputs.flavor }} raw-tags: | type=semver,pattern={{version}} - type=semver,pattern={{major}}.{{minor}} + type=semver,pattern={{major}}.{{minor}},enable=${{ !startsWith(github.ref, 'refs/tags/v0.0.') }} type=semver,pattern={{major}},enable=${{ !startsWith(github.ref, 'refs/tags/v0.') }} type=raw,value=${{ inputs.variant || 'latest' }},suffix=,enable=${{ inputs.latest && startsWith(github.ref, 'refs/tags/') && !contains(github.ref_name, '-') }} ${{ inputs.raw-tags }} diff --git a/.github/workflows/merge.yml b/.github/workflows/merge.yml index 2fb0d04..2331c53 100644 --- a/.github/workflows/merge.yml +++ b/.github/workflows/merge.yml @@ -67,7 +67,7 @@ jobs: uses: docker/setup-buildx-action@v4 - name: Create Manifest - uses: specsnl/github-actions/create-manifest@2.4.0 + uses: specsnl/github-actions/create-manifest@2.4.2 with: image-name: ${{ steps.image_name.outputs.lowercase }} target: ${{ inputs.target }} diff --git a/README.md b/README.md index 2c677cb..f11869a 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ This repository contains the Specsnl organisation collection of GitHub Actions workflows and composite actions that can be reused to automate various tasks in GitHub repositories. -Consumers pin by tag, i.e. `specsnl/github-actions/.github/workflows/build.yml@2.4.0`. +Consumers pin by tag, i.e. `specsnl/github-actions/.github/workflows/build.yml@2.4.2`. ## What is in here diff --git a/docs/actions.md b/docs/actions.md index cbb12b3..1d25567 100644 --- a/docs/actions.md +++ b/docs/actions.md @@ -9,7 +9,7 @@ Both assume the job has already checked out, logged in to the registry and set u ## `build-image` ```yaml -- uses: specsnl/github-actions/build-image@2.4.0 +- uses: specsnl/github-actions/build-image@2.4.2 ``` | Input | Default | Description | @@ -42,7 +42,7 @@ about conflicting outputs. With `load` on, the digest export and artifact upload ## `create-manifest` ```yaml -- uses: specsnl/github-actions/create-manifest@2.4.0 +- uses: specsnl/github-actions/create-manifest@2.4.2 ``` | Input | Default | Description | diff --git a/docs/go-cli.md b/docs/go-cli.md index e2ff796..839dab9 100644 --- a/docs/go-cli.md +++ b/docs/go-cli.md @@ -21,7 +21,7 @@ permissions: jobs: build: - uses: specsnl/github-actions/.github/workflows/build-go-cli.yml@2.4.0 + uses: specsnl/github-actions/.github/workflows/build-go-cli.yml@2.4.2 strategy: fail-fast: false matrix: @@ -39,7 +39,7 @@ jobs: merge: needs: build - uses: specsnl/github-actions/.github/workflows/merge-go-cli.yml@2.4.0 + uses: specsnl/github-actions/.github/workflows/merge-go-cli.yml@2.4.2 with: runs-on: ubuntu-24.04 image-name: ghcr.io/specsnl/specs-cli @@ -90,7 +90,7 @@ On top of what [`merge.yml` already emits](pipeline.md#tags): | Tag | When | |------------------------------|------------------------------------------------------------------------| | `1.2.3` | Every `v*` tag, prereleases included | -| `1.2`, `1` | Stable tags only; `1` is skipped for `v0.*`, where it means nothing | +| `1.2`, `1` | Stable tags only; `1` is skipped for `v0.*` and `1.2` for `v0.0.*` | | `latest` | Stable tags only — set `latest: false` to never move it | | `v1.2.3` | From `merge.yml`'s `type=ref,event=tag`; the same digest, `v`-prefixed | | `main`, `pr-12`, `` | From `merge.yml`, for branch, pull request and dispatch runs | @@ -104,6 +104,11 @@ A prerelease never moves `latest` and never publishes `1.2` or `1`: That guard treats any tag containing a `-` as a prerelease — `v1.2.0-rc.1`, `v1.2.0-beta.3`. +A moving tag is a compatibility promise, so it is withheld where semver does not make one. `1` means nothing under +`v0.*` — every minor may break. `1.2` means nothing under `v0.0.*` for the same reason one level down, since `0.0.x` is +the range where every release is free to break. `v0.5.3` still publishes `0.5`, because patches within `0.5.x` are +expected to be compatible. + Both `flavor` and `raw-tags` are still available and are appended *after* what this workflow sets, so a caller can override the flavor (`latest=auto` restores the default behaviour) and add tags of its own. @@ -118,7 +123,7 @@ Run the build and merge jobs once per variant, each with its own `target`: ```yaml build-alpine: - uses: specsnl/github-actions/.github/workflows/build-go-cli.yml@2.4.0 + uses: specsnl/github-actions/.github/workflows/build-go-cli.yml@2.4.2 strategy: fail-fast: false matrix: @@ -136,7 +141,7 @@ Run the build and merge jobs once per variant, each with its own `target`: merge-alpine: needs: build-alpine - uses: specsnl/github-actions/.github/workflows/merge-go-cli.yml@2.4.0 + uses: specsnl/github-actions/.github/workflows/merge-go-cli.yml@2.4.2 with: runs-on: ubuntu-24.04 image-name: ghcr.io/specsnl/specs-cli diff --git a/docs/php.md b/docs/php.md index 9f1ef15..b9b687d 100644 --- a/docs/php.md +++ b/docs/php.md @@ -8,7 +8,7 @@ what name. jobs: build: - uses: specsnl/github-actions/.github/workflows/build-php.yml@2.4.0 + uses: specsnl/github-actions/.github/workflows/build-php.yml@2.4.2 strategy: fail-fast: false matrix: @@ -24,7 +24,7 @@ jobs: merge: needs: build - uses: specsnl/github-actions/.github/workflows/merge-php.yml@2.4.0 + uses: specsnl/github-actions/.github/workflows/merge-php.yml@2.4.2 with: runs-on: ubuntu-24.04 image-name: ghcr.io/${{ github.repository }} diff --git a/docs/testing-images.md b/docs/testing-images.md index 43eb6b8..a82f858 100644 --- a/docs/testing-images.md +++ b/docs/testing-images.md @@ -21,7 +21,7 @@ jobs: - uses: docker/setup-buildx-action@v4 - id: build - uses: specsnl/github-actions/build-image@2.4.0 + uses: specsnl/github-actions/build-image@2.4.2 with: platform: linux/amd64 image-name: ghcr.io/specsnl/specs-cli