From 13e2666e053e3cc053c372ce4c13dedf0f51309d Mon Sep 17 00:00:00 2001 From: Burak Yigit Kaya Date: Mon, 14 Dec 2020 22:43:04 +0300 Subject: [PATCH 1/3] ci(release): Move to getsentry/publish for releases --- .craft.yml | 2 +- .github/workflows/release.yml | 48 +++++++++++------------------------ scripts/post-release.sh | 6 +++++ 3 files changed, 22 insertions(+), 34 deletions(-) create mode 100755 scripts/post-release.sh diff --git a/.craft.yml b/.craft.yml index f7c53fd11cf722..317d337ae27ca0 100644 --- a/.craft.yml +++ b/.craft.yml @@ -1,4 +1,4 @@ -minVersion: "0.12.0" +minVersion: "0.14.0" github: owner: getsentry repo: sentry diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 623a585fe45f50..e57022ee6eb536 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -5,14 +5,6 @@ on: version: description: Version to release (optional) required: false - skip_prepare: - description: Skip preparation step (assume a release branch is ready) - required: false - default: false - dry_run: - description: Do not actually cut the release - required: false - default: false force: description: Force a release even when there are release-blockers (optional) required: false @@ -32,36 +24,26 @@ jobs: force: ${{ github.event.inputs.force }} - uses: actions/checkout@v2 with: - token: ${{ secrets.GH_SENTRY_BOT_PAT }} - fetch-depth: 20 + token: ${{ secrets.GH_RELEASE_PAT }} - uses: getsentry/craft@master name: Craft Prepare - if: ${{ !github.event.inputs.skip_prepare }} with: action: prepare version: ${{ env.RELEASE_VERSION }} env: ZEUS_API_TOKEN: ${{ secrets.ZEUS_API_TOKEN }} - # Wait until the builds start. Craft should do this automatically - # but it is broken now. - - run: sleep 10 - - uses: getsentry/craft@master - name: Craft Publish + - name: Request publish + if: success() + uses: actions/github-script@v3 with: - action: publish - version: ${{ env.RELEASE_VERSION }} - env: - DRY_RUN: ${{ github.event.inputs.dry_run }} - GITHUB_API_TOKEN: ${{ secrets.GH_SENTRY_BOT_PAT }} - ZEUS_API_TOKEN: ${{ secrets.ZEUS_API_TOKEN }} - TWINE_USERNAME: '__token__' - TWINE_PASSWORD: ${{ secrets.TWINE_PASSWORD }} - DOCKER_USERNAME: 'sentrybuilder' - DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }} - - id: next-dev-version - name: Set new version for development - if: ${{ !github.event.inputs.dry_run }} - run: | - git checkout master - ./scripts/bump-version.sh '' $(date -d "$(echo $RELEASE_VERSION | sed -e 's/^\([0-9]\{2\}\)\.\([0-9]\{1,2\}\)\.[0-9]\+$/20\1-\2-1/') 1 month" +%y.%-m.0.dev0) - git diff --quiet || git commit -anm 'meta: Bump new development version' && git pull --rebase && git push + # TODO: Replace token with GH_RELEASE_PAT after verification + token: ${{ secrets.GH_SENTRY_BOT_PAT }} + script: | + const repoInfo = context.repo; + await github.issues.createComment({ + owner: repoInfo.owner, + repo: 'publish', + title: `publish ${repoInfo.repo}@{process.env.RELEASE_VERSION}`, + // TODO: Remove the following line after verification + labels: ['dry-run'], + }); diff --git a/scripts/post-release.sh b/scripts/post-release.sh new file mode 100755 index 00000000000000..1dbfe87d7c4244 --- /dev/null +++ b/scripts/post-release.sh @@ -0,0 +1,6 @@ +#!/bin/bash +set -eu + +git checkout master +./scripts/bump-version.sh '' $(date -d "$(echo $RELEASE_VERSION | sed -e 's/^\([0-9]\{2\}\)\.\([0-9]\{1,2\}\)\.[0-9]\+$/20\1-\2-1/') 1 month" +%y.%-m.0.dev0) +git diff --quiet || git commit -anm 'meta: Bump new development version' && git pull --rebase && git push From c28171c581056d970ae17cd0679ee3eaab326eeb Mon Sep 17 00:00:00 2001 From: Burak Yigit Kaya Date: Mon, 14 Dec 2020 22:46:02 +0300 Subject: [PATCH 2/3] move release script ownership to @getsentry/releases --- .github/CODEOWNERS | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 09657e3c1ee893..e21cda410d5731 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -32,6 +32,8 @@ # Build & Releases /.github/workflows/release.yml @getsentry/releases +/scripts/bump-version.sh @getsentry/releases +/scripts/post-release.sh @getsentry/releases /docker @getsentry/releases setup.py @getsentry/releases setup.cfg @getsentry/releases From b9e004993c83a83d0dabef57d0f646d2c7d63b3f Mon Sep 17 00:00:00 2001 From: Burak Yigit Kaya Date: Mon, 14 Dec 2020 23:12:40 +0300 Subject: [PATCH 3/3] remove obsolete ZEUS_API_TOKEN --- .github/workflows/release.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index e57022ee6eb536..475de54cf1189a 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -30,8 +30,6 @@ jobs: with: action: prepare version: ${{ env.RELEASE_VERSION }} - env: - ZEUS_API_TOKEN: ${{ secrets.ZEUS_API_TOKEN }} - name: Request publish if: success() uses: actions/github-script@v3