name: pypi-release on: release: types: [published] env: RELEASE_TAG: ${{ github.event.release.tag_name }} PYTHON_VERSION: 3.11 CACHE: "poetry" jobs: release-prowler-job: runs-on: ubuntu-latest env: POETRY_VIRTUALENVS_CREATE: "false" name: Release Prowler to PyPI steps: - name: Get Prowler version run: | PROWLER_VERSION="${{ env.RELEASE_TAG }}" case ${PROWLER_VERSION%%.*} in 3) echo "Releasing Prowler v3 with tag ${PROWLER_VERSION}" ;; 4) echo "Releasing Prowler v4 with tag ${PROWLER_VERSION}" ;; *) echo "Releasing another Prowler major version, aborting..." exit 1 ;; esac - uses: actions/checkout@v4 - name: Install dependencies run: | pipx install poetry - name: Setup Python uses: actions/setup-python@v5 with: python-version: ${{ env.PYTHON_VERSION }} cache: ${{ env.CACHE }} - name: Build Prowler package run: | poetry build - name: Publish Prowler package to PyPI run: | poetry config pypi-token.pypi ${{ secrets.PYPI_API_TOKEN }} poetry publish - name: Replicate PyPI package run: | rm -rf ./dist && rm -rf ./build && rm -rf prowler.egg-info pip install toml python util/replicate_pypi_package.py poetry build - name: Publish prowler-cloud package to PyPI run: | poetry config pypi-token.pypi ${{ secrets.PYPI_API_TOKEN }} poetry publish