Merge pull request #33 from anaconda/renovate/astral-sh-ruff-pre-comm… #18
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: release | |
on: | |
push: | |
branches: | |
- main | |
tags: | |
- "v*" | |
jobs: | |
test: | |
uses: ./.github/workflows/test.yml | |
publish-conda-pkg-to-anaconda-dot-org: | |
name: Publish conda package to Anaconda.org | |
runs-on: ubuntu-latest | |
needs: [test] | |
steps: | |
- name: Retrieve the source code | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
with: | |
fetch-depth: 0 | |
- name: Create build environment | |
run: | | |
source $CONDA/bin/activate | |
conda create -n build --file ./etc/build.linux-64.lock | |
- name: Download the build artifacts | |
uses: actions/download-artifact@cc203385981b70ca67e1cc392babf9cc229d5806 # v4.1.9 | |
with: | |
name: conda-${{ github.sha }} | |
path: ./conda-bld | |
- name: publish | |
env: | |
TOKEN: ${{ secrets.ANACONDA_ORG_UPLOAD_TOKEN }} | |
run: | | |
source $CONDA/bin/activate && conda activate build | |
# If it's not a tagged release, publish to dev label | |
[[ "$GITHUB_REF" =~ ^refs/tags/v ]] || export LABEL="--label dev" | |
anaconda --verbose \ | |
--token $TOKEN \ | |
upload \ | |
--user anaconda-cloud \ | |
$LABEL \ | |
--force \ | |
./conda-bld/noarch/anaconda-* | |
publish-wheel-to-anaconda-dot-org: | |
name: Publish wheel to Anaconda.org | |
runs-on: ubuntu-latest | |
needs: [test] | |
steps: | |
- name: Retrieve the source code | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
with: | |
fetch-depth: 0 | |
- name: Download the build artifacts | |
uses: actions/download-artifact@cc203385981b70ca67e1cc392babf9cc229d5806 # v4.1.9 | |
with: | |
name: wheel-${{ github.sha }} | |
path: ./dist | |
- name: Create build environment | |
run: | | |
source $CONDA/bin/activate | |
conda create -n build --file ./etc/build.linux-64.lock | |
- name: Upload to anaconda.org | |
env: | |
TOKEN: ${{ secrets.ANACONDA_ORG_UPLOAD_TOKEN }} | |
GITHUB_REF: ${{ github.ref }} | |
run: | | |
source $CONDA/bin/activate && conda activate build | |
# If it's not a tagged release, publish to dev label | |
[[ "$GITHUB_REF" =~ ^refs/tags/v ]] || export LABEL="--label dev" | |
anaconda --verbose \ | |
--token $TOKEN \ | |
upload \ | |
--user anaconda-cloud \ | |
$LABEL \ | |
--force \ | |
./dist/*.whl | |
publish-to-pypi: | |
name: Build & publish to PyPI | |
# Only publish to PyPI if a tagged release | |
if: startsWith(github.event.ref, 'refs/tags/v') | |
runs-on: ubuntu-latest | |
needs: [test] | |
steps: | |
- name: Checkout | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
- name: Setup Python | |
uses: actions/setup-python@42375524e23c412d93fb67b49958b491fce71c38 # v5.4.0 | |
- name: Download the build artifacts | |
uses: actions/download-artifact@cc203385981b70ca67e1cc392babf9cc229d5806 # v4.1.9 | |
with: | |
name: wheel-${{ github.sha }} | |
path: ./dist | |
- name: Create build environment | |
run: | | |
source $CONDA/bin/activate | |
conda create -n build --file ./etc/build.linux-64.lock | |
- name: Upload to PyPI with twine | |
run: | | |
source $CONDA/bin/activate && conda activate build | |
twine upload ./dist/* | |
env: | |
TWINE_USERNAME: __token__ | |
TWINE_PASSWORD: ${{ secrets.PYPI_TOKEN }} |