diff --git a/.github/workflows/versioning.yml b/.github/workflows/versioning.yml index 97de6ad..3ae4d04 100644 --- a/.github/workflows/versioning.yml +++ b/.github/workflows/versioning.yml @@ -1,4 +1,4 @@ -# Workflow for managing versioning, tagging, and temporary branches +# Workflow for managing versioning and tagging --- name: Version Bump and Tag @@ -21,7 +21,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: "actions/checkout@v4" - name: Set up Git run: | @@ -36,27 +36,13 @@ jobs: - name: Bump Version run: | - chmod +x ./versioning/bump_version.sh - ./versioning/bump_version.sh + chmod +x "./versioning/bump_version.sh" + "./versioning/bump_version.sh" - name: Push Changes to Temporary Branch env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}" run: | - git push "https://x-access-token:${GITHUB_TOKEN}@github.com/${{ github.repository }}.git" HEAD - - name: Merge Changes into Main - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - git checkout main - git pull "https://x-access-token:${GITHUB_TOKEN}@github.com/${{ github.repository }}.git" main - git merge --no-ff "$TEMP_BRANCH" -m "Automated Version Bump [skip-versioning]" - git push "https://x-access-token:${GITHUB_TOKEN}@github.com/${{ github.repository }}.git" main - - - name: Delete Temporary Branch - if: always() - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - git push "https://x-access-token:${GITHUB_TOKEN}@github.com/${{ github.repository }}.git" --delete "$TEMP_BRANCH" + git push "https://x-access-token:${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repository }}.git" main + git push "https://x-access-token:${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repository }}.git" --tags ... diff --git a/versioning/bump_version.sh b/versioning/bump_version.sh index 5693c61..fdcb88e 100644 --- a/versioning/bump_version.sh +++ b/versioning/bump_version.sh @@ -12,8 +12,8 @@ fi # Extract components CURRENT_YEAR=$(date +%Y) -CURRENT_MONTH=$(date +%-m) # Use %-m to avoid leading zero for the month -if ! [[ "$CURRENT_VERSION" =~ ^[0-9]{4}\.[0-9]+\.[0-9]+$ ]]; then +CURRENT_MONTH=$(date +%m) +if ! [[ "$CURRENT_VERSION" =~ ^[0-9]{4}\.[0-9]{2}\.[0-9]{2}$ ]]; then echo "Error: Invalid version format in $VERSION_FILE" exit 1 fi @@ -24,12 +24,17 @@ VERSION_MONTH=$(echo "$CURRENT_VERSION" | awk -F. '{print $2}') # Determine new version if [[ "$CURRENT_YEAR" == "$VERSION_YEAR" && "$CURRENT_MONTH" == "$VERSION_MONTH" ]]; then - NEXT_SEQ=$((CURRENT_SEQ + 1)) + NEXT_SEQ=$((10#$CURRENT_SEQ + 1)) + if [ $NEXT_SEQ -gt 99 ]; then + echo "Error: Sequence number would exceed 99" + exit 1 + fi + NEW_SEQ=$(printf "%02d" $NEXT_SEQ) else - NEXT_SEQ=1 # Reset sequence for a new month + NEW_SEQ="01" # Reset sequence for a new month fi -NEW_VERSION="${CURRENT_YEAR}.${CURRENT_MONTH}.${NEXT_SEQ}" +NEW_VERSION="${CURRENT_YEAR}.${CURRENT_MONTH}.${NEW_SEQ}" # Update the plain text VERSION file echo "$NEW_VERSION" > "$VERSION_FILE"