Bump actions/download-artifact from 4.1.8 to 4.3.0 #288
Workflow file for this run
This file contains hidden or 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: Python package | |
on: | |
push: | |
branches-ignore: | |
- 'dependabot/**' | |
tags-ignore: | |
- '*.[0-9][ab][0-9]' | |
pull_request: {} | |
jobs: | |
PEP8: | |
name: Check with Ruff | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.x' | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install --upgrade ruff | |
- name: Lint with ruff | |
run: | | |
ruff check . --output-format github | |
PyLint: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.11' | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install --upgrade -r CI_REQUIREMENTS.txt | |
pip install --upgrade "pylint >= 3.0.0" | |
- name: Install develop | |
run: | | |
pip install -e . | |
- name: Lint with PyLint | |
run: | | |
pylint exec_helpers | |
MyPy: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.x' | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install --upgrade -r CI_REQUIREMENTS.txt | |
pip install --upgrade -r mypy_requirements.txt | |
- name: Install develop | |
run: | | |
pip install -e . | |
- name: Lint with MyPy | |
run: | | |
mypy --strict --install-types --non-interactive exec_helpers | |
Black: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.x' | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install --upgrade black regex | |
- name: Check code style with black | |
run: | | |
black --check exec_helpers | |
Refurb: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.x' | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install --upgrade refurb | |
- name: Lint with refurb | |
run: | | |
refurb --format github exec_helpers | |
Test: | |
needs: [PEP8, PyLint, MyPy, Black, Refurb] # isort is broken | |
runs-on: ${{ matrix.os }} | |
strategy: | |
max-parallel: 6 | |
matrix: | |
os: [ubuntu-latest, windows-latest] | |
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"] | |
name: "Script based python ${{ matrix.python-version }} on ${{ matrix.os }}" | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip wheel | |
pip install --upgrade -r CI_REQUIREMENTS.txt | |
pip install --upgrade -r pytest_requirements.txt | |
- name: Install develop | |
run: | | |
pip install -e . | |
- name: Test with pytest | |
run: | | |
py.test --cov-report= --cov=exec_helpers test | |
coverage report -m | |
coverage xml | |
# coverage report -m --fail-under 85 | |
- name: Coveralls Parallel | |
uses: coverallsapp/github-action@v2 | |
with: | |
flag-name: run-${{ matrix.python-version }}-${{ matrix.os }} | |
parallel: true | |
file: coverage.xml | |
UploadCoverage: | |
name: Upload coverage to Coveralls | |
needs: [ Test ] | |
if: ${{ always() }} | |
runs-on: ubuntu-latest | |
steps: | |
- name: Coveralls Finished | |
uses: coverallsapp/github-action@v2 | |
with: | |
parallel-finished: true | |
Build: | |
needs: [ Test ] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 # need for setuptools_scm | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.x' | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install --upgrade twine build | |
- name: Build package | |
run: | | |
python -m build | |
- uses: actions/upload-artifact@v4 | |
with: | |
path: dist/* | |
name: built-sdist | |
Metadata: | |
name: Validate metadata | |
runs-on: ubuntu-latest | |
needs: [ Build ] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.x' | |
cache: 'pip' | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install --upgrade twine | |
- uses: actions/[email protected] | |
with: | |
pattern: built-* | |
merge-multiple: true | |
path: dist | |
- name: Validate metadata | |
run: | | |
twine check dist/* | |
Deploy: | |
needs: [Build, Metadata] | |
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/') | |
runs-on: ubuntu-latest | |
environment: | |
name: pypi | |
url: https://pypi.org/p/exec-helpers | |
permissions: | |
id-token: write # IMPORTANT: this permission is mandatory for trusted publishing | |
steps: | |
- uses: actions/[email protected] | |
with: | |
pattern: built-* | |
merge-multiple: true | |
path: dist | |
- name: Publish package distributions to PyPI | |
uses: pypa/gh-action-pypi-publish@release/v1 |