Skip to content

[pre-commit.ci] pre-commit autoupdate #67

[pre-commit.ci] pre-commit autoupdate

[pre-commit.ci] pre-commit autoupdate #67

# This workflow will install Python dependencies, run tests and lint with a variety of Python versions
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions
name: Package
on:
push:
pull_request:
defaults:
run:
shell: bash
jobs:
ruff:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Ruff
run: pip install ruff
- name: Ruff Check
run: ruff check . --output-format=github
- name: Ruff Format
run: ruff format . --check
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.8"
- name: Install package
run: pip install -e ".[test]"
- name: Mypy
uses: liskin/gh-problem-matcher-wrap@v3
with:
linters: mypy
run: mypy --show-column-numbers
- name: Run tests
run: pytest --cov-report=xml
- name: Upload coverage
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.x"
- name: Install build
run: pip install build
- name: Build package
run: python -m build .
- uses: actions/upload-artifact@v4
with:
name: python-dist
path: dist/*
if-no-files-found: error
retention-days: 3
compression-level: 0
publish:
needs: [build, ruff, test]
runs-on: ubuntu-latest
if: github.ref_type == 'tag'
environment:
name: PyPI
url: https://pypi.org/project/tcod-camera/${{ github.ref_name }}
permissions:
id-token: write
steps:
- uses: actions/download-artifact@v4
with:
name: python-dist
path: dist/
- uses: pypa/gh-action-pypi-publish@release/v1