Add project foundation: configuration, package skeleton, Doxyfile, CI and ADRs
CI / Test on Python 3.13 (push) Successful in 48s
CI / Test on Python 3.13 (push) Successful in 48s
Task: MIL-001#1 Refs #2 Refs #3 Refs #4 Refs #5 Refs #6
This commit is contained in:
@@ -0,0 +1,70 @@
|
||||
# Continuous integration for the NATO alphabet project.
|
||||
#
|
||||
# Purpose: run the pytest suite on Python 3.13 so a change is known to work
|
||||
# before it is merged (BC-001 objective O3, success criterion 2).
|
||||
# Triggers: a push to main or to a milestone branch, and every pull request
|
||||
# that touches source, tests, project configuration or this file.
|
||||
# Inputs: none.
|
||||
# Secrets: none. The job reads the repository only.
|
||||
# Changes: nothing outside the repository.
|
||||
# Decision: MIL-001 task "Add the CI workflow".
|
||||
# Host: Gitea Actions (act_runner); the same file runs on GitHub Actions.
|
||||
# The runner must offer the label ubuntu-latest.
|
||||
|
||||
name: CI
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [main, "mil-*"]
|
||||
paths:
|
||||
- "src/**"
|
||||
- "tests/**"
|
||||
- "pyproject.toml"
|
||||
- ".gitea/workflows/ci.yml"
|
||||
pull_request:
|
||||
paths:
|
||||
- "src/**"
|
||||
- "tests/**"
|
||||
- "pyproject.toml"
|
||||
- ".gitea/workflows/ci.yml"
|
||||
|
||||
# A newer run of the same branch makes the older one pointless.
|
||||
concurrency:
|
||||
group: ci-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
env:
|
||||
PYTHON_VERSION: "3.13"
|
||||
|
||||
jobs:
|
||||
test:
|
||||
name: Test on Python 3.13
|
||||
permissions:
|
||||
contents: read
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 10
|
||||
steps:
|
||||
- name: Check out the repository
|
||||
uses: actions/checkout@v4.2.2
|
||||
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v5.6.0
|
||||
with:
|
||||
python-version: ${{ env.PYTHON_VERSION }}
|
||||
|
||||
- name: Create the virtual environment and upgrade pip
|
||||
run: |
|
||||
python -m venv .venv
|
||||
.venv/bin/python -m pip install --upgrade pip
|
||||
|
||||
- name: Install the project with its development tools
|
||||
run: .venv/bin/python -m pip install -e ".[dev]"
|
||||
|
||||
- name: Check the code style
|
||||
run: .venv/bin/python -m ruff check .
|
||||
|
||||
- name: Check the types
|
||||
run: .venv/bin/python -m mypy
|
||||
|
||||
- name: Run the tests
|
||||
run: .venv/bin/python -m pytest
|
||||
Reference in New Issue
Block a user