ci: allow workflow_dispatch on post-release

This commit is contained in:
Elliot DeNolf
2024-11-16 15:00:17 -05:00
parent ed21c1c036
commit aacc4745b6

View File

@@ -5,6 +5,11 @@ on:
types: types:
- published - published
workflow_dispatch: workflow_dispatch:
inputs:
tag:
description: 'Release tag to process (optional)'
required: false
default: ''
env: env:
NODE_VERSION: 22.6.0 NODE_VERSION: 22.6.0
@@ -13,14 +18,28 @@ env:
NEXT_TELEMETRY_DISABLED: 1 # Disable Next telemetry NEXT_TELEMETRY_DISABLED: 1 # Disable Next telemetry
jobs: jobs:
determine_tag:
runs-on: ubuntu-latest
outputs:
release_tag: ${{ steps.determine.outputs.release_tag }}
steps:
- name: Determine Release Tag
id: determine
run: |
if [ "${{ github.event.inputs.tag }}" != "" ]; then
echo "Using tag from input: ${{ github.event.inputs.tag }}"
echo "release_tag=${{ github.event.inputs.tag }}" >> $GITHUB_OUTPUT
else
echo "Using tag from release event: ${{ github.event.release.tag_name }}"
echo "release_tag=${{ github.event.release.tag_name }}" >> $GITHUB_OUTPUT
fi
post_release: post_release:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
with: with:
fetch-depth: 0 fetch-depth: 0
# Only needed if debugging on a branch other than default
# ref: ${{ github.event.release.target_commitish || github.ref }}
- uses: ./.github/actions/release-commenter - uses: ./.github/actions/release-commenter
continue-on-error: true continue-on-error: true
env: env:
@@ -35,11 +54,10 @@ jobs:
comment-template: | comment-template: |
🚀 This is included in version {release_link} 🚀 This is included in version {release_link}
# Some templates have lockfiles that must point to the new release
# This runs the necessary script and creates a PR with the changes
update_templates: update_templates:
needs: determine_tag
runs-on: ubuntu-latest runs-on: ubuntu-latest
if: startsWith(github.event.release.tag_name, 'v3') if: startsWith(needs.determine_tag.outputs.release_tag, 'v3')
permissions: permissions:
contents: write contents: write
pull-requests: write pull-requests: write
@@ -63,18 +81,15 @@ jobs:
set -ex set -ex
git config --global user.name "github-actions[bot]" git config --global user.name "github-actions[bot]"
git config --global user.email "github-actions[bot]@users.noreply.github.com" git config --global user.email "github-actions[bot]@users.noreply.github.com"
export RELEASE_TAG=$(echo ${{ github.event.release.tag_name }}) export BRANCH_NAME=chore/templates-${{ needs.determine_tag.outputs.release_tag }}
export BRANCH_NAME=chore/templates-$RELEASE_TAG
git checkout -b $BRANCH_NAME git checkout -b $BRANCH_NAME
git add -A git add -A
# If no files have changed, exit early with success # If no files have changed, exit early with success
git diff --cached --quiet --exit-code && exit 0 git diff --cached --quiet --exit-code && exit 0
git commit -m "chore(templates): bump lockfiles after $RELEASE_TAG" git commit -m "chore(templates): bump lockfiles after ${{ needs.determine_tag.outputs.release_tag }}"
git push origin $BRANCH_NAME git push origin $BRANCH_NAME
# export the tag for use in the next job
echo "RELEASE_TAG=$RELEASE_TAG" >> $GITHUB_ENV
echo "committed=true" >> "$GITHUB_OUTPUT" echo "committed=true" >> "$GITHUB_OUTPUT"
- name: Create pull request - name: Create pull request
@@ -85,7 +100,7 @@ jobs:
labels: 'area: templates' labels: 'area: templates'
author: github-actions[bot] <github-actions[bot]@users.noreply.github.com> author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
commit-message: 'Automated update after release' commit-message: 'Automated update after release'
branch: chore/templates-$RELEASE_TAG branch: chore/templates-${{ needs.determine_tag.outputs.release_tag }}
base: ${{ github.event.release.target_commitish }} base: ${{ github.event.release.target_commitish }}
title: 'chore(templates): bump lockfiles after $RELEASE_TAG' title: 'chore(templates): bump lockfiles after ${{ needs.determine_tag.outputs.release_tag }}'
body: 'Automated bump of template lockfiles after release $RELEASE_TAG' body: 'Automated bump of template lockfiles after release ${{ needs.determine_tag.outputs.release_tag }}'