Release #53
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Release | |
| on: | |
| workflow_dispatch: | |
| inputs: | |
| version-override: | |
| type: string | |
| required: false | |
| description: 'Optionally specify a custom release version (minor version bump e.g.)' | |
| kn-release: | |
| type: boolean | |
| required: false | |
| default: false | |
| description: 'Whether the release is a KN variant of repo tools or not' | |
| permissions: | |
| id-token: write | |
| contents: write | |
| jobs: | |
| release: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout source | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| fetch-tags: true | |
| - name: Resolve new version | |
| id: resolve-new-version | |
| run: | | |
| if [ -n "${{ inputs.version-override }}" ]; then | |
| echo "NEW_VERSION=${{ inputs.version-override }}" >> "$GITHUB_OUTPUT" | |
| exit 0 | |
| fi | |
| if [ "${{ inputs.kn-release }}" == "true" ]; then | |
| CURRENT_VERSION=$(git tag --sort=-creatordate | grep -- '-kn$' | head -n 1) | |
| else | |
| CURRENT_VERSION=$(git tag --sort=-creatordate | grep -v -- '-kn$' | head -n 1) | |
| fi | |
| IFS='.' read -r MAJOR MINOR PATCH <<< "$CURRENT_VERSION" | |
| PATCH_NUMBER=${PATCH%%[^0-9]*} | |
| PATCH_SUFFIX=${PATCH#$PATCH_NUMBER} | |
| ((PATCH_NUMBER++)) | |
| echo "NEW_VERSION=$MAJOR.$MINOR.$PATCH_NUMBER$PATCH_SUFFIX" >> "$GITHUB_OUTPUT" | |
| - name: Create new version tag | |
| env: | |
| NEW_VERSION: ${{ steps.resolve-new-version.outputs.NEW_VERSION }} | |
| run: | | |
| git config user.name aws-sdk-kotlin-ci | |
| git config user.email "[email protected]" | |
| git tag "$NEW_VERSION" | |
| git push origin "$NEW_VERSION" | |
| - name: Configure AWS credentials | |
| uses: aws-actions/configure-aws-credentials@v4 | |
| with: | |
| role-to-assume: ${{ secrets.PUBLISHING_ROLE_ARN }} | |
| aws-region: us-west-2 | |
| - name: Run codebuild release job | |
| uses: aws-actions/aws-codebuild-run-build@v1 | |
| with: | |
| project-name: publish-aws-kotlin-repo-tools | |
| source-version-override: ${{ steps.resolve-new-version.outputs.NEW_VERSION }} | |
| - name: Delete failed release tag | |
| if: ${{ failure() }} | |
| run: | | |
| git push --delete origin ${{ steps.resolve-new-version.outputs.NEW_VERSION }} |