From 5a70fe5bc06fb3d80312296e44e4814a156bb09b Mon Sep 17 00:00:00 2001 From: Samuel Orji Date: Mon, 2 Oct 2023 00:15:12 +0100 Subject: [PATCH] feature: add auto version bump after release (#186) * feature: add auto version bump after release Signed-off-by: samuel orji * review feedback Signed-off-by: samuel orji --------- Signed-off-by: samuel orji --- .github/workflows/version.yml | 61 +++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 .github/workflows/version.yml diff --git a/.github/workflows/version.yml b/.github/workflows/version.yml new file mode 100644 index 00000000..a2924b7a --- /dev/null +++ b/.github/workflows/version.yml @@ -0,0 +1,61 @@ +name: Increment Version + +on: + push: + tags: + - 'v*.*.*' + +permissions: {} +jobs: + build: + if: github.repository == 'opensearch-project/opensearch-rs' + runs-on: ubuntu-latest + steps: + - name: GitHub App token + id: github_app_token + uses: tibdex/github-app-token@v2.1.0 + with: + app_id: ${{ secrets.APP_ID }} + private_key: ${{ secrets.APP_PRIVATE_KEY }} + installation_id: 22958780 + + - uses: actions/checkout@v4 + - name: Fetch and Update Version Information + run: | + TAG=$(echo "${GITHUB_REF#refs/*/v}") + CURRENT_VERSION_ARRAY=($(echo "$TAG" | tr . '\n')) + BASE=$(IFS=. ; echo "${CURRENT_VERSION_ARRAY[*]:0:2}") + CURRENT_VERSION=$(IFS=. ; echo "${CURRENT_VERSION_ARRAY[*]:0:3}") + CURRENT_VERSION_ARRAY[2]=$((CURRENT_VERSION_ARRAY[2]+1)) + NEXT_VERSION=$(IFS=. ; echo "${CURRENT_VERSION_ARRAY[*]:0:3}") + echo "TAG=$TAG" >> $GITHUB_ENV + echo "CURRENT_VERSION=$CURRENT_VERSION" >> $GITHUB_ENV + echo "NEXT_VERSION=$NEXT_VERSION" >> $GITHUB_ENV + echo "BASE=$BASE" >> $GITHUB_ENV + + - uses: actions/checkout@v4 + with: + ref: ${{ env.BASE }} + token: ${{ steps.github_app_token.outputs.token }} + + - name: Increment Patch Version + run: | + echo Incrementing $CURRENT_VERSION to $NEXT_VERSION + sed -i '' -e "s/^version = \"$CURRENT_VERSION\"/version = \"$NEXT_VERSION\"/g" opensearch/Cargo.toml + sed -i '' -e "s/^version = \"$CURRENT_VERSION\"/version = \"$NEXT_VERSION\"/g" api_generator/Cargo.toml + sed -i '' -e "s/^version = \"$CURRENT_VERSION\"/version = \"$NEXT_VERSION\"/g" yaml_test_runner/Cargo.toml + + - name: Create Pull Request + uses: peter-evans/create-pull-request@v3 + with: + token: ${{ steps.github_app_token.outputs.token }} + base: ${{ env.BASE }} + branch: 'create-pull-request/patch- ${{ env.BASE }}' + commit-message: Increment version to ${{ env.NEXT_VERSION }} + signoff: true + delete-branch: true + labels: | + autocut + title: '[AUTO] Increment version to ${{ env.NEXT_VERSION }}.' + body: | + I've noticed that a new tag ${{ env.TAG }} was pushed, and incremented the version from ${{ env.CURRENT_VERSION }} to ${{ env.NEXT_VERSION }}. \ No newline at end of file