From 1aece2aced72843aefd4cd185a6113b8bfe3b6d9 Mon Sep 17 00:00:00 2001 From: Lukas Melninkas Date: Mon, 22 Apr 2024 19:36:41 +0300 Subject: [PATCH] Separate publish and publish-pr workflows --- .github/workflows/pr-publish-to-test-pypi.yml | 61 +++++++++++++++++++ .github/workflows/publish-to-pypi.yml | 14 ----- 2 files changed, 61 insertions(+), 14 deletions(-) create mode 100644 .github/workflows/pr-publish-to-test-pypi.yml diff --git a/.github/workflows/pr-publish-to-test-pypi.yml b/.github/workflows/pr-publish-to-test-pypi.yml new file mode 100644 index 0000000..4c9f9c3 --- /dev/null +++ b/.github/workflows/pr-publish-to-test-pypi.yml @@ -0,0 +1,61 @@ +name: Publish to Test PyPi + +on: # yamllint disable-line rule:truthy + pull_request: + types: + - labeled + - opened + - synchronize + workflow_dispatch: + +jobs: + build: + if: | + contains( github.event.pull_request.labels.*.name, 'publish-pr') || + contains( github.event.pull_request.labels.*.name, 'build-pr') + name: Build package + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + - name: Set up Python 3.9 + uses: actions/setup-python@v4 + with: + python-version: 3.9 + - name: Install build dependencies + run: python -m pip install poetry==1.4.2 poetry-dynamic-versioning==1.2.0 + - name: Install project + run: poetry install + - name: Build Python package + run: poetry build + - name: Store the distribution packages + uses: actions/upload-artifact@v3 + with: + name: python-package-distributions + path: dist/ + + publish-to-testpypi: + if: contains( github.event.pull_request.labels.*.name, 'publish-pr') + name: Publish package to TestPyPI + needs: + - build + runs-on: ubuntu-latest + + environment: + name: testpypi + url: https://test.pypi.org/p/pyap2 + + permissions: + id-token: write + + steps: + - name: Download all the dists + uses: actions/download-artifact@v3 + with: + name: python-package-distributions + path: dist/ + - name: Publish distribution to TestPyPI + uses: pypa/gh-action-pypi-publish@release/v1 + with: + repository-url: https://test.pypi.org/legacy/ diff --git a/.github/workflows/publish-to-pypi.yml b/.github/workflows/publish-to-pypi.yml index 0dc8eac..325bab7 100644 --- a/.github/workflows/publish-to-pypi.yml +++ b/.github/workflows/publish-to-pypi.yml @@ -1,15 +1,6 @@ name: Publish to PyPi on: # yamllint disable-line rule:truthy - push: - branches: - - master - - main - pull_request: - types: - - labeled - - opened - - synchronize release: types: - published @@ -17,9 +8,6 @@ on: # yamllint disable-line rule:truthy jobs: build: - if: | - contains( github.event.pull_request.labels.*.name, 'publish-pr') || - contains( github.event.pull_request.labels.*.name, 'build-pr') name: Build package runs-on: ubuntu-latest steps: @@ -43,7 +31,6 @@ jobs: path: dist/ publish-to-pypi: - if: contains( github.event.pull_request.labels.*.name, 'publish-pr') name: Publish package to PyPI needs: - build @@ -66,7 +53,6 @@ jobs: uses: pypa/gh-action-pypi-publish@release/v1 publish-to-testpypi: - if: contains( github.event.pull_request.labels.*.name, 'publish-pr') name: Publish package to TestPyPI needs: - build