From d7148f6708e425d4cdf83600d120e243904c4e85 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Mon, 29 Jan 2024 18:24:52 +0000 Subject: [PATCH] Rebuild release automation to provide better introspection 1. Draft releases are triggered by the release person 2. Draft releases are inspected & tested along with their artifacts & notes 3. Draft releases are published when ready and this kicks off any deploys e.g. npm, docs, etc Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- .github/workflows/release-drafter.yml | 40 +++++++++++++++++++-------- .github/workflows/release.yml | 23 +++------------ 2 files changed, 33 insertions(+), 30 deletions(-) diff --git a/.github/workflows/release-drafter.yml b/.github/workflows/release-drafter.yml index 4d889f45..118cdbe2 100644 --- a/.github/workflows/release-drafter.yml +++ b/.github/workflows/release-drafter.yml @@ -1,21 +1,39 @@ name: Release Drafter on: - push: - branches: [staging] workflow_dispatch: inputs: + version-bump: + description: The scale of the version bump required for semver compatibility + required: true + default: automatic + type: choice + options: + - automatic + - patch + - minor + - major + type: + description: The type of release to make + required: true + default: release-candidate + type: choice + options: + - release-candidate + - release + - hotfix previous-version: - description: What release to use as a base for release note purposes + description: What release to use as a base for release note purposes, defaults to the latest stable release. required: false type: string concurrency: ${{ github.workflow }} jobs: draft: - runs-on: ubuntu-latest - steps: - - uses: release-drafter/release-drafter@e64b19c4c46173209ed9f2e5a2f4ca7de89a0e86 # v5 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - disable-autolabeler: true - previous-version: ${{ inputs.previous-version }} + uses: matrix-org/matrix-js-sdk/.github/workflows/release-drafter-action.yml@develop + secrets: inherit + with: + version-bump: ${{ inputs.version-bump }} + previous-version: ${{ inputs.previous-version }} + final: ${{ inputs.type != 'release-candidate' }} + include-changes: element-hq/element-web@$VERSION + gpg-fingerprint: ${{ vars.GPG_FINGERPRINT }} + expected-asset-count: 1 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 430d555c..795fb28f 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,25 +1,10 @@ -name: Release Process +name: Post Release Process on: - workflow_dispatch: - inputs: - mode: - description: What type of release - required: true - default: rc - type: choice - options: - - rc - - final + release: + types: [published] concurrency: ${{ github.workflow }} jobs: release: - uses: matrix-org/matrix-js-sdk/.github/workflows/release-make.yml@develop + uses: matrix-org/matrix-js-sdk/.github/workflows/release-action.yml@develop secrets: ELEMENT_BOT_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }} - GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }} - GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }} - with: - final: ${{ inputs.mode == 'final' }} - include-changes: element-hq/element-web@$VERSION - gpg-fingerprint: ${{ vars.GPG_FINGERPRINT }} - expected-asset-count: 1