Merge pull request #17 from anaconda/chore/release-automation #5
Workflow file for this run
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: | |
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 | |
if: github.event_name == 'push' # Only run on push to main branch | |
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@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 | |
with: | |
name: anaconda-cli-base-conda-${{ github.sha }} | |
path: ~/anaconda-cli-base-conda-bld | |
- name: publish | |
env: | |
TOKEN: ${{ secrets.ANACONDA_ORG_UPLOAD_TOKEN }} | |
run: | | |
source $CONDA/bin/activate && conda activate build | |
[[ "$GITHUB_REF" =~ ^refs/tags/v ]] || export LABEL="--label dev" | |
anaconda --verbose \ | |
--token $TOKEN \ | |
upload \ | |
--user anaconda-cloud \ | |
$LABEL \ | |
--force \ | |
~/anaconda-cli-base-conda-bld/noarch/anaconda-cli-base-* | |
publish-wheel-to-anaconda-dot-org: | |
name: Publish wheel to Anaconda.org | |
runs-on: ubuntu-latest | |
if: github.event_name == 'push' # Only run on push to main branch | |
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@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 | |
with: | |
name: anaconda-cli-base-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 | |
[[ "$GITHUB_REF" =~ ^refs/tags/v ]] || export LABEL="--label dev" | |
anaconda --verbose \ | |
--token $TOKEN \ | |
upload \ | |
--user anaconda-cloud \ | |
~/dist/*.whl \ | |
--summary \ | |
"A base CLI entrypoint supporting Anaconda CLI plugins" \ | |
$LABEL \ | |
--force \ | |
publish-to-pypi: | |
name: Build & publish to PyPI | |
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@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5 | |
- name: Download the build artifacts | |
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 | |
with: | |
name: anaconda-cli-base-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 }} |