diff --git a/.github/workflows/release-comms.yml b/.github/workflows/release-comms.yml new file mode 100644 index 00000000000..8e5e862ed61 --- /dev/null +++ b/.github/workflows/release-comms.yml @@ -0,0 +1,36 @@ +# This workflow runs whenever the release PR is merged. It includes post-release communication processes like +# posting to slack, the website, community forums, etc. +# Only things that happen after a release is completed and all of the necessary code changes (like the changelog) are made. +name: Post-release +on: + workflow_dispatch: + inputs: + dry_run: + required: false + default: true + version: + required: true + pull_request: + types: + - closed + branches: + - 'main' + - 'v*.*.*' +jobs: + post_release: + name: Post-release comms + env: + steps: + - if: github.event.workflow_dispatch + run: | + echo "VERSION=${{ inputs.version }}" >> $GITHUB_ENV + echo "DRY_RUN=${{ inputs.dry_run }}" >> $GITHUB_ENV + - if: github.event.pull_request.merged == true && startsWith(github.head_ref, 'release/') + run: | + echo "VERSION=$(echo ${{ github.head_ref }} | sed -e 's/release\///g')" >> $GITHUB_ENV + echo "DRY_RUN=false" >> $GITHUB_ENV + - run: "echo push-grafana-tag $VERSION (dry run: $DRY_RUN)" + - run: "echo post changelog to forums for $VERSION (dry run: $DRY_RUN)" + - run: "echo create github release" + - run: "echo publish docs for $VERSION (dry run: $DRY_RUN)" + - run: "announce on slack that $VERSION has been released (dry run: $DRY_RUN)"