diff --git a/.github/workflows/deploy.yaml b/.github/workflows/deploy.yaml new file mode 100644 index 0000000..051b0d7 --- /dev/null +++ b/.github/workflows/deploy.yaml @@ -0,0 +1,64 @@ +name: Build and upload to PyPI + +on: + push: + branches: + - master + tags: + - "*" + release: + types: + - published + + +concurrency: + group: "${{ github.ref }}-${{ github.head_ref }}-${{ github.workflow }}" + cancel-in-progress: true + + +defaults: + run: + shell: bash -l {0} + + +jobs: + build_wheels: + environment: deploy + if: "github.repository == 'alchemistry/alchemtest'" + name: Build pure Python wheel and tarball + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: setup_miniconda + uses: conda-incubator/setup-miniconda@v2 + with: + python-version: 3.9 + auto-update-conda: true + add-pip-as-python-dependency: true + architecture: x64 + + - name: install_deps + run: | + python -m pip install build + + - name: build + run: | + python -m build --sdist --wheel --outdir dist/ + + - name: publish_testpypi + # Upload to testpypi on every tag + if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/') + uses: pypa/gh-action-pypi-publish@master + with: + password: ${{ secrets.TEST_PYPI_API_TOKEN }} + repository_url: https://test.pypi.org/legacy/ + + - name: publish_pypi + if: github.event_name == 'release' && github.event.action == 'published' + uses: pypa/gh-action-pypi-publish@master + with: + password: ${{ secrets.PYPI_API_TOKEN }}