name: SDK - Bump Version on: release: types: [published] env: PROWLER_VERSION: ${{ github.event.release.tag_name }} BASE_BRANCH: master jobs: bump-version: name: Bump Version runs-on: ubuntu-latest steps: - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 - name: Get Prowler version shell: bash run: | if [[ $PROWLER_VERSION =~ ^([0-9]+)\.([0-9]+)\.([0-9]+)$ ]]; then MAJOR_VERSION=${BASH_REMATCH[1]} MINOR_VERSION=${BASH_REMATCH[2]} FIX_VERSION=${BASH_REMATCH[3]} # Export version components to GitHub environment echo "MAJOR_VERSION=${MAJOR_VERSION}" >> "${GITHUB_ENV}" echo "MINOR_VERSION=${MINOR_VERSION}" >> "${GITHUB_ENV}" echo "FIX_VERSION=${FIX_VERSION}" >> "${GITHUB_ENV}" if (( MAJOR_VERSION == 5 )); then if (( FIX_VERSION == 0 )); then echo "Minor Release: $PROWLER_VERSION" # Set up next minor version for master BUMP_VERSION_TO=${MAJOR_VERSION}.$((MINOR_VERSION + 1)).${FIX_VERSION} echo "BUMP_VERSION_TO=${BUMP_VERSION_TO}" >> "${GITHUB_ENV}" TARGET_BRANCH=${BASE_BRANCH} echo "TARGET_BRANCH=${TARGET_BRANCH}" >> "${GITHUB_ENV}" # Set up patch version for version branch PATCH_VERSION_TO=${MAJOR_VERSION}.${MINOR_VERSION}.1 echo "PATCH_VERSION_TO=${PATCH_VERSION_TO}" >> "${GITHUB_ENV}" VERSION_BRANCH=v${MAJOR_VERSION}.${MINOR_VERSION} echo "VERSION_BRANCH=${VERSION_BRANCH}" >> "${GITHUB_ENV}" echo "Bumping to next minor version: ${BUMP_VERSION_TO} in branch ${TARGET_BRANCH}" echo "Bumping to next patch version: ${PATCH_VERSION_TO} in branch ${VERSION_BRANCH}" else echo "Patch Release: $PROWLER_VERSION" BUMP_VERSION_TO=${MAJOR_VERSION}.${MINOR_VERSION}.$((FIX_VERSION + 1)) echo "BUMP_VERSION_TO=${BUMP_VERSION_TO}" >> "${GITHUB_ENV}" TARGET_BRANCH=v${MAJOR_VERSION}.${MINOR_VERSION} echo "TARGET_BRANCH=${TARGET_BRANCH}" >> "${GITHUB_ENV}" echo "Bumping to next patch version: ${BUMP_VERSION_TO} in branch ${TARGET_BRANCH}" fi else echo "Releasing another Prowler major version, aborting..." exit 1 fi else echo "Invalid version syntax: '$PROWLER_VERSION' (must be N.N.N)" >&2 exit 1 fi - name: Bump versions in files run: | echo "Using PROWLER_VERSION=$PROWLER_VERSION" echo "Using BUMP_VERSION_TO=$BUMP_VERSION_TO" set -e echo "Bumping version in pyproject.toml ..." sed -i "s|version = \"${PROWLER_VERSION}\"|version = \"${BUMP_VERSION_TO}\"|" pyproject.toml echo "Bumping version in prowler/config/config.py ..." sed -i "s|prowler_version = \"${PROWLER_VERSION}\"|prowler_version = \"${BUMP_VERSION_TO}\"|" prowler/config/config.py echo "Bumping version in .env ..." sed -i "s|NEXT_PUBLIC_PROWLER_RELEASE_VERSION=v${PROWLER_VERSION}|NEXT_PUBLIC_PROWLER_RELEASE_VERSION=v${BUMP_VERSION_TO}|" .env git --no-pager diff - name: Create Pull Request uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e # v7.0.8 with: author: prowler-bot <179230569+prowler-bot@users.noreply.github.com> token: ${{ secrets.PROWLER_BOT_ACCESS_TOKEN }} base: ${{ env.TARGET_BRANCH }} commit-message: "chore(release): Bump version to v${{ env.BUMP_VERSION_TO }}" branch: "version-bump-to-v${{ env.BUMP_VERSION_TO }}" title: "chore(release): Bump version to v${{ env.BUMP_VERSION_TO }}" labels: no-changelog body: | ### Description Bump Prowler version to v${{ env.BUMP_VERSION_TO }} ### License By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license. - name: Handle patch version for minor release if: env.FIX_VERSION == '0' run: | echo "Using PROWLER_VERSION=$PROWLER_VERSION" echo "Using PATCH_VERSION_TO=$PATCH_VERSION_TO" set -e echo "Bumping version in pyproject.toml ..." sed -i "s|version = \"${PROWLER_VERSION}\"|version = \"${PATCH_VERSION_TO}\"|" pyproject.toml echo "Bumping version in prowler/config/config.py ..." sed -i "s|prowler_version = \"${PROWLER_VERSION}\"|prowler_version = \"${PATCH_VERSION_TO}\"|" prowler/config/config.py echo "Bumping version in .env ..." sed -i "s|NEXT_PUBLIC_PROWLER_RELEASE_VERSION=v${PROWLER_VERSION}|NEXT_PUBLIC_PROWLER_RELEASE_VERSION=v${PATCH_VERSION_TO}|" .env git --no-pager diff - name: Create Pull Request for patch version if: env.FIX_VERSION == '0' uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e # v7.0.8 with: author: prowler-bot <179230569+prowler-bot@users.noreply.github.com> token: ${{ secrets.PROWLER_BOT_ACCESS_TOKEN }} base: ${{ env.VERSION_BRANCH }} commit-message: "chore(release): Bump version to v${{ env.PATCH_VERSION_TO }}" branch: "version-bump-to-v${{ env.PATCH_VERSION_TO }}" title: "chore(release): Bump version to v${{ env.PATCH_VERSION_TO }}" labels: no-changelog body: | ### Description Bump Prowler version to v${{ env.PATCH_VERSION_TO }} ### License By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.