-
Notifications
You must be signed in to change notification settings - Fork 116
68 lines (64 loc) · 2.75 KB
/
rollback_release.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
name: Rollback Release
on:
workflow_dispatch:
inputs:
branch_from:
description: 'The known good version to re-release (e.g. 2.9.1)'
required: true
deprecated_version:
description: 'The version you are rolling back (e.g. 2.9.2)'
required: true
new_version:
description: 'The new version number (e.g. 2.9.3)'
required: true
env:
AWS_REGION: "us-east-1"
BRANCH_FROM: ${{ inputs.branch_from }}
DEPRECATED_VERSION: ${{ inputs.deprecated_version }}
NEW_VERSION: ${{ inputs.new_version }}
CI_COMMIT_MESSAGE: Re-release v${{ inputs.branch_from }} as v${{ inputs.new_version }}
ROLLBACK_BRANCH: rollback_${{ inputs.deprecated_version }}
NEW_TAG: release_v${{ inputs.new_version }}
jobs:
create-rollback-branch:
runs-on: ubuntu-latest
permissions:
id-token: write
contents: write
steps:
- name: Checkout Source Code
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
with:
ref: ${{ format('release_v{0}', env.BRANCH_FROM) }}
token: ${{ secrets.GH_WORKFLOW_TOKEN }}
- name: Create Rollback Branch
run: git checkout -b ${{ env.ROLLBACK_BRANCH }}
- name: Update Version
run: |
git config --global user.email 41898282+github-actions[bot]@users.noreply.github.com
git config --global user.name github-actions[bot]
sed -i 's/VERSION_NAME=${{ env.BRANCH_FROM }}/VERSION_NAME=${{ env.NEW_VERSION }}/g' gradle.properties
echo -e '## [Release ${{ env.NEW_VERSION }}](https://github.com/${{ github.repository }}/releases/tag/${{ env.NEW_TAG }})\n\nThis is a re-release of version ${{ env.BRANCH_FROM }}. Use this instead of version ${{ env.DEPRECATED_VERSION }}.\n' | cat - CHANGELOG.md > temp && mv temp CHANGELOG.md
git add gradle.properties
git add CHANGELOG.md
git commit -m "${{ env.CI_COMMIT_MESSAGE }}"
- name: Tag Version
run: git tag "${{ env.NEW_TAG }}"
- name: Push Changes
run: git push --atomic origin ${{ env.ROLLBACK_BRANCH }} ${{ env.NEW_TAG }}
publish-rollback:
needs: create-rollback-branch
runs-on: ubuntu-latest
permissions:
id-token: write
steps:
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@5fd3084fc36e372ff1fff382a39b10d03659f355 #2.2.0
with:
role-to-assume: ${{ secrets.AMPLIFY_ANDROID_RELEASE_PUBLISHER_ROLE }}
aws-region: ${{ env.AWS_REGION }}
- name: Start Maven Release Build
uses: aws-actions/aws-codebuild-run-build@2a49e1faf172677d80ce658678e9ff8bd2737d74 #1.0.15
with:
project-name: AmplifyAndroid-ReleasePublisher-V2
source-version-override: ${{ env.NEW_TAG }}