Skip to content

Commit

Permalink
Add workflow actions for automated release to PyPI
Browse files Browse the repository at this point in the history
  • Loading branch information
alejoe91 committed Jan 24, 2024
1 parent 4ef2801 commit ea6e873
Show file tree
Hide file tree
Showing 2 changed files with 71 additions and 0 deletions.
43 changes: 43 additions & 0 deletions .github/workflows/publish-to-pypi-test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: Release to Test PyPI

on:
push:
tags:
- '*'
jobs:
release:
environment: TEST_PYPI_API_TOKEN
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- name: Set up Python 3.10
uses: actions/setup-python@v4
with:
python-version: "3.10"
- name: Install Tools
run: |
python -m pip install --upgrade pip
pip install setuptools wheel twine build
pip install .
- name: Test version/tag correspondence
id: version-check
run: |
neo_version=$(python -c "import neo; print(neo.__version__)")
if [[ ${{ github.event.release.tag_name }} == $neo_version ]]; then
echo "VERSION_TAG_MATCH=true" >> $GITHUB_OUTPUT
echo "Version matches tag, proceeding with release to Test PyPI"
else
echo "VERSION_TAG_MATCH=false" >> $GITHUB_OUTPUT
echo "Version does not match tag! Fix this before proceeding."
exit 1
fi
- name: Package and Upload
env:
STACKMANAGER_VERSION: ${{ github.event.release.tag_name }}
TWINE_USERNAME: __token__
TWINE_PASSWORD: ${{ secrets.TEST_PYPI_API_TOKEN }}
if: ${{ steps.version-check.outputs.VERSION_TAG_MATCH == 'true' }}
run: |
python -m build --sdist --wheel
twine upload --repository testpypi dist/*
28 changes: 28 additions & 0 deletions .github/workflows/publish-to-pypi.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: Release to PyPI

on:
workflow_dispatch:

jobs:
release:
environment: PYPI_API_TOKEN
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- name: Set up Python 3.10
uses: actions/setup-python@v4
with:
python-version: "3.10"
- name: Install Tools
run: |
python -m pip install --upgrade pip
pip install setuptools wheel twine build
- name: Package and Upload
env:
STACKMANAGER_VERSION: ${{ github.event.release.tag_name }}
TWINE_USERNAME: __token__
TWINE_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
run: |
python -m build --sdist --wheel
twine upload --repository testpypi dist/*

0 comments on commit ea6e873

Please sign in to comment.