diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml new file mode 100644 index 0000000..873a5c0 --- /dev/null +++ b/.gitea/workflows/ci.yml @@ -0,0 +1,43 @@ +# Continuous integration for the Quiz Game. +# +# Run by Gitea Actions. The file lives in .gitea/workflows, not .github/workflows: +# GitHub refuses pushes that touch .github/workflows from a token without the +# workflow scope, and that stopped the push mirror to GitHub. Runs the same +# checks as the README, "Run the tests". +name: CI + +on: + push: + pull_request: + +permissions: + contents: read + +jobs: + checks: + runs-on: ubuntu-latest + steps: + - name: Check out the repository + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install the development tools + run: | + python -m pip install --upgrade pip + python -m pip install --group dev + + - name: Lint + run: ruff check src tests + + - name: Check formatting + run: ruff format --check src tests + + - name: Check types + run: mypy --strict src tests + + - name: Run the tests + run: python -m pytest diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml deleted file mode 100644 index bc06723..0000000 --- a/.github/workflows/ci.yml +++ /dev/null @@ -1,44 +0,0 @@ -name: CI - -# Read by GitHub Actions and by Gitea Actions. No step opens a turtle window: -# the tests use a recording fake pen. - -on: - push: - branches: [main] - pull_request: - -jobs: - checks: - runs-on: ubuntu-latest - steps: - - name: Check out the repository - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install Doxygen - run: sudo apt-get update && sudo apt-get install --yes doxygen - - - name: Install the project and its development tools - run: | - python -m pip install --upgrade pip - python -m pip install -e ".[dev]" - - - name: Lint - run: ruff check . - - - name: Check formatting - run: ruff format --check . - - - name: Check types - run: mypy - - - name: Run the tests - run: python -m pytest - - - name: Build the source documentation - run: doxygen Doxyfile