Skip to content

Commit

Permalink
ci: add kick off release workflow (#10)
Browse files Browse the repository at this point in the history
  • Loading branch information
5d authored Aug 28, 2024
1 parent 6a01afc commit 36a06cc
Show file tree
Hide file tree
Showing 2 changed files with 76 additions and 0 deletions.
9 changes: 9 additions & 0 deletions .github/scripts/bump-version.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
#!/bin/bash

if [[ -z "${RELEASE_VERSION}" ]]; then
echo 'Environment Var RELEASE_VERSION is not defined, aborting...'
exit 1
fi

sed -E -i "s/[[:digit:]]+.[[:digit:]]+.[[:digit:]]+/${RELEASE_VERSION}/" \
$(pwd)/Sources/AWSAppSyncApolloExtensions/Utilities/PackageInfo.swift
67 changes: 67 additions & 0 deletions .github/workflows/kick-off-release.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
name: Kick off release

run-name: Kick off release ${{ github.event.inputs.release-version }}

on:
workflow_dispatch:
inputs:
release-version:
description: Release version
required: true

permissions:
pull-requests: write
contents: write

jobs:
validate-version-format:
name: Validate Release Version Format
if: ${{ github.ref_name == 'main' }}
runs-on: ubuntu-latest
env:
RELEASE_VERSION: ${{ github.event.inputs.release-version }}
steps:
- name: Validate release version input
run: |
if [[ "$RELEASE_VERSION" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]
then
echo "Valid version - $RELEASE_VERSION"
else
echo "Invalid version - $RELEASE_VERSION"
exit 1
fi
shell: bash

create-release-pr:
name: Create release PR for ${{ github.event.inputs.release-version }}
runs-on: ubuntu-latest
needs:
- validate-version-format
env:
RELEASE_VERSION: ${{ github.event.inputs.release-version }}
steps:
- name: Checkout Code
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
ref: main

- name: Bump versions to ${{ env.RELEASE_VERSION }}
run: |
git checkout -b bump-version/$RELEASE_VERSION main
/bin/bash ./.github/scripts/bump-version.sh
git config user.name aws-amplify-ops
git config user.email [email protected]
git add -A
git commit -am "[bump version $RELEASE_VERSION]"
git push origin HEAD
shell: bash

- name: Create Pull Request
env:
GH_TOKEN: ${{ github.token }}
run: |
gh pr create \
--title "bump version to $RELEASE_VERSION" \
--body "bump version to $RELEASE_VERSION" \
--head bump-version/$RELEASE_VERSION \
--base release

0 comments on commit 36a06cc

Please sign in to comment.