Skip to content

fix ci

fix ci #63

Workflow file for this run

name: build
on: [push]
jobs:
tests:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ['3.10', '3.11', '3.12']
include:
- python-version: '3.10'
tox_python_version: '310'
- python-version: '3.11'
tox_python_version: '311'
# - python-version: '3.12'
# tox_python_version: '312'
env:
TOXENV: tests_py${{ matrix.tox_python_version }}
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: tox
run: |
pip install -U tox
tox -v
- name: Upload code coverage
uses: codecov/codecov-action@v3
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: ./.tox/tests_py${{ matrix.tox_python_version }}/log/coverage.xml
lint:
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: Test with tox
run: |
pip install -U tox
tox -v -e lint
publish:
needs: [tests, lint]
if: startsWith(github.event.ref, 'refs/tags')
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.x'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install setuptools build twine
- name: Build
run: python -m build
- name: Publish to PyPi
env:
TWINE_USERNAME: ${{ secrets.PYPI_USERNAME }}
TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }}
run: twine upload dist/*
- name: Get tag message
id: get_tag_message
run: echo ::set-output name=msg::$(git tag --format '%(contents)' -l ${GITHUB_REF#refs/*/})
- name: Create Github Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.ref }}
release_name: ${{ github.ref }}
body: ${{ steps.get_tag_message.outputs.msg }}
- name: Get release assets names
id: get_release_names
run: |
echo ::set-output name=tar_gz::$(basename $(/bin/ls dist/*.tar.gz))
echo ::set-output name=whl::$(basename $(ls dist/*.whl))
- name: Upload .tar.gz
uses: actions/upload-release-asset@v1.0.1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: dist/${{ steps.get_release_names.outputs.tar_gz }}
asset_name: ${{ steps.get_release_names.outputs.tar_gz }}
asset_content_type: application/gzip
- name: Upload .whl
uses: actions/upload-release-asset@v1.0.1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: dist/${{ steps.get_release_names.outputs.whl }}
asset_name: ${{ steps.get_release_names.outputs.whl }}
asset_content_type: application/zip