diff --git a/.github/workflows/major-version-updater.yaml b/.github/workflows/major-version-updater.yaml new file mode 100644 index 0000000..a8ec77f --- /dev/null +++ b/.github/workflows/major-version-updater.yaml @@ -0,0 +1,33 @@ +--- +name: "Major Version Updater" +on: + workflow_call: + inputs: + tag_name: + required: true + type: string +permissions: + contents: read +jobs: + major_version_updater: + runs-on: ubuntu-latest + permissions: + contents: write + steps: + - uses: actions/checkout@v4.2.2 + with: + fetch-tags: true + ref: ${{ inputs.tag_name }} + - name: version + id: version + env: + TAG_NAME: ${{ inputs.tag_name }} + run: | + tag=${TAG_NAME/refs\/tags\//} + version=${tag#v} + major=${version%%.*} + { echo "tag=${tag}"; echo "version=${version}"; echo "major=${major}"; } >> "$GITHUB_OUTPUT" + - name: force update major tag + run: | + git tag -f v${{ steps.version.outputs.major }} ${{ steps.version.outputs.tag }} + git push -f origin v${{ steps.version.outputs.major }} diff --git a/.github/workflows/release-discussion.yaml b/.github/workflows/release-discussion.yaml index b81e8c5..4a2e70a 100644 --- a/.github/workflows/release-discussion.yaml +++ b/.github/workflows/release-discussion.yaml @@ -37,7 +37,7 @@ jobs: echo "discussion-category-id secret is not set" exit 1 - name: Create an Announcement Discussion for Release - uses: abirismyname/create-discussion@6e6ef67e5eeb042343ef8b3d8d0f5d545cbdf024 + uses: abirismyname/create-discussion@c2b7c825241769dda523865ae444a879f6bbd0e0 env: GH_TOKEN: ${{ secrets.github-token }} with: diff --git a/.github/workflows/release-image.yaml b/.github/workflows/release-image.yaml index 4f597e1..23a139d 100644 --- a/.github/workflows/release-image.yaml +++ b/.github/workflows/release-image.yaml @@ -40,16 +40,16 @@ jobs: steps: - uses: actions/checkout@v4.2.2 - name: Set up Docker Buildx - uses: docker/setup-buildx-action@f7ce87c1d6bead3e36075b2ce75da1f6cc28aaca + uses: docker/setup-buildx-action@b5ca514318bd6ebac0fb2aedd5d36ec1b5c232a2 - name: Log in to the Container registry - uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 + uses: docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772 with: registry: ${{ env.IMAGE_REGISTRY }} username: ${{ env.IMAGE_REGISTRY_USERNAME }} password: ${{ env.IMAGE_REGISTRY_PASSWORD}} - name: Push Docker Image if: ${{ success() }} - uses: docker/build-push-action@0adf9959216b96bec444f325f1e493d4aa344497 + uses: docker/build-push-action@471d1dc4e07e5cdedd4c2171150001c434f0b7a4 id: push with: context: . diff --git a/.github/workflows/test-major-version-updater.yaml b/.github/workflows/test-major-version-updater.yaml new file mode 100644 index 0000000..20e00d0 --- /dev/null +++ b/.github/workflows/test-major-version-updater.yaml @@ -0,0 +1,19 @@ +--- +name: "Test Major Version Updater" +on: + release: + types: [published] + workflow_dispatch: + inputs: + TAG_NAME: + description: "Tag name that the major tag will point to (e.g. v1.2.3)" + required: true +permissions: + contents: read +jobs: + labeler: + permissions: + contents: write + uses: ./.github/workflows/major-version-updater.yaml + with: + tag_name: ${{ github.event.inputs.TAG_NAME || github.ref}}