diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml new file mode 100644 index 0000000..2a68639 --- /dev/null +++ b/.github/workflows/publish.yaml @@ -0,0 +1,30 @@ +--- +name: Publish python package +on: + release: + types: [created] +jobs: + tests: + uses: ./.github/workflows/tests.yml + publish_on_pypi: + runs-on: ubuntu-latest + needs: [tests] + environment: release + permissions: + id-token: write + steps: + - uses: actions/checkout@v4 + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: '3.x' + cache: pip + cache-dependency-path: '**/pyproject.toml' + - name: Install dependencies + run: | + pip install build + - name: Build + run: | + python -m build + - name: Publish + uses: pypa/gh-action-pypi-publish@release/v1 diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index a5d7f6f..8e9ac5a 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -1,5 +1,5 @@ name: tests -on: ["push", "pull_request"] +on: ['push', 'pull_request', 'workflow_call'] jobs: tests: runs-on: ${{ matrix.os }} @@ -31,8 +31,8 @@ jobs: steps: - uses: actions/checkout@v4 - - name: Set up Python ${{ matrix.python-version }} on ${{ matrix.architecture }} - uses: actions/setup-python@v4 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }}