mirror of
https://github.com/prowler-cloud/prowler.git
synced 2026-03-30 03:49:48 +00:00
146 lines
5.9 KiB
YAML
146 lines
5.9 KiB
YAML
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
|
|
if: github.repository == 'prowler-cloud/prowler'
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
|
|
|
- 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 }}"
|
|
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 }}"
|
|
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.
|