Skip to content

Commit

Permalink
Merge pull request #2048 from devtron-labs/tagging-implementation
Browse files Browse the repository at this point in the history
chore: adding mech for tagging
  • Loading branch information
kirandevtn authored Sep 16, 2024
2 parents 0d290e5 + 5e94f01 commit ce4fac0
Showing 1 changed file with 52 additions and 0 deletions.
52 changes: 52 additions & 0 deletions .github/workflows/tag-patch-incre.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
name: Increment tag for patch or minor

on:
pull_request:
branches:
- main
types:
- closed # Trigger only when a PR is closed (merged or not)

jobs:
tag:
if: github.event.pull_request.merged == true
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3
with:
fetch-depth: 0

- name: Create new tag
env:
TOKEN: ${{ secrets.TAG_CREATION_TOKEN_PUBLIC }}
run: |
echo $TOKEN | gh auth login --with-token
latest_tag=$(git tag | sort -V | tail -n 1)
echo "Latest tag: $latest_tag"
# Extract major and minor versions
version=$(echo $latest_tag | cut -d. -f1-2)
# Extract patch version
patch=$(echo $latest_tag | cut -d. -f3)
# Extract minor version
minor=$(echo $latest_tag | cut -d. -f2)
major=$(echo $latest_tag | cut -d. -f1)
# Check if the incoming branch starts with 'release-candidate-'
incoming_branch="${{ github.head_ref }}"
if [[ "$incoming_branch" == release-candidate-* ]]; then
# Increment minor version and reset patch
new_minor=$((minor+1))
new_tag="$major.$new_minor.0"
echo "New tag will be (minor increment): $new_tag"
else
# Increment patch version
new_tag="$version.$((patch+1))"
echo "New tag will be (patch increment): $new_tag"
fi
git config --global user.email "[email protected]"
git config --global user.name "systemsdt"
git tag $new_tag
git push origin $new_tag

0 comments on commit ce4fac0

Please sign in to comment.