From b8cf086d4dd858a50a3e3462d2e4dc0fd57dae60 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Mal=C3=A9s?= <85952626+joaomper-TE@users.noreply.github.com> Date: Thu, 4 Jul 2024 16:29:41 +0100 Subject: [PATCH] Update release.yaml --- .github/workflows/release.yaml | 70 ++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 8b137891..31666175 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -1 +1,71 @@ +name: Release +on: + pull_request: + types: + - closed + +jobs: + set-package-matrix: + # This action returns all sub-packages to be published, except the `thousandeyes-sdk-core`. + # It thens exports the variable to matrix, so that the deployment job is run individually for each sub-package + runs-on: ubuntu-latest + outputs: + packages: ${{ steps.packages.outputs.packages }} + steps: + - uses: actions/checkout@v4 + - id: packages + run: | + FOLDERS_JSON=$(find . -maxdepth 1 -type d -name "thousandeyes-sdk-*" ! -name "thousandeyes-sdk-core"| cut -c 3- | jq -R -s -c 'split("\n")[:-1]') + echo "packages=$FOLDERS_JSON" >> "$GITHUB_OUTPUT" + deployment: + if: github.event.pull_request.merged == true + needs: set-package-matrix + strategy: + matrix: + package-name: ${{ fromJSON(needs.set-package-matrix.outputs.packages) }} + runs-on: ubuntu-latest + permissions: + id-token: write + environment: + name: test + url: https://pypi.org/p/${{ matrix.package-name }} + steps: + - uses: actions/checkout@v4 + - name: Set up Python + uses: actions/setup-python@v5 + with: + cache: pip + cache-dependency-path: '**/pyproject.toml' + - name: Install dependencies + run: | + pip install setuptools wheel build + - name: Build + run: | + cp .version ${{ matrix.package-name }}/ + python -m build ${{ matrix.package-name }} --outdir dist/ + - name: Publish + uses: pypa/gh-action-pypi-publish@release/v1 + with: + skip-existing: true + bump-version: + needs: deployment + name: Bump version and commit + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Set up Python + uses: actions/setup-python@v5 + with: + cache: pip + python-version: '3.11' + - name: Install bumpversion + env: + GITHUB_TOKEN: ${{ secrets.PAT_BYPASS }} + run: | + git config user.name "API Team" + git config user.email "api-team@thousandeyes.com" + + pip install bumpversion + bumpversion minor --commit + git push --force