From 47b4691b690c7b5a3a9a6fb7d5c5b827cdf2e26e Mon Sep 17 00:00:00 2001 From: BW27492 Date: Wed, 20 Dec 2023 15:45:34 +0000 Subject: [PATCH 1/5] Added config for automated publishing to PyPI and TestPyPI --- .github/workflows/python-publish.yml | 108 +++++++++++++++++++++++++++ 1 file changed, 108 insertions(+) create mode 100644 .github/workflows/python-publish.yml diff --git a/.github/workflows/python-publish.yml b/.github/workflows/python-publish.yml new file mode 100644 index 000000000..394a0d390 --- /dev/null +++ b/.github/workflows/python-publish.yml @@ -0,0 +1,108 @@ +name: Publish Bailo Distribution to PyPI + +on: + push: + branches: [main] + pull_request: + branches: [main] + +jobs: + build: + name: Build distribution + runs-on: ubuntu-latest + outputs: + files-changed-output: ${{ steps.files-changed.outputs.any_changed }} + + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + + # Check for changed init file (for new version) + - name: Get changed init files + id: files-changed + uses: tj-actions/changed-files@v40 + with: + files: | + lib/python-beta/src/bailo/__init__.py + + # Setup Python + - name: Set up Python + uses: actions/setup-python@v4 + with: + python-version: "3.11" + + # Install build package + - name: Install pypa/build + run: python3 -m pip install build --user + + # Build Bailo distribution + - name: Build a binary wheel and a source tarball + run: | + cd lib/python-beta + python3 -m build + + # Upload Bailo artifact + - name: Store the distribution packages + uses: actions/upload-artifact@v3 + with: + name: python-package-distributions + path: lib/python-beta/dist/ + + publish-to-pypi: + if: github.event_name == 'push' + name: Publish Bailo distribution to PyPI + needs: + - build + runs-on: ubuntu-latest + + environment: + name: pypi + url: https://pypi.org/p/bailo + + permissions: + id-token: write + + steps: + # Retrieve Bailo artifact + - name: Download all the dists + if: ${{needs.build.outputs.files-changed-output}} == 'true' + uses: actions/download-artifact@v3 + with: + name: python-package-distributions + path: lib/python-beta/dist/ + + # Publish artifact to PyPI + - name: Publish distribution to PyPI + if: ${{needs.build.outputs.files-changed-output}} == 'true' + uses: pypa/gh-action-pypi-publish@release/v1 + + publish-to-testpypi: + if: github.event_name == 'pull_request' + name: Publish Bailo distribution to TestPyPI + needs: + - build + runs-on: ubuntu-latest + + environment: + name: testpypi + url: https://test.pypi.org/p/bailo + + permissions: + id-token: write + + steps: + #Retrieve Bailo artifact + - name: Download all the dists + if: ${{needs.build.outputs.files-changed-output}} == 'true' + uses: actions/download-artifact@v3 + with: + name: python-package-distributions + path: dist/ + + # Publish artifact to TestPyPI + - name: Publish distribution to TestPyPI + if: ${{needs.build.outputs.files-changed-output}} == 'true' + uses: pypa/gh-action-pypi-publish@release/v1 + with: + repository-url: https://test.pypi.org/legacy/ \ No newline at end of file From e905f4285518a2671b47b4649701ef6340ce86ce Mon Sep 17 00:00:00 2001 From: BW27492 Date: Wed, 20 Dec 2023 15:48:32 +0000 Subject: [PATCH 2/5] Fix to config --- .github/workflows/python-publish.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/python-publish.yml b/.github/workflows/python-publish.yml index 394a0d390..4ebf3ec50 100644 --- a/.github/workflows/python-publish.yml +++ b/.github/workflows/python-publish.yml @@ -94,7 +94,7 @@ jobs: steps: #Retrieve Bailo artifact - name: Download all the dists - if: ${{needs.build.outputs.files-changed-output}} == 'true' + if: needs.build.outputs.files-changed-output == 'true' uses: actions/download-artifact@v3 with: name: python-package-distributions @@ -102,7 +102,7 @@ jobs: # Publish artifact to TestPyPI - name: Publish distribution to TestPyPI - if: ${{needs.build.outputs.files-changed-output}} == 'true' + if: needs.build.outputs.files-changed-output == 'true' uses: pypa/gh-action-pypi-publish@release/v1 with: repository-url: https://test.pypi.org/legacy/ \ No newline at end of file From 189d4791d489a43736eba8c9027c83d5270db286 Mon Sep 17 00:00:00 2001 From: BW27492 Date: Wed, 20 Dec 2023 15:53:07 +0000 Subject: [PATCH 3/5] Workflow config fix for PyPI --- .github/workflows/python-publish.yml | 4 ++-- lib/python-beta/src/bailo/__init__.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/python-publish.yml b/.github/workflows/python-publish.yml index 4ebf3ec50..935c90d28 100644 --- a/.github/workflows/python-publish.yml +++ b/.github/workflows/python-publish.yml @@ -66,7 +66,7 @@ jobs: steps: # Retrieve Bailo artifact - name: Download all the dists - if: ${{needs.build.outputs.files-changed-output}} == 'true' + if: needs.build.outputs.files-changed-output == 'true' uses: actions/download-artifact@v3 with: name: python-package-distributions @@ -74,7 +74,7 @@ jobs: # Publish artifact to PyPI - name: Publish distribution to PyPI - if: ${{needs.build.outputs.files-changed-output}} == 'true' + if: needs.build.outputs.files-changed-output == 'true' uses: pypa/gh-action-pypi-publish@release/v1 publish-to-testpypi: diff --git a/lib/python-beta/src/bailo/__init__.py b/lib/python-beta/src/bailo/__init__.py index 7e90b6cf0..6abc805d2 100644 --- a/lib/python-beta/src/bailo/__init__.py +++ b/lib/python-beta/src/bailo/__init__.py @@ -1,6 +1,6 @@ from __future__ import annotations -__version__ = "0.2.0" +__version__ = "0.2.1" from bailo.core.agent import Agent from bailo.core.client import Client From 037fb3a8354052c824d63542ae297c3254c2d35e Mon Sep 17 00:00:00 2001 From: BW27492 Date: Wed, 20 Dec 2023 16:54:49 +0000 Subject: [PATCH 4/5] Changed TestPyPI publish to run on workflow_dispatch event --- .github/workflows/python-publish.yml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/python-publish.yml b/.github/workflows/python-publish.yml index 935c90d28..5ec2de612 100644 --- a/.github/workflows/python-publish.yml +++ b/.github/workflows/python-publish.yml @@ -3,8 +3,10 @@ name: Publish Bailo Distribution to PyPI on: push: branches: [main] - pull_request: - branches: [main] + workflow_dispatch: + inputs: + tags: + description: 'Publish to TestPyPI.' jobs: build: @@ -78,7 +80,7 @@ jobs: uses: pypa/gh-action-pypi-publish@release/v1 publish-to-testpypi: - if: github.event_name == 'pull_request' + if: github.event_name == 'workflow_dispatch' name: Publish Bailo distribution to TestPyPI needs: - build From c9d08801dbb0a5ff731b87ecebbbfe025647fa9f Mon Sep 17 00:00:00 2001 From: BW27492 Date: Wed, 20 Dec 2023 17:10:04 +0000 Subject: [PATCH 5/5] Split workflow files --- .github/workflows/python-publish-test.yml | 79 +++++++++++++++++++++++ .github/workflows/python-publish.yml | 37 +---------- 2 files changed, 80 insertions(+), 36 deletions(-) create mode 100644 .github/workflows/python-publish-test.yml diff --git a/.github/workflows/python-publish-test.yml b/.github/workflows/python-publish-test.yml new file mode 100644 index 000000000..64679d582 --- /dev/null +++ b/.github/workflows/python-publish-test.yml @@ -0,0 +1,79 @@ +name: Publish Bailo Distribution to TestPyPI + +on: + workflow_dispatch: + inputs: + tags: + description: 'Publish to TestPyPI.' + +jobs: + build: + name: Build distribution + runs-on: ubuntu-latest + outputs: + files-changed-output: ${{ steps.files-changed.outputs.any_changed }} + + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + + # Check for changed init file (for new version) + - name: Get changed init files + id: files-changed + uses: tj-actions/changed-files@v40 + with: + files: | + lib/python-beta/src/bailo/__init__.py + + # Setup Python + - name: Set up Python + uses: actions/setup-python@v4 + with: + python-version: "3.11" + + # Install build package + - name: Install pypa/build + run: python3 -m pip install build --user + + # Build Bailo distribution + - name: Build a binary wheel and a source tarball + run: | + cd lib/python-beta + python3 -m build + + # Upload Bailo artifact + - name: Store the distribution packages + uses: actions/upload-artifact@v3 + with: + name: python-package-distributions + path: lib/python-beta/dist/ + + publish-to-testpypi: + name: Publish Bailo distribution to TestPyPI + needs: + - build + runs-on: ubuntu-latest + + environment: + name: testpypi + url: https://test.pypi.org/p/bailo + + permissions: + id-token: write + + steps: + #Retrieve Bailo artifact + - name: Download all the dists + if: needs.build.outputs.files-changed-output == 'true' + uses: actions/download-artifact@v3 + with: + name: python-package-distributions + path: dist/ + + # Publish artifact to TestPyPI + - name: Publish distribution to TestPyPI + if: needs.build.outputs.files-changed-output == 'true' + uses: pypa/gh-action-pypi-publish@release/v1 + with: + repository-url: https://test.pypi.org/legacy/ \ No newline at end of file diff --git a/.github/workflows/python-publish.yml b/.github/workflows/python-publish.yml index 5ec2de612..901613f4d 100644 --- a/.github/workflows/python-publish.yml +++ b/.github/workflows/python-publish.yml @@ -3,10 +3,6 @@ name: Publish Bailo Distribution to PyPI on: push: branches: [main] - workflow_dispatch: - inputs: - tags: - description: 'Publish to TestPyPI.' jobs: build: @@ -52,7 +48,6 @@ jobs: path: lib/python-beta/dist/ publish-to-pypi: - if: github.event_name == 'push' name: Publish Bailo distribution to PyPI needs: - build @@ -77,34 +72,4 @@ jobs: # Publish artifact to PyPI - name: Publish distribution to PyPI if: needs.build.outputs.files-changed-output == 'true' - uses: pypa/gh-action-pypi-publish@release/v1 - - publish-to-testpypi: - if: github.event_name == 'workflow_dispatch' - name: Publish Bailo distribution to TestPyPI - needs: - - build - runs-on: ubuntu-latest - - environment: - name: testpypi - url: https://test.pypi.org/p/bailo - - permissions: - id-token: write - - steps: - #Retrieve Bailo artifact - - name: Download all the dists - if: needs.build.outputs.files-changed-output == 'true' - uses: actions/download-artifact@v3 - with: - name: python-package-distributions - path: dist/ - - # Publish artifact to TestPyPI - - name: Publish distribution to TestPyPI - if: needs.build.outputs.files-changed-output == 'true' - uses: pypa/gh-action-pypi-publish@release/v1 - with: - repository-url: https://test.pypi.org/legacy/ \ No newline at end of file + uses: pypa/gh-action-pypi-publish@release/v1 \ No newline at end of file