From 608e7a10f3615991821b6e9524b22c48b5dad307 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 29 Aug 2026 17:28:29 +0000 Subject: [PATCH] build(deps): Bump the github-actions-dependencies group across 3 directories with 16 updates Bumps the github-actions-dependencies group with 14 updates in the / directory: | Package | From | To | | --- | --- | --- | | [hoverkraft-tech/ci-github-common/.github/workflows/greetings.yml](https://github.com/hoverkraft-tech/ci-github-common) | `0.37.3` | `0.38.0` | | [hoverkraft-tech/ci-github-common/.github/workflows/need-fix-to-issue.yml](https://github.com/hoverkraft-tech/ci-github-common) | `0.37.3` | `0.38.0` | | [hoverkraft-tech/ci-github-common/.github/workflows/semantic-pull-request.yml](https://github.com/hoverkraft-tech/ci-github-common) | `0.37.3` | `0.38.0` | | [hoverkraft-tech/ci-github-common/.github/workflows/linter.yml](https://github.com/hoverkraft-tech/ci-github-common) | `0.37.3` | `0.38.0` | | [hoverkraft-tech/ci-github-common/.github/workflows/stale.yml](https://github.com/hoverkraft-tech/ci-github-common) | `0.37.3` | `0.38.0` | | [actions/checkout](https://github.com/actions/checkout) | `7.0.0` | `7.0.1` | | [mikefarah/yq](https://github.com/mikefarah/yq) | `4.53.3` | `4.53.6` | | [hoverkraft-tech/ci-github-common/actions/local-workflow-actions](https://github.com/hoverkraft-tech/ci-github-common) | `0.37.3` | `0.38.0` | | [hoverkraft-tech/ci-github-common/actions/create-and-merge-pull-request](https://github.com/hoverkraft-tech/ci-github-common) | `0.37.3` | `0.38.0` | | [hoverkraft-tech/ci-github-common/actions/create-or-update-comment](https://github.com/hoverkraft-tech/ci-github-common) | `0.37.3` | `0.38.0` | | [hoverkraft-tech/ci-github-common/actions/slugify](https://github.com/hoverkraft-tech/ci-github-common) | `0.37.3` | `0.38.0` | | [hoverkraft-tech/ci-github-common/actions/checkout](https://github.com/hoverkraft-tech/ci-github-common) | `0.37.3` | `0.38.0` | | [hoverkraft-tech/ci-github-common/actions/get-issue-number](https://github.com/hoverkraft-tech/ci-github-common) | `0.37.3` | `0.38.0` | | [release-drafter/release-drafter/autolabeler](https://github.com/release-drafter/release-drafter) | `7.5.1` | `7.7.0` | Bumps the github-actions-dependencies group with 2 updates in the /actions/release/create directory: [hoverkraft-tech/ci-github-common/actions/local-actions](https://github.com/hoverkraft-tech/ci-github-common) and [release-drafter/release-drafter](https://github.com/release-drafter/release-drafter). Bumps the github-actions-dependencies group with 3 updates in the /actions/release/plan directory: [hoverkraft-tech/ci-github-common/actions/checkout](https://github.com/hoverkraft-tech/ci-github-common), [hoverkraft-tech/ci-github-common/actions/local-actions](https://github.com/hoverkraft-tech/ci-github-common) and [release-drafter/release-drafter](https://github.com/release-drafter/release-drafter). Updates `hoverkraft-tech/ci-github-common/.github/workflows/greetings.yml` from 0.37.3 to 0.38.0 - [Release notes](https://github.com/hoverkraft-tech/ci-github-common/releases) - [Commits](https://github.com/hoverkraft-tech/ci-github-common/compare/2334d395217f9811699dbd4ace9d8559e4d99e0d...3a27d31e9ccefbe9609cc9165017ed100ff34a22) Updates `hoverkraft-tech/ci-github-common/.github/workflows/need-fix-to-issue.yml` from 0.37.3 to 0.38.0 - [Release notes](https://github.com/hoverkraft-tech/ci-github-common/releases) - [Commits](https://github.com/hoverkraft-tech/ci-github-common/compare/2334d395217f9811699dbd4ace9d8559e4d99e0d...3a27d31e9ccefbe9609cc9165017ed100ff34a22) Updates `hoverkraft-tech/ci-github-common/.github/workflows/semantic-pull-request.yml` from 0.37.3 to 0.38.0 - [Release notes](https://github.com/hoverkraft-tech/ci-github-common/releases) - [Commits](https://github.com/hoverkraft-tech/ci-github-common/compare/2334d395217f9811699dbd4ace9d8559e4d99e0d...3a27d31e9ccefbe9609cc9165017ed100ff34a22) Updates `hoverkraft-tech/ci-github-common/.github/workflows/linter.yml` from 0.37.3 to 0.38.0 - [Release notes](https://github.com/hoverkraft-tech/ci-github-common/releases) - [Commits](https://github.com/hoverkraft-tech/ci-github-common/compare/2334d395217f9811699dbd4ace9d8559e4d99e0d...3a27d31e9ccefbe9609cc9165017ed100ff34a22) Updates `hoverkraft-tech/ci-github-common/.github/workflows/stale.yml` from 0.37.3 to 0.38.0 - [Release notes](https://github.com/hoverkraft-tech/ci-github-common/releases) - [Commits](https://github.com/hoverkraft-tech/ci-github-common/compare/2334d395217f9811699dbd4ace9d8559e4d99e0d...3a27d31e9ccefbe9609cc9165017ed100ff34a22) Updates `actions/checkout` from 7.0.0 to 7.0.1 - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v7...3d3c42e5aac5ba805825da76410c181273ba90b1) Updates `mikefarah/yq` from 4.53.3 to 4.53.6 - [Release notes](https://github.com/mikefarah/yq/releases) - [Changelog](https://github.com/mikefarah/yq/blob/master/release_notes.txt) - [Commits](https://github.com/mikefarah/yq/compare/1b9b4ac5187171d2e5e3129be0cfa827c7f9d53d...c14f446382944492701b16c1ddb48bb9dbe683e3) Updates `hoverkraft-tech/ci-github-common/actions/local-workflow-actions` from 0.37.3 to 0.38.0 - [Release notes](https://github.com/hoverkraft-tech/ci-github-common/releases) - [Commits](https://github.com/hoverkraft-tech/ci-github-common/compare/2334d395217f9811699dbd4ace9d8559e4d99e0d...3a27d31e9ccefbe9609cc9165017ed100ff34a22) Updates `hoverkraft-tech/ci-github-common/actions/create-and-merge-pull-request` from 0.37.3 to 0.38.0 - [Release notes](https://github.com/hoverkraft-tech/ci-github-common/releases) - [Commits](https://github.com/hoverkraft-tech/ci-github-common/compare/2334d395217f9811699dbd4ace9d8559e4d99e0d...3a27d31e9ccefbe9609cc9165017ed100ff34a22) Updates `hoverkraft-tech/ci-github-common/actions/create-or-update-comment` from 0.37.3 to 0.38.0 - [Release notes](https://github.com/hoverkraft-tech/ci-github-common/releases) - [Commits](https://github.com/hoverkraft-tech/ci-github-common/compare/2334d395217f9811699dbd4ace9d8559e4d99e0d...3a27d31e9ccefbe9609cc9165017ed100ff34a22) Updates `hoverkraft-tech/ci-github-common/actions/slugify` from 0.37.3 to 0.38.0 - [Release notes](https://github.com/hoverkraft-tech/ci-github-common/releases) - [Commits](https://github.com/hoverkraft-tech/ci-github-common/compare/2334d395217f9811699dbd4ace9d8559e4d99e0d...3a27d31e9ccefbe9609cc9165017ed100ff34a22) Updates `hoverkraft-tech/ci-github-common/actions/checkout` from 0.37.3 to 0.38.0 - [Release notes](https://github.com/hoverkraft-tech/ci-github-common/releases) - [Commits](https://github.com/hoverkraft-tech/ci-github-common/compare/2334d395217f9811699dbd4ace9d8559e4d99e0d...3a27d31e9ccefbe9609cc9165017ed100ff34a22) Updates `hoverkraft-tech/ci-github-common/actions/get-issue-number` from 0.37.3 to 0.38.0 - [Release notes](https://github.com/hoverkraft-tech/ci-github-common/releases) - [Commits](https://github.com/hoverkraft-tech/ci-github-common/compare/2334d395217f9811699dbd4ace9d8559e4d99e0d...3a27d31e9ccefbe9609cc9165017ed100ff34a22) Updates `release-drafter/release-drafter/autolabeler` from 7.5.1 to 7.7.0 - [Release notes](https://github.com/release-drafter/release-drafter/releases) - [Commits](https://github.com/release-drafter/release-drafter/compare/4d75298e00d9e34c483e5ff8c68d0ea1c1940c1e...34d80673e067bdc0c24568d3af899c216adcfaa9) Updates `hoverkraft-tech/ci-github-common/actions/checkout` from 0.37.3 to 0.38.0 - [Release notes](https://github.com/hoverkraft-tech/ci-github-common/releases) - [Commits](https://github.com/hoverkraft-tech/ci-github-common/compare/2334d395217f9811699dbd4ace9d8559e4d99e0d...3a27d31e9ccefbe9609cc9165017ed100ff34a22) Updates `hoverkraft-tech/ci-github-common/actions/local-actions` from 0.37.3 to 0.38.0 - [Release notes](https://github.com/hoverkraft-tech/ci-github-common/releases) - [Commits](https://github.com/hoverkraft-tech/ci-github-common/compare/2334d395217f9811699dbd4ace9d8559e4d99e0d...3a27d31e9ccefbe9609cc9165017ed100ff34a22) Updates `release-drafter/release-drafter` from 7.5.1 to 7.7.0 - [Release notes](https://github.com/release-drafter/release-drafter/releases) - [Commits](https://github.com/release-drafter/release-drafter/compare/4d75298e00d9e34c483e5ff8c68d0ea1c1940c1e...34d80673e067bdc0c24568d3af899c216adcfaa9) Updates `hoverkraft-tech/ci-github-common/actions/local-actions` from 0.37.3 to 0.38.0 - [Release notes](https://github.com/hoverkraft-tech/ci-github-common/releases) - [Commits](https://github.com/hoverkraft-tech/ci-github-common/compare/2334d395217f9811699dbd4ace9d8559e4d99e0d...3a27d31e9ccefbe9609cc9165017ed100ff34a22) Updates `release-drafter/release-drafter` from 7.5.1 to 7.7.0 - [Release notes](https://github.com/release-drafter/release-drafter/releases) - [Commits](https://github.com/release-drafter/release-drafter/compare/4d75298e00d9e34c483e5ff8c68d0ea1c1940c1e...34d80673e067bdc0c24568d3af899c216adcfaa9) Updates `hoverkraft-tech/ci-github-common/actions/checkout` from 0.37.3 to 0.38.0 - [Release notes](https://github.com/hoverkraft-tech/ci-github-common/releases) - [Commits](https://github.com/hoverkraft-tech/ci-github-common/compare/2334d395217f9811699dbd4ace9d8559e4d99e0d...3a27d31e9ccefbe9609cc9165017ed100ff34a22) Updates `hoverkraft-tech/ci-github-common/actions/local-actions` from 0.37.3 to 0.38.0 - [Release notes](https://github.com/hoverkraft-tech/ci-github-common/releases) - [Commits](https://github.com/hoverkraft-tech/ci-github-common/compare/2334d395217f9811699dbd4ace9d8559e4d99e0d...3a27d31e9ccefbe9609cc9165017ed100ff34a22) Updates `release-drafter/release-drafter` from 7.5.1 to 7.7.0 - [Release notes](https://github.com/release-drafter/release-drafter/releases) - [Commits](https://github.com/release-drafter/release-drafter/compare/4d75298e00d9e34c483e5ff8c68d0ea1c1940c1e...34d80673e067bdc0c24568d3af899c216adcfaa9) Updates `hoverkraft-tech/ci-github-common/actions/checkout` from 0.37.3 to 0.38.0 - [Release notes](https://github.com/hoverkraft-tech/ci-github-common/releases) - [Commits](https://github.com/hoverkraft-tech/ci-github-common/compare/2334d395217f9811699dbd4ace9d8559e4d99e0d...3a27d31e9ccefbe9609cc9165017ed100ff34a22) Updates `hoverkraft-tech/ci-github-common/actions/local-actions` from 0.37.3 to 0.38.0 - [Release notes](https://github.com/hoverkraft-tech/ci-github-common/releases) - [Commits](https://github.com/hoverkraft-tech/ci-github-common/compare/2334d395217f9811699dbd4ace9d8559e4d99e0d...3a27d31e9ccefbe9609cc9165017ed100ff34a22) Updates `release-drafter/release-drafter` from 7.5.1 to 7.7.0 - [Release notes](https://github.com/release-drafter/release-drafter/releases) - [Commits](https://github.com/release-drafter/release-drafter/compare/4d75298e00d9e34c483e5ff8c68d0ea1c1940c1e...34d80673e067bdc0c24568d3af899c216adcfaa9) --- updated-dependencies: - dependency-name: hoverkraft-tech/ci-github-common/.github/workflows/greetings.yml dependency-version: 0.38.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: github-actions-dependencies - dependency-name: hoverkraft-tech/ci-github-common/.github/workflows/need-fix-to-issue.yml dependency-version: 0.38.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: github-actions-dependencies - dependency-name: hoverkraft-tech/ci-github-common/.github/workflows/semantic-pull-request.yml dependency-version: 0.38.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: github-actions-dependencies - dependency-name: hoverkraft-tech/ci-github-common/.github/workflows/linter.yml dependency-version: 0.38.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: github-actions-dependencies - dependency-name: hoverkraft-tech/ci-github-common/.github/workflows/stale.yml dependency-version: 0.38.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: github-actions-dependencies - dependency-name: actions/checkout dependency-version: 7.0.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions-dependencies - dependency-name: mikefarah/yq dependency-version: 4.53.6 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions-dependencies - dependency-name: hoverkraft-tech/ci-github-common/actions/local-workflow-actions dependency-version: 0.38.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: github-actions-dependencies - dependency-name: hoverkraft-tech/ci-github-common/actions/create-and-merge-pull-request dependency-version: 0.38.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: github-actions-dependencies - dependency-name: hoverkraft-tech/ci-github-common/actions/create-or-update-comment dependency-version: 0.38.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: github-actions-dependencies - dependency-name: hoverkraft-tech/ci-github-common/actions/slugify dependency-version: 0.38.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: github-actions-dependencies - dependency-name: hoverkraft-tech/ci-github-common/actions/checkout dependency-version: 0.38.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: github-actions-dependencies - dependency-name: hoverkraft-tech/ci-github-common/actions/get-issue-number dependency-version: 0.38.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: github-actions-dependencies - dependency-name: release-drafter/release-drafter/autolabeler dependency-version: 7.7.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: github-actions-dependencies - dependency-name: hoverkraft-tech/ci-github-common/actions/checkout dependency-version: 0.38.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: github-actions-dependencies - dependency-name: hoverkraft-tech/ci-github-common/actions/local-actions dependency-version: 0.38.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: github-actions-dependencies - dependency-name: release-drafter/release-drafter dependency-version: 7.7.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: github-actions-dependencies - dependency-name: hoverkraft-tech/ci-github-common/actions/local-actions dependency-version: 0.38.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: github-actions-dependencies - dependency-name: release-drafter/release-drafter dependency-version: 7.7.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: github-actions-dependencies - dependency-name: hoverkraft-tech/ci-github-common/actions/checkout dependency-version: 0.38.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: github-actions-dependencies - dependency-name: hoverkraft-tech/ci-github-common/actions/local-actions dependency-version: 0.38.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: github-actions-dependencies - dependency-name: release-drafter/release-drafter dependency-version: 7.7.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: github-actions-dependencies - dependency-name: hoverkraft-tech/ci-github-common/actions/checkout dependency-version: 0.38.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: github-actions-dependencies - dependency-name: hoverkraft-tech/ci-github-common/actions/local-actions dependency-version: 0.38.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: github-actions-dependencies - dependency-name: release-drafter/release-drafter dependency-version: 7.7.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: github-actions-dependencies ... Signed-off-by: dependabot[bot] Signed-off-by: Emilien Escalle --- .github/workflows/__greetings.yml | 2 +- .github/workflows/__need-fix-to-issue.yml | 2 +- .github/workflows/__semantic-pull-request.yml | 2 +- .github/workflows/__shared-ci.yml | 2 +- .github/workflows/__stale.yml | 2 +- ...st-action-deploy-argocd-manifest-files.yml | 2 +- .../__test-action-release-delete.yml | 2 +- ..._test-action-release-get-configuration.yml | 28 +++++ .../clean-deploy-argocd-app-of-apps.yml | 4 +- .github/workflows/clean-deploy.yml | 4 +- .../workflows/deploy-argocd-app-of-apps.yml | 6 +- .github/workflows/deploy-chart.yml | 6 +- .github/workflows/deploy-checks.yml | 2 +- .github/workflows/deploy-finish.yml | 4 +- .github/workflows/deploy-start.yml | 4 +- .../finish-deploy-argocd-app-of-apps.yml | 2 +- .github/workflows/prepare-release.md | 20 ++-- .github/workflows/prepare-release.yml | 46 +++++++- .github/workflows/release-actions.yml | 2 +- Makefile | 7 +- actions/release/create/README.md | 12 ++- actions/release/create/action.yml | 17 +-- actions/release/delete/README.md | 2 +- actions/release/get-configuration/README.md | 27 +++-- actions/release/get-configuration/action.yml | 100 ++++++++++++++---- actions/release/plan/README.md | 30 +++--- actions/release/plan/action.yml | 9 +- 27 files changed, 258 insertions(+), 88 deletions(-) diff --git a/.github/workflows/__greetings.yml b/.github/workflows/__greetings.yml index 6c9366d..4b83099 100644 --- a/.github/workflows/__greetings.yml +++ b/.github/workflows/__greetings.yml @@ -10,7 +10,7 @@ permissions: {} jobs: greetings: - uses: hoverkraft-tech/ci-github-common/.github/workflows/greetings.yml@2334d395217f9811699dbd4ace9d8559e4d99e0d # 0.37.3 + uses: hoverkraft-tech/ci-github-common/.github/workflows/greetings.yml@3a27d31e9ccefbe9609cc9165017ed100ff34a22 # 0.38.0 permissions: contents: read issues: write diff --git a/.github/workflows/__need-fix-to-issue.yml b/.github/workflows/__need-fix-to-issue.yml index 3be7a3a..6995439 100644 --- a/.github/workflows/__need-fix-to-issue.yml +++ b/.github/workflows/__need-fix-to-issue.yml @@ -21,7 +21,7 @@ permissions: {} jobs: main: - uses: hoverkraft-tech/ci-github-common/.github/workflows/need-fix-to-issue.yml@2334d395217f9811699dbd4ace9d8559e4d99e0d # 0.37.3 + uses: hoverkraft-tech/ci-github-common/.github/workflows/need-fix-to-issue.yml@3a27d31e9ccefbe9609cc9165017ed100ff34a22 # 0.38.0 permissions: contents: read issues: write diff --git a/.github/workflows/__semantic-pull-request.yml b/.github/workflows/__semantic-pull-request.yml index d4de75d..3fefe3e 100644 --- a/.github/workflows/__semantic-pull-request.yml +++ b/.github/workflows/__semantic-pull-request.yml @@ -12,7 +12,7 @@ permissions: {} jobs: main: - uses: hoverkraft-tech/ci-github-common/.github/workflows/semantic-pull-request.yml@2334d395217f9811699dbd4ace9d8559e4d99e0d # 0.37.3 + uses: hoverkraft-tech/ci-github-common/.github/workflows/semantic-pull-request.yml@3a27d31e9ccefbe9609cc9165017ed100ff34a22 # 0.38.0 permissions: contents: write pull-requests: write diff --git a/.github/workflows/__shared-ci.yml b/.github/workflows/__shared-ci.yml index 91a6160..d3b20b4 100644 --- a/.github/workflows/__shared-ci.yml +++ b/.github/workflows/__shared-ci.yml @@ -12,7 +12,7 @@ permissions: {} jobs: linter: - uses: hoverkraft-tech/ci-github-common/.github/workflows/linter.yml@2334d395217f9811699dbd4ace9d8559e4d99e0d # 0.37.3 + uses: hoverkraft-tech/ci-github-common/.github/workflows/linter.yml@3a27d31e9ccefbe9609cc9165017ed100ff34a22 # 0.38.0 permissions: actions: read contents: read diff --git a/.github/workflows/__stale.yml b/.github/workflows/__stale.yml index d9c6db9..b827a28 100644 --- a/.github/workflows/__stale.yml +++ b/.github/workflows/__stale.yml @@ -9,7 +9,7 @@ permissions: {} jobs: main: - uses: hoverkraft-tech/ci-github-common/.github/workflows/stale.yml@2334d395217f9811699dbd4ace9d8559e4d99e0d # 0.37.3 + uses: hoverkraft-tech/ci-github-common/.github/workflows/stale.yml@3a27d31e9ccefbe9609cc9165017ed100ff34a22 # 0.38.0 permissions: issues: write pull-requests: write diff --git a/.github/workflows/__test-action-deploy-argocd-manifest-files.yml b/.github/workflows/__test-action-deploy-argocd-manifest-files.yml index ff449c0..516390b 100644 --- a/.github/workflows/__test-action-deploy-argocd-manifest-files.yml +++ b/.github/workflows/__test-action-deploy-argocd-manifest-files.yml @@ -55,7 +55,7 @@ jobs: initiated-by: ci/test-user - name: Assert - Check generated files are valid YAML - uses: mikefarah/yq@1b9b4ac5187171d2e5e3129be0cfa827c7f9d53d # v4.53.3 + uses: mikefarah/yq@c14f446382944492701b16c1ddb48bb9dbe683e3 # v4.53.6 with: cmd: | echo "Check application file" diff --git a/.github/workflows/__test-action-release-delete.yml b/.github/workflows/__test-action-release-delete.yml index 2a1bdc6..67bc28e 100644 --- a/.github/workflows/__test-action-release-delete.yml +++ b/.github/workflows/__test-action-release-delete.yml @@ -14,7 +14,7 @@ jobs: pull-requests: read steps: - name: Arrange - Checkout - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: persist-credentials: false diff --git a/.github/workflows/__test-action-release-get-configuration.yml b/.github/workflows/__test-action-release-get-configuration.yml index b3ea440..cfa6673 100644 --- a/.github/workflows/__test-action-release-get-configuration.yml +++ b/.github/workflows/__test-action-release-get-configuration.yml @@ -34,6 +34,7 @@ jobs: uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0 env: CONFIG_PATH: ${{ steps.existing-config.outputs.config-path }} + IS_GENERATED: ${{ steps.existing-config.outputs.is-generated }} with: script: | const assert = require('node:assert'); @@ -44,6 +45,7 @@ jobs: const configPath = process.env.CONFIG_PATH; assert.equal(configPath, 'release-config.yml'); + assert.equal(process.env.IS_GENERATED, 'false'); const absoluteConfigPath = path.resolve(workspace, '.github', configPath); assert.ok(fs.existsSync(absoluteConfigPath), `Expected config to exist at ${absoluteConfigPath}`); @@ -59,6 +61,7 @@ jobs: uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0 env: CONFIG_PATH: ${{ steps.generated-config.outputs.config-path }} + IS_GENERATED: ${{ steps.generated-config.outputs.is-generated }} with: script: | const assert = require('node:assert'); @@ -70,6 +73,7 @@ jobs: const absoluteConfigPath = path.resolve(workspace, '.github', configPath); const configContent = fs.readFileSync(absoluteConfigPath, 'utf8'); + assert.equal(process.env.IS_GENERATED, 'true'); assert.notEqual(configPath, 'release-configs/get-configuration.yml'); assert.ok(configPath.endsWith('/release-drafter/get-configuration.yml') || configPath === '../release-drafter/get-configuration.yml' || configPath.includes('/release-drafter/get-configuration.yml')); assert.ok(fs.existsSync(absoluteConfigPath), `Expected generated config to exist at ${absoluteConfigPath}`); @@ -78,3 +82,27 @@ jobs: assert.ok(configContent.includes(' - "actions/release/get-configuration"'), 'Expected working directory include path in generated config'); assert.ok(configContent.includes('name-template: "Version get-configuration - $RESOLVED_VERSION"'), 'Expected working-directory-specific name template'); assert.ok(configContent.includes('tag-prefix: "get-configuration-"'), 'Expected working-directory-specific tag prefix'); + assert.ok(configContent.includes('## New Contributors'), 'Expected a new contributors section'); + assert.ok(configContent.includes('$NEW_CONTRIBUTORS'), 'Expected the new contributors template variable'); + assert.ok(configContent.includes('no-new-contributor-template: "_No new contributors in this release._"'), 'Expected an explicit no-new-contributors placeholder'); + assert.ok(configContent.includes('change-authors-final-separator: " and "'), 'Expected co-authors to use a natural final separator'); + assert.ok(configContent.includes('title: "Breaking Changes"'), 'Expected a breaking changes category'); + assert.ok(configContent.includes('breaking: true'), 'Expected conventional breaking changes to trigger a major release'); + assert.ok(configContent.includes('title: "Dependency Updates"'), 'Expected a dependency updates category'); + assert.ok(configContent.includes('collapse-after: 3'), 'Expected long dependency sections to collapse'); + assert.ok(configContent.includes('title: "Features"'), 'Expected a features category'); + assert.ok(configContent.includes('type: "feat"'), 'Expected conventional features to trigger a minor release'); + assert.ok(configContent.includes('title: "Other Changes"'), 'Expected a fallback category'); + assert.ok(configContent.includes('semver-increment: major'), 'Expected breaking changes to increment major'); + assert.ok(configContent.includes('semver-increment: minor'), 'Expected features to increment minor'); + assert.ok(configContent.includes('semver-increment: patch'), 'Expected other changes to increment patch'); + assert.ok(!configContent.includes('type: "version-resolver"'), 'Expected changelog categories to resolve semantic versions directly'); + assert.ok(!configContent.includes('release-major'), 'Expected version resolution not to depend on release labels'); + assert.ok(configContent.includes('autolabeler:\n'), 'Expected an autolabeler configuration'); + assert.ok(configContent.includes('label: "type: breaking"'), 'Expected breaking changes to be labeled'); + assert.ok(configContent.includes('label: "type: feature"'), 'Expected features to be labeled'); + assert.ok(configContent.includes('label: "type: dependencies"'), 'Expected dependency updates to be labeled'); + assert.ok(configContent.includes('label: "type: fix"'), 'Expected fixes to be labeled'); + assert.ok(configContent.includes('label: "type: performance"'), 'Expected performance changes to be labeled'); + assert.ok(configContent.includes('label: "type: documentation"'), 'Expected documentation changes to be labeled'); + assert.ok(configContent.includes('label: "type: maintenance"'), 'Expected maintenance changes to be labeled'); diff --git a/.github/workflows/clean-deploy-argocd-app-of-apps.yml b/.github/workflows/clean-deploy-argocd-app-of-apps.yml index 6ee4795..19ffda0 100644 --- a/.github/workflows/clean-deploy-argocd-app-of-apps.yml +++ b/.github/workflows/clean-deploy-argocd-app-of-apps.yml @@ -77,7 +77,7 @@ jobs: persist-credentials: false - id: local-workflow-actions - uses: hoverkraft-tech/ci-github-common/actions/local-workflow-actions@2334d395217f9811699dbd4ace9d8559e4d99e0d # 0.37.3 + uses: hoverkraft-tech/ci-github-common/actions/local-workflow-actions@3a27d31e9ccefbe9609cc9165017ed100ff34a22 # 0.38.0 with: actions-path: actions @@ -121,7 +121,7 @@ jobs: private-key: ${{ secrets.github-app-key }} # zizmor: ignore[secrets-outside-env] reusable workflow token override is intentional # jscpd:ignore-end - - uses: hoverkraft-tech/ci-github-common/actions/create-and-merge-pull-request@2334d395217f9811699dbd4ace9d8559e4d99e0d # 0.37.3 + - uses: hoverkraft-tech/ci-github-common/actions/create-and-merge-pull-request@3a27d31e9ccefbe9609cc9165017ed100ff34a22 # 0.38.0 if: steps.remove-files.outputs.has-changes == 'true' with: github-token: ${{ steps.generate-token.outputs.token || secrets.github-token || github.token }} # zizmor: ignore[secrets-outside-env] reusable workflow token override is intentional diff --git a/.github/workflows/clean-deploy.yml b/.github/workflows/clean-deploy.yml index 073717b..fc91de7 100644 --- a/.github/workflows/clean-deploy.yml +++ b/.github/workflows/clean-deploy.yml @@ -117,7 +117,7 @@ jobs: pull-requests: write steps: - id: local-workflow-actions - uses: hoverkraft-tech/ci-github-common/actions/local-workflow-actions@2334d395217f9811699dbd4ace9d8559e4d99e0d # 0.37.3 + uses: hoverkraft-tech/ci-github-common/actions/local-workflow-actions@3a27d31e9ccefbe9609cc9165017ed100ff34a22 # 0.38.0 with: actions-path: actions @@ -157,7 +157,7 @@ jobs: environment: ${{ fromJSON(steps.delete-deployment.outputs.environments)[0] }} github-token: ${{ steps.generate-token.outputs.token || secrets.github-token || github.token }} # zizmor: ignore[secrets-outside-env] reusable workflow token override is intentional - - uses: hoverkraft-tech/ci-github-common/actions/create-or-update-comment@2334d395217f9811699dbd4ace9d8559e4d99e0d # 0.37.3 + - uses: hoverkraft-tech/ci-github-common/actions/create-or-update-comment@3a27d31e9ccefbe9609cc9165017ed100ff34a22 # 0.38.0 if: ${{ steps.delete-deployment.outputs.environments && steps.delete-deployment.outputs.environments != '[]' }} with: title: "Deployment(s) have been deleted :wastebasket:." diff --git a/.github/workflows/deploy-argocd-app-of-apps.yml b/.github/workflows/deploy-argocd-app-of-apps.yml index 2a7e1d3..83314ca 100644 --- a/.github/workflows/deploy-argocd-app-of-apps.yml +++ b/.github/workflows/deploy-argocd-app-of-apps.yml @@ -152,13 +152,13 @@ jobs: persist-credentials: false - id: slugify-namespace - uses: hoverkraft-tech/ci-github-common/actions/slugify@2334d395217f9811699dbd4ace9d8559e4d99e0d # 0.37.3 + uses: hoverkraft-tech/ci-github-common/actions/slugify@3a27d31e9ccefbe9609cc9165017ed100ff34a22 # 0.38.0 with: value: ${{ format('{0}-{1}', steps.check-client-payload.outputs.repository, steps.check-client-payload.outputs.environment) }} # jscpd:ignore-start - id: local-workflow-actions - uses: hoverkraft-tech/ci-github-common/actions/local-workflow-actions@2334d395217f9811699dbd4ace9d8559e4d99e0d # 0.37.3 + uses: hoverkraft-tech/ci-github-common/actions/local-workflow-actions@3a27d31e9ccefbe9609cc9165017ed100ff34a22 # 0.38.0 with: actions-path: actions # jscpd:ignore-end @@ -232,7 +232,7 @@ jobs: private-key: ${{ secrets.github-app-key }} # zizmor: ignore[secrets-outside-env] reusable workflow token override is intentional # jscpd:ignore-end - - uses: hoverkraft-tech/ci-github-common/actions/create-and-merge-pull-request@2334d395217f9811699dbd4ace9d8559e4d99e0d # 0.37.3 + - uses: hoverkraft-tech/ci-github-common/actions/create-and-merge-pull-request@3a27d31e9ccefbe9609cc9165017ed100ff34a22 # 0.38.0 with: github-token: ${{ steps.generate-token.outputs.token || secrets.github-token || github.token }} # zizmor: ignore[secrets-outside-env] reusable workflow token override is intentional branch: feat/deploy-${{ steps.slugify-namespace.outputs.result }} diff --git a/.github/workflows/deploy-chart.yml b/.github/workflows/deploy-chart.yml index c1800b1..bd7cd3e 100644 --- a/.github/workflows/deploy-chart.yml +++ b/.github/workflows/deploy-chart.yml @@ -199,7 +199,7 @@ jobs: permissions: contents: read steps: - - uses: hoverkraft-tech/ci-github-common/actions/checkout@2334d395217f9811699dbd4ace9d8559e4d99e0d # 0.37.3 + - uses: hoverkraft-tech/ci-github-common/actions/checkout@3a27d31e9ccefbe9609cc9165017ed100ff34a22 # 0.38.0 if: inputs.tag == '' with: fetch-depth: 0 @@ -212,7 +212,7 @@ jobs: - id: get-issue-number if: inputs.tag == '' && github.event_name == 'issue_comment' - uses: hoverkraft-tech/ci-github-common/actions/get-issue-number@2334d395217f9811699dbd4ace9d8559e4d99e0d # 0.37.3 + uses: hoverkraft-tech/ci-github-common/actions/get-issue-number@3a27d31e9ccefbe9609cc9165017ed100ff34a22 # 0.38.0 - id: get-tag uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0 @@ -554,7 +554,7 @@ jobs: # jscpd:ignore-end - id: local-workflow-actions - uses: hoverkraft-tech/ci-github-common/actions/local-workflow-actions@2334d395217f9811699dbd4ace9d8559e4d99e0d # 0.37.3 + uses: hoverkraft-tech/ci-github-common/actions/local-workflow-actions@3a27d31e9ccefbe9609cc9165017ed100ff34a22 # 0.38.0 with: actions-path: actions diff --git a/.github/workflows/deploy-checks.yml b/.github/workflows/deploy-checks.yml index 6140cc5..dc9fc90 100644 --- a/.github/workflows/deploy-checks.yml +++ b/.github/workflows/deploy-checks.yml @@ -78,7 +78,7 @@ jobs: summary: ${{ steps.generate-summary.outputs.summary }} steps: - id: local-workflow-actions - uses: hoverkraft-tech/ci-github-common/actions/local-workflow-actions@2334d395217f9811699dbd4ace9d8559e4d99e0d # 0.37.3 + uses: hoverkraft-tech/ci-github-common/actions/local-workflow-actions@3a27d31e9ccefbe9609cc9165017ed100ff34a22 # 0.38.0 with: actions-path: actions diff --git a/.github/workflows/deploy-finish.yml b/.github/workflows/deploy-finish.yml index b6805d1..b18fac7 100644 --- a/.github/workflows/deploy-finish.yml +++ b/.github/workflows/deploy-finish.yml @@ -70,7 +70,7 @@ jobs: environment: ${{ steps.get-finished-deployment.outputs.environment }} steps: - id: local-workflow-actions - uses: hoverkraft-tech/ci-github-common/actions/local-workflow-actions@2334d395217f9811699dbd4ace9d8559e4d99e0d # 0.37.3 + uses: hoverkraft-tech/ci-github-common/actions/local-workflow-actions@3a27d31e9ccefbe9609cc9165017ed100ff34a22 # 0.38.0 with: actions-path: actions @@ -169,7 +169,7 @@ jobs: return core.setOutput("extra", JSON.stringify(extra)); - id: local-workflow-actions - uses: hoverkraft-tech/ci-github-common/actions/local-workflow-actions@2334d395217f9811699dbd4ace9d8559e4d99e0d # 0.37.3 + uses: hoverkraft-tech/ci-github-common/actions/local-workflow-actions@3a27d31e9ccefbe9609cc9165017ed100ff34a22 # 0.38.0 with: actions-path: actions diff --git a/.github/workflows/deploy-start.yml b/.github/workflows/deploy-start.yml index 34b9e1c..607c468 100644 --- a/.github/workflows/deploy-start.yml +++ b/.github/workflows/deploy-start.yml @@ -97,7 +97,7 @@ jobs: } - id: local-workflow-actions - uses: hoverkraft-tech/ci-github-common/actions/local-workflow-actions@2334d395217f9811699dbd4ace9d8559e4d99e0d # 0.37.3 + uses: hoverkraft-tech/ci-github-common/actions/local-workflow-actions@3a27d31e9ccefbe9609cc9165017ed100ff34a22 # 0.38.0 with: actions-path: actions @@ -121,7 +121,7 @@ jobs: deployment-id: ${{ steps.create-deployment.outputs.deployment-id }} steps: - id: local-workflow-actions - uses: hoverkraft-tech/ci-github-common/actions/local-workflow-actions@2334d395217f9811699dbd4ace9d8559e4d99e0d # 0.37.3 + uses: hoverkraft-tech/ci-github-common/actions/local-workflow-actions@3a27d31e9ccefbe9609cc9165017ed100ff34a22 # 0.38.0 with: actions-path: actions diff --git a/.github/workflows/finish-deploy-argocd-app-of-apps.yml b/.github/workflows/finish-deploy-argocd-app-of-apps.yml index fa806c0..4a0a42c 100644 --- a/.github/workflows/finish-deploy-argocd-app-of-apps.yml +++ b/.github/workflows/finish-deploy-argocd-app-of-apps.yml @@ -160,7 +160,7 @@ jobs: - id: local-workflow-actions if: always() - uses: hoverkraft-tech/ci-github-common/actions/local-workflow-actions@2334d395217f9811699dbd4ace9d8559e4d99e0d # 0.37.3 + uses: hoverkraft-tech/ci-github-common/actions/local-workflow-actions@3a27d31e9ccefbe9609cc9165017ed100ff34a22 # 0.38.0 with: actions-path: actions diff --git a/.github/workflows/prepare-release.md b/.github/workflows/prepare-release.md index 15d6173..7058435 100644 --- a/.github/workflows/prepare-release.md +++ b/.github/workflows/prepare-release.md @@ -72,6 +72,9 @@ jobs: # Working directory used to scope release preparation in a monorepo. # If specified, the workflow looks for `.github/release-configs/{slug}.yml`, where `slug` is derived from the working directory basename. # If that file does not exist, a temporary release configuration is generated with `include-paths` for the working directory and current workflow file. + # The generated defaults follow Conventional Commits and Semantic Versioning: breaking changes increment major, `feat` increments minor, and all other changes increment patch. + # They also apply Conventional Commit labels. + # They credit co-authors and highlight new contributors, with an explicit empty state when there are none. working-directory: "" ``` @@ -83,13 +86,16 @@ jobs: ### Workflow Call Inputs -| **Input** | **Description** | **Required** | **Type** | **Default** | -| ----------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ | ---------- | ------------------- | -| **`runs-on`** | JSON array of runner(s) to use. | **false** | **string** | `["ubuntu-latest"]` | -| | See . | | | | -| **`working-directory`** | Working directory used to scope release preparation in a monorepo. | **false** | **string** | - | -| | If specified, the workflow looks for `.github/release-configs/{slug}.yml`, where `slug` is derived from the working directory basename. | | | | -| | If that file does not exist, a temporary release configuration is generated with `include-paths` for the working directory and current workflow file. | | | | +| **Input** | **Description** | **Required** | **Type** | **Default** | +| ----------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ | ---------- | ------------------- | +| **`runs-on`** | JSON array of runner(s) to use. | **false** | **string** | `["ubuntu-latest"]` | +| | See . | | | | +| **`working-directory`** | Working directory used to scope release preparation in a monorepo. | **false** | **string** | - | +| | If specified, the workflow looks for `.github/release-configs/{slug}.yml`, where `slug` is derived from the working directory basename. | | | | +| | If that file does not exist, a temporary release configuration is generated with `include-paths` for the working directory and current workflow file. | | | | +| | The generated defaults follow Conventional Commits and Semantic Versioning: breaking changes increment major, `feat` increments minor, and all other changes increment patch. | | | | +| | They also apply Conventional Commit labels. | | | | +| | They credit co-authors and highlight new contributors, with an explicit empty state when there are none. | | | | diff --git a/.github/workflows/prepare-release.yml b/.github/workflows/prepare-release.yml index 362b600..62bbdb0 100644 --- a/.github/workflows/prepare-release.yml +++ b/.github/workflows/prepare-release.yml @@ -19,6 +19,9 @@ on: Working directory used to scope release preparation in a monorepo. If specified, the workflow looks for `.github/release-configs/{slug}.yml`, where `slug` is derived from the working directory basename. If that file does not exist, a temporary release configuration is generated with `include-paths` for the working directory and current workflow file. + The generated defaults follow Conventional Commits and Semantic Versioning: breaking changes increment major, `feat` increments minor, and all other changes increment patch. + They also apply Conventional Commit labels. + They credit co-authors and highlight new contributors, with an explicit empty state when there are none. type: string required: false default: "" @@ -49,7 +52,7 @@ jobs: persist-credentials: false - id: local-workflow-actions - uses: hoverkraft-tech/ci-github-common/actions/local-workflow-actions@2334d395217f9811699dbd4ace9d8559e4d99e0d # 0.37.3 + uses: hoverkraft-tech/ci-github-common/actions/local-workflow-actions@3a27d31e9ccefbe9609cc9165017ed100ff34a22 # 0.38.0 with: actions-path: actions @@ -58,7 +61,46 @@ jobs: with: working-directory: ${{ inputs.working-directory }} - - uses: release-drafter/release-drafter/autolabeler@4d75298e00d9e34c483e5ff8c68d0ea1c1940c1e # v7.5.1 + - name: Ensure default release labels exist + if: github.event_name == 'pull_request' && steps.get-configuration.outputs.is-generated == 'true' + uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0 + with: + github-token: ${{ secrets.github-token || secrets.GITHUB_TOKEN || github.token }} # zizmor: ignore[secrets-outside-env] reusable workflow token override is intentional + script: | + const labels = [ + { name: 'type: breaking', color: 'b60205', description: 'Introduces a breaking change' }, + { name: 'type: feature', color: 'a2eeef', description: 'Introduces a new feature' }, + { name: 'type: dependencies', color: '0366d6', description: 'Updates dependencies' }, + { name: 'type: fix', color: 'd73a4a', description: 'Fixes a bug' }, + { name: 'type: performance', color: '5319e7', description: 'Improves performance' }, + { name: 'type: documentation', color: '0075ca', description: 'Updates documentation' }, + { name: 'type: maintenance', color: 'ededed', description: 'Performs maintenance work' }, + ]; + + const existingLabels = await github.paginate(github.rest.issues.listLabelsForRepo, { + ...context.repo, + per_page: 100, + }); + const existingNames = new Set(existingLabels.map(({ name }) => name.toLowerCase())); + + for (const label of labels) { + if (existingNames.has(label.name.toLowerCase())) { + continue; + } + + try { + await github.rest.issues.createLabel({ ...context.repo, ...label }); + } catch (error) { + if (error.status !== 422) { + throw error; + } + + // Another concurrent workflow may have created the label after it was listed. + await github.rest.issues.getLabel({ ...context.repo, name: label.name }); + } + } + + - uses: release-drafter/release-drafter/autolabeler@34d80673e067bdc0c24568d3af899c216adcfaa9 # v7.7.0 if: github.event_name == 'pull_request' with: token: ${{ secrets.github-token || secrets.GITHUB_TOKEN || github.token }} # zizmor: ignore[secrets-outside-env] reusable workflow token override is intentional diff --git a/.github/workflows/release-actions.yml b/.github/workflows/release-actions.yml index 1f6771b..e392cb2 100644 --- a/.github/workflows/release-actions.yml +++ b/.github/workflows/release-actions.yml @@ -328,7 +328,7 @@ jobs: # jscpd:ignore-end - - uses: hoverkraft-tech/ci-github-common/actions/create-and-merge-pull-request@2334d395217f9811699dbd4ace9d8559e4d99e0d # 0.37.3 + - uses: hoverkraft-tech/ci-github-common/actions/create-and-merge-pull-request@3a27d31e9ccefbe9609cc9165017ed100ff34a22 # 0.38.0 with: github-token: ${{ steps.generate-token.outputs.token || secrets.github-token || github.token }} # zizmor: ignore[secrets-outside-env] reusable workflow token override is intentional branch: docs/actions-workflows-documentation-update diff --git a/Makefile b/Makefile index a471e6a..d1eef8d 100644 --- a/Makefile +++ b/Makefile @@ -39,13 +39,14 @@ define run_linter DEFAULT_WORKSPACE="$(CURDIR)"; \ LINTER_IMAGE="linter:latest"; \ VOLUME="$$DEFAULT_WORKSPACE:$$DEFAULT_WORKSPACE"; \ - docker build --build-arg UID=$(shell id -u) --build-arg GID=$(shell id -g) --tag $$LINTER_IMAGE .; \ + docker build --platform=linux/amd64 --build-arg UID=$(shell id -u) --build-arg GID=$(shell id -g) --tag $$LINTER_IMAGE .; \ docker run \ + --platform=linux/amd64 \ + -v $$VOLUME \ + --rm \ -e DEFAULT_WORKSPACE="$$DEFAULT_WORKSPACE" \ -e FILTER_REGEX_INCLUDE="$(filter-out $@,$(MAKECMDGOALS))" \ $(1) \ - -v $$VOLUME \ - --rm \ $$LINTER_IMAGE endef diff --git a/actions/release/create/README.md b/actions/release/create/README.md index f3bd912..f2fc1d4 100644 --- a/actions/release/create/README.md +++ b/actions/release/create/README.md @@ -44,6 +44,9 @@ The release is published by default after optional changelog summarization and a # Working directory used to scope release automation in a monorepo. # If specified, the action looks for `.github/release-configs/{slug}.yml`, where `slug` is derived from the working directory basename. # If that file does not exist, a temporary release configuration is generated with `include-paths` for the working directory and current workflow file. + # The generated defaults follow Conventional Commits and Semantic Versioning: breaking changes increment major, `feat` increments minor, and all other changes increment patch. + # They also define Conventional Commit labels. + # They credit co-authors and highlight new contributors, with an explicit empty state when there are none. working-directory: "" # Additional paths to include in the release notes filtering (JSON array). @@ -55,7 +58,8 @@ The release is published by default after optional changelog summarization and a # Release tag name to use in explicit mode tag: "" - # Optional commit SHA or branch name to target when explicit mode creates a release for a tag that does not already exist. Forwarded to Release Drafter as `commitish`. + # Optional branch, commit SHA, fully qualified tag ref, or pull request ref to target when explicit mode creates a release for a tag that does not already exist. + # Forwarded to Release Drafter as `commitish`; tag and pull request refs are resolved to commit SHAs. target-sha: "" # GitHub Token for creating the draft release. @@ -123,10 +127,14 @@ The release is published by default after optional changelog summarization and a | **`working-directory`** | Working directory used to scope release automation in a monorepo. | **false** | - | | | If specified, the action looks for `.github/release-configs/{slug}.yml`, where `slug` is derived from the working directory basename. | | | | | If that file does not exist, a temporary release configuration is generated with `include-paths` for the working directory and current workflow file. | | | +| | The generated defaults follow Conventional Commits and Semantic Versioning: breaking changes increment major, `feat` increments minor, and all other changes increment patch. | | | +| | They also define Conventional Commit labels. | | | +| | They credit co-authors and highlight new contributors, with an explicit empty state when there are none. | | | | **`include-paths`** | Additional paths to include in the release notes filtering (JSON array). | **false** | `[]` | | | These paths are added to the `include-paths` configuration of release-drafter. | | | | **`tag`** | Release tag name to use in explicit mode | **false** | - | -| **`target-sha`** | Optional commit SHA or branch name to target when explicit mode creates a release for a tag that does not already exist. Forwarded to Release Drafter as `commitish`. | **false** | - | +| **`target-sha`** | Optional branch, commit SHA, fully qualified tag ref, or pull request ref to target when explicit mode creates a release for a tag that does not already exist. | **false** | - | +| | Forwarded to Release Drafter as `commitish`; tag and pull request refs are resolved to commit SHAs. | | | | **`github-token`** | GitHub Token for creating the draft release. | **false** | `${{ github.token }}` | | | Permissions: | | | | | - contents: write | | | diff --git a/actions/release/create/action.yml b/actions/release/create/action.yml index 4d32e23..703c624 100644 --- a/actions/release/create/action.yml +++ b/actions/release/create/action.yml @@ -16,6 +16,9 @@ inputs: Working directory used to scope release automation in a monorepo. If specified, the action looks for `.github/release-configs/{slug}.yml`, where `slug` is derived from the working directory basename. If that file does not exist, a temporary release configuration is generated with `include-paths` for the working directory and current workflow file. + The generated defaults follow Conventional Commits and Semantic Versioning: breaking changes increment major, `feat` increments minor, and all other changes increment patch. + They also define Conventional Commit labels. + They credit co-authors and highlight new contributors, with an explicit empty state when there are none. required: false default: "" include-paths: @@ -27,8 +30,10 @@ inputs: tag: description: "Release tag name to use in explicit mode" required: false - target-sha: - description: "Optional commit SHA or branch name to target when explicit mode creates a release for a tag that does not already exist. Forwarded to Release Drafter as `commitish`." # codespell:ignore commitish + target-sha: # codespell:ignore commitish + description: | + Optional branch, commit SHA, fully qualified tag ref, or pull request ref to target when explicit mode creates a release for a tag that does not already exist. + Forwarded to Release Drafter as `commitish`; tag and pull request refs are resolved to commit SHAs. required: false default: "" github-token: @@ -176,7 +181,7 @@ runs: core.setOutput('summary-template', summaryTemplate); - id: local-actions - uses: hoverkraft-tech/ci-github-common/actions/local-actions@2334d395217f9811699dbd4ace9d8559e4d99e0d # 0.37.3 + uses: hoverkraft-tech/ci-github-common/actions/local-actions@3a27d31e9ccefbe9609cc9165017ed100ff34a22 # 0.38.0 with: source-path: ${{ github.action_path }}/.. @@ -295,7 +300,7 @@ runs: - id: detect-drafter-changes if: steps.resolve-release-inputs.outputs.mode == 'drafter' && inputs.skip-if-no-changes == 'true' - uses: release-drafter/release-drafter@4d75298e00d9e34c483e5ff8c68d0ea1c1940c1e # v7.5.1 + uses: release-drafter/release-drafter@34d80673e067bdc0c24568d3af899c216adcfaa9 # v7.7.0 with: token: ${{ inputs.github-token }} dry-run: "true" @@ -464,7 +469,7 @@ runs: - id: draft-drafter-release if: steps.resolve-release-inputs.outputs.mode == 'drafter' && steps.resolve-create-condition.outputs.should-create == 'true' - uses: release-drafter/release-drafter@4d75298e00d9e34c483e5ff8c68d0ea1c1940c1e # v7.5.1 + uses: release-drafter/release-drafter@34d80673e067bdc0c24568d3af899c216adcfaa9 # v7.7.0 with: token: ${{ inputs.github-token }} publish: "false" @@ -475,7 +480,7 @@ runs: - id: draft-explicit-release if: steps.resolve-release-inputs.outputs.mode == 'explicit' && steps.resolve-create-condition.outputs.should-create == 'true' - uses: release-drafter/release-drafter@4d75298e00d9e34c483e5ff8c68d0ea1c1940c1e # v7.5.1 + uses: release-drafter/release-drafter@34d80673e067bdc0c24568d3af899c216adcfaa9 # v7.7.0 with: token: ${{ inputs.github-token }} tag: ${{ steps.resolve-release-inputs.outputs.explicit-tag }} diff --git a/actions/release/delete/README.md b/actions/release/delete/README.md index 871e1a6..ce42384 100644 --- a/actions/release/delete/README.md +++ b/actions/release/delete/README.md @@ -78,7 +78,7 @@ Delete an existing GitHub release for a tag, with optional draft-only cleanup be | **Output** | **Description** | | ------------------- | ------------------------------------------------ | | **`deleted`** | Whether the release was deleted | -| **`release-id`** | The resolved release id when a release was found | +| **`release-id`** | The resolved release ID when a release was found | | **`release-draft`** | Whether the resolved release was a draft | diff --git a/actions/release/get-configuration/README.md b/actions/release/get-configuration/README.md index 468ce90..46715c0 100644 --- a/actions/release/get-configuration/README.md +++ b/actions/release/get-configuration/README.md @@ -36,6 +36,9 @@ Action to get the release configuration details # Working directory used to scope release automation in a monorepo. # If specified, the action looks for `.github/release-configs/{slug}.yml`, where `slug` is derived from the working directory basename. # If that file does not exist, a temporary release configuration is generated with `include-paths` for the working directory and current workflow file. + # The generated defaults follow Conventional Commits and Semantic Versioning: breaking changes increment major, `feat` increments minor, and all other changes increment patch. + # They also define Conventional Commit labels. + # They credit co-authors and highlight new contributors, with an explicit empty state when there are none. working-directory: "" # Additional paths to include in the release notes filtering (JSON array). @@ -50,22 +53,26 @@ Action to get the release configuration details ## Inputs -| **Input** | **Description** | **Required** | **Default** | -| ----------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ | ----------- | -| **`working-directory`** | Working directory used to scope release automation in a monorepo. | **false** | - | -| | If specified, the action looks for `.github/release-configs/{slug}.yml`, where `slug` is derived from the working directory basename. | | | -| | If that file does not exist, a temporary release configuration is generated with `include-paths` for the working directory and current workflow file. | | | -| **`include-paths`** | Additional paths to include in the release notes filtering (JSON array). | **false** | `[]` | -| | These paths are added to the `include-paths` configuration of release-drafter. | | | +| **Input** | **Description** | **Required** | **Default** | +| ----------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ | ----------- | +| **`working-directory`** | Working directory used to scope release automation in a monorepo. | **false** | - | +| | If specified, the action looks for `.github/release-configs/{slug}.yml`, where `slug` is derived from the working directory basename. | | | +| | If that file does not exist, a temporary release configuration is generated with `include-paths` for the working directory and current workflow file. | | | +| | The generated defaults follow Conventional Commits and Semantic Versioning: breaking changes increment major, `feat` increments minor, and all other changes increment patch. | | | +| | They also define Conventional Commit labels. | | | +| | They credit co-authors and highlight new contributors, with an explicit empty state when there are none. | | | +| **`include-paths`** | Additional paths to include in the release notes filtering (JSON array). | **false** | `[]` | +| | These paths are added to the `include-paths` configuration of release-drafter. | | | ## Outputs -| **Output** | **Description** | -| ----------------- | ------------------------------------------------------------------ | -| **`config-path`** | The effective configuration path relative to the .github directory | +| **Output** | **Description** | +| ------------------ | ------------------------------------------------------------------ | +| **`config-path`** | The effective configuration path relative to the .github directory | +| **`is-generated`** | Whether a temporary configuration was generated | diff --git a/actions/release/get-configuration/action.yml b/actions/release/get-configuration/action.yml index b789c81..6bb1ebe 100644 --- a/actions/release/get-configuration/action.yml +++ b/actions/release/get-configuration/action.yml @@ -11,6 +11,9 @@ inputs: Working directory used to scope release automation in a monorepo. If specified, the action looks for `.github/release-configs/{slug}.yml`, where `slug` is derived from the working directory basename. If that file does not exist, a temporary release configuration is generated with `include-paths` for the working directory and current workflow file. + The generated defaults follow Conventional Commits and Semantic Versioning: breaking changes increment major, `feat` increments minor, and all other changes increment patch. + They also define Conventional Commit labels. + They credit co-authors and highlight new contributors, with an explicit empty state when there are none. required: false default: "" include-paths: @@ -24,6 +27,9 @@ outputs: config-path: description: "The effective configuration path relative to the .github directory" value: ${{ steps.local-config.outputs.config-path || steps.create-temp-config.outputs.config-path }} + is-generated: + description: "Whether a temporary configuration was generated" + value: ${{ steps.create-temp-config.outputs.config-path != '' }} runs: using: "composite" @@ -179,32 +185,90 @@ runs: `${includePathsSection}template: |`, ' # What\'s Changed', ' \$CHANGES', + '', + ' ## New Contributors', + ' \$NEW_CONTRIBUTORS', + '', ` **Full Changelog**: https://github.com/\$OWNER/\$REPOSITORY/compare/\$PREVIOUS_TAG...${tagTemplate}`, `name-template: "${nameTemplate}"`, `tag-template: "${tagTemplate}"`, `tag-prefix: "${tagPrefix}"`, 'prerelease-identifier: "rc"', - 'version-resolver:', - ' major:', - ' labels:', - ' - "release-major"', - ' minor:', - ' labels:', - ' - "release-minor"', - ' patch:', - ' labels:', - ' - "release-patch"', - ' default: patch', + 'change-authors-final-separator: " and "', + 'no-new-contributor-template: "_No new contributors in this release._"', 'autolabeler:', - ' - label: "release-major"', + ' - label: "type: breaking"', + ' title:', + ' - "/^[a-z][a-z0-9-]*(?:\\\\([^)]+\\\\))?!:/i"', + ' - label: "type: feature"', + ' title:', + ' - "/^feat(?:\\\\([^)]+\\\\))?!?:/i"', + ' - label: "type: dependencies"', + ' title:', + ' - "/^[a-z][a-z0-9-]*\\\\(deps(?:-dev)?\\\\)!?:/i"', + ' - label: "type: fix"', + ' title:', + ' - "/^fix(?:\\\\([^)]+\\\\))?!?:/i"', + ' - label: "type: performance"', + ' title:', + ' - "/^perf(?:\\\\([^)]+\\\\))?!?:/i"', + ' - label: "type: documentation"', ' title:', - ' - "/^BREAKING CHANGE:/"', - ' - "/^\\\\w+!:/"', - ' - "/^\\\\w+\\\\(.+\\\\)!:/"', - ' - label: "release-minor"', + ' - "/^docs(?:\\\\([^)]+\\\\))?!?:/i"', + ' - label: "type: maintenance"', ' title:', - ' - "/^feat:/"', - ' - "/^feat\\\\(.+\\\\):/"', + ' - "/^(?:build|chore|ci|refactor|revert|style|test)(?:\\\\([^)]+\\\\))?!?:/i"', + 'categories:', + ' - title: "Breaking Changes"', + ' semver-increment: major', + ' exclusive: true', + ' when:', + ' conventional:', + ' breaking: true', + ' - title: "Features"', + ' semver-increment: minor', + ' exclusive: true', + ' when:', + ' conventional:', + ' type: "feat"', + ' - title: "Dependency Updates"', + ' collapse-after: 3', + ' exclusive: true', + ' when:', + ' conventional:', + ' scopes:', + ' - "deps"', + ' - "deps-dev"', + ' - title: "Bug Fixes"', + ' exclusive: true', + ' when:', + ' conventional:', + ' type: "fix"', + ' - title: "Performance"', + ' exclusive: true', + ' when:', + ' conventional:', + ' type: "perf"', + ' - title: "Documentation"', + ' exclusive: true', + ' when:', + ' conventional:', + ' type: "docs"', + ' - title: "Maintenance"', + ' exclusive: true', + ' when:', + ' conventional:', + ' types:', + ' - "build"', + ' - "chore"', + ' - "ci"', + ' - "refactor"', + ' - "revert"', + ' - "style"', + ' - "test"', + ' - title: "Other Changes"', + ' semver-increment: patch', + ' exclusive: true', '', ].join('\n'); diff --git a/actions/release/plan/README.md b/actions/release/plan/README.md index 36fcd45..2946656 100644 --- a/actions/release/plan/README.md +++ b/actions/release/plan/README.md @@ -43,6 +43,9 @@ Plan a release identity without creating a Git tag or GitHub release. # Working directory used to scope release automation in a monorepo. # If specified, the action looks for `.github/release-configs/{slug}.yml`, where `slug` is derived from the working directory basename. # If that file does not exist, a temporary release configuration is generated with `include-paths` for the working directory and current workflow file. + # The generated defaults follow Conventional Commits and Semantic Versioning: breaking changes increment major, `feat` increments minor, and all other changes increment patch. + # They also define Conventional Commit labels. + # They credit co-authors and highlight new contributors, with an explicit empty state when there are none. working-directory: "" # Additional paths to include in the release notes filtering (JSON array). @@ -66,18 +69,21 @@ Plan a release identity without creating a Git tag or GitHub release. ## Inputs -| **Input** | **Description** | **Required** | **Default** | -| ----------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ | --------------------- | -| **`prerelease`** | Whether to plan the release as a prerelease | **false** | `false` | -| **`working-directory`** | Working directory used to scope release automation in a monorepo. | **false** | - | -| | If specified, the action looks for `.github/release-configs/{slug}.yml`, where `slug` is derived from the working directory basename. | | | -| | If that file does not exist, a temporary release configuration is generated with `include-paths` for the working directory and current workflow file. | | | -| **`include-paths`** | Additional paths to include in the release notes filtering (JSON array). | **false** | `[]` | -| | These paths are added to the `include-paths` configuration of release-drafter. | | | -| **`github-token`** | GitHub Token for planning the release. | **false** | `${{ github.token }}` | -| | Permissions: | | | -| | - contents: read | | | -| | - pull-requests: read | | | +| **Input** | **Description** | **Required** | **Default** | +| ----------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ | --------------------- | +| **`prerelease`** | Whether to plan the release as a prerelease | **false** | `false` | +| **`working-directory`** | Working directory used to scope release automation in a monorepo. | **false** | - | +| | If specified, the action looks for `.github/release-configs/{slug}.yml`, where `slug` is derived from the working directory basename. | | | +| | If that file does not exist, a temporary release configuration is generated with `include-paths` for the working directory and current workflow file. | | | +| | The generated defaults follow Conventional Commits and Semantic Versioning: breaking changes increment major, `feat` increments minor, and all other changes increment patch. | | | +| | They also define Conventional Commit labels. | | | +| | They credit co-authors and highlight new contributors, with an explicit empty state when there are none. | | | +| **`include-paths`** | Additional paths to include in the release notes filtering (JSON array). | **false** | `[]` | +| | These paths are added to the `include-paths` configuration of release-drafter. | | | +| **`github-token`** | GitHub Token for planning the release. | **false** | `${{ github.token }}` | +| | Permissions: | | | +| | - contents: read | | | +| | - pull-requests: read | | | diff --git a/actions/release/plan/action.yml b/actions/release/plan/action.yml index 5047698..d3fedd0 100644 --- a/actions/release/plan/action.yml +++ b/actions/release/plan/action.yml @@ -15,6 +15,9 @@ inputs: Working directory used to scope release automation in a monorepo. If specified, the action looks for `.github/release-configs/{slug}.yml`, where `slug` is derived from the working directory basename. If that file does not exist, a temporary release configuration is generated with `include-paths` for the working directory and current workflow file. + The generated defaults follow Conventional Commits and Semantic Versioning: breaking changes increment major, `feat` increments minor, and all other changes increment patch. + They also define Conventional Commit labels. + They credit co-authors and highlight new contributors, with an explicit empty state when there are none. required: false default: "" include-paths: @@ -43,12 +46,12 @@ outputs: runs: using: "composite" steps: - - uses: hoverkraft-tech/ci-github-common/actions/checkout@2334d395217f9811699dbd4ace9d8559e4d99e0d # 0.37.3 + - uses: hoverkraft-tech/ci-github-common/actions/checkout@3a27d31e9ccefbe9609cc9165017ed100ff34a22 # 0.38.0 with: fetch-depth: "0" - id: local-actions - uses: hoverkraft-tech/ci-github-common/actions/local-actions@2334d395217f9811699dbd4ace9d8559e4d99e0d # 0.37.3 + uses: hoverkraft-tech/ci-github-common/actions/local-actions@3a27d31e9ccefbe9609cc9165017ed100ff34a22 # 0.38.0 with: source-path: ${{ github.action_path }}/.. @@ -59,7 +62,7 @@ runs: include-paths: ${{ inputs.include-paths }} - id: release-drafter - uses: release-drafter/release-drafter@4d75298e00d9e34c483e5ff8c68d0ea1c1940c1e # v7.5.1 + uses: release-drafter/release-drafter@34d80673e067bdc0c24568d3af899c216adcfaa9 # v7.7.0 with: token: ${{ inputs.github-token }} dry-run: "true"