From 832615226d62b894bbc83576cc1227aff81e086a Mon Sep 17 00:00:00 2001 From: JoelLucaAdams Date: Tue, 29 Oct 2024 16:00:33 +0000 Subject: [PATCH] Add pipy github workflow --- .github/workflows/build_publish.yml | 49 +++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 .github/workflows/build_publish.yml diff --git a/.github/workflows/build_publish.yml b/.github/workflows/build_publish.yml new file mode 100644 index 0000000..36cba61 --- /dev/null +++ b/.github/workflows/build_publish.yml @@ -0,0 +1,49 @@ +name: Build/publish Python Package + +on: push + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: "3.x" + - name: Install dependencies + run: | + python -m pip install --upgrade pip + python -m pip install build twine + - name: Build package + run: | + python -m build --sdist --wheel + - name: Check package + run: | + python -m twine check dist/* + - name: Store the distribution packages + uses: actions/upload-artifact@v4 + with: + name: python-package-distributions + path: dist/ + + publish-to-pypi: + if: startsWith(github.ref, 'refs/tags/') # only publish to PyPI on tag pushes + needs: + - build + runs-on: ubuntu-latest + environment: + name: release + url: https://pypi.org/p/epyscan + permissions: + id-token: write # IMPORTANT: mandatory for trusted publishing + steps: + - name: Download distribution packages + uses: actions/download-artifact@v4 + with: + name: python-package-distributions + path: dist/ + - name: Publish to PyPI + uses: pypa/gh-action-pypi-publish@release/v1