Bump actions/upload-artifact from 5 to 6 #265
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@v6 | |
| - name: Set up Python | |
| uses: actions/setup-python@v6 | |
| 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 | |
| Formatting: | |
| name: Check formatting | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Set up Python | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: '3.x' | |
| - name: Install dependencies | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install --upgrade ruff | |
| - name: Check formatting | |
| run: | | |
| ruff format --check . | |
| PyLint: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Set up Python | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: '3.11' | |
| - name: Install dependencies | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install --upgrade "pylint >= 3.0.0" | |
| - name: Install develop | |
| run: | | |
| pip install -e . | |
| - name: Lint with PyLint | |
| run: | | |
| pylint logwrap | |
| MyPy: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Set up Python | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: '3.x' | |
| - name: Install dependencies | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install --upgrade -r mypy_requirements.txt | |
| - name: Install develop | |
| run: | | |
| pip install -e . | |
| - name: Lint with MyPy | |
| run: | | |
| mypy --strict logwrap | |
| Refurb: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Set up Python | |
| uses: actions/setup-python@v6 | |
| 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 logwrap | |
| Test: | |
| needs: [PEP8, Formatting, PyLint, MyPy, Refurb] # isort is broken | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| max-parallel: 6 | |
| matrix: | |
| os: [ubuntu-latest, windows-latest] | |
| python-version: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"] | |
| name: "Script based python ${{ matrix.python-version }} on ${{ matrix.os }}" | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Set up Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Install dependencies | |
| run: | | |
| python -m pip install --upgrade pip wheel | |
| pip install --upgrade -r pytest_requirements.txt | |
| - name: Install develop | |
| run: | | |
| pip install -e . | |
| - name: Test with pytest | |
| run: | | |
| py.test --cov-report= --cov=logwrap test | |
| coverage report -m --fail-under 85 | |
| coverage xml | |
| - 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@v6 | |
| with: | |
| fetch-depth: 0 # need for setuptools_scm | |
| - name: Set up Python | |
| uses: actions/setup-python@v6 | |
| 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@v6 | |
| with: | |
| path: dist/* | |
| name: built-sdist | |
| Metadata: | |
| name: Validate metadata | |
| runs-on: ubuntu-latest | |
| needs: [ Build ] | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Set up Python | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: '3.x' | |
| cache: 'pip' | |
| - name: Install dependencies | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install --upgrade twine | |
| - uses: actions/download-artifact@v6.0.0 | |
| 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/logwrap | |
| permissions: | |
| id-token: write # IMPORTANT: this permission is mandatory for trusted publishing | |
| steps: | |
| - uses: actions/download-artifact@v6.0.0 | |
| with: | |
| pattern: built-* | |
| merge-multiple: true | |
| path: dist | |
| - name: Publish package distributions to PyPI | |
| uses: pypa/gh-action-pypi-publish@release/v1 |