The workflow added in #35 installs with pip install --group dev, which needs a [dependency-groups] table. This project declares the development tools as the dev extra in pyproject.toml, so the step fails with ERROR: [dependency-groups] table was missing from 'pyproject.toml'. Cannot resolve '--group' option.
Change
.gitea/workflows/ci.yml is rewritten as a shorter file. The fix is the install step, which now runs python -m pip install -e ".[dev]", the command the README documents. The rewrite also changes these things:
The header comment is gone. It explained why the file lives in .gitea/workflows: GitHub refuses pushes that touch .github/workflows from a token without the workflow scope, which stopped the push mirror.
permissions: contents: read is gone.
The checkout and Python set-up steps lose their names, and the lint, format and type steps are renamed.
The tests run first, then lint, formatting and types.
The tools run through python -m (ruff, mypy), and mypy no longer gets --strict on the command line; strict mode is set in pyproject.toml.
Verification
The error was reproduced locally with pip install --group dev against this pyproject.toml.
The steps of the new file, exactly as written, pass locally: python -m pytest (95 passed), python -m ruff check src tests, python -m ruff format --check src tests and python -m mypy src tests.
CI runs on this pull request.
For the reviewer
Two things the rewrite dropped may not be intended: the header note about why the file is in .gitea/workflows, and permissions: contents: read. Also unchanged from #35: the workflow has no Doxygen step, while the README's "Continuous integration" section and RC-018 (success criterion 4) still say CI builds the documentation, and on: push: has no branch filter, so a pull request branch runs twice for each push.
## Fix the install step of the Gitea workflow
The workflow added in #35 installs with `pip install --group dev`, which needs a `[dependency-groups]` table. This project declares the development tools as the `dev` extra in `pyproject.toml`, so the step fails with `ERROR: [dependency-groups] table was missing from 'pyproject.toml'. Cannot resolve '--group' option.`
### Change
`.gitea/workflows/ci.yml` is rewritten as a shorter file. The fix is the install step, which now runs `python -m pip install -e ".[dev]"`, the command the README documents. The rewrite also changes these things:
- The header comment is gone. It explained why the file lives in `.gitea/workflows`: GitHub refuses pushes that touch `.github/workflows` from a token without the workflow scope, which stopped the push mirror.
- `permissions: contents: read` is gone.
- The checkout and Python set-up steps lose their names, and the lint, format and type steps are renamed.
- The tests run first, then lint, formatting and types.
- The tools run through `python -m` (`ruff`, `mypy`), and `mypy` no longer gets `--strict` on the command line; strict mode is set in `pyproject.toml`.
### Verification
- The error was reproduced locally with `pip install --group dev` against this `pyproject.toml`.
- The steps of the new file, exactly as written, pass locally: `python -m pytest` (95 passed), `python -m ruff check src tests`, `python -m ruff format --check src tests` and `python -m mypy src tests`.
- CI runs on this pull request.
### For the reviewer
Two things the rewrite dropped may not be intended: the header note about why the file is in `.gitea/workflows`, and `permissions: contents: read`. Also unchanged from #35: the workflow has no Doxygen step, while the README's "Continuous integration" section and `RC-018` (success criterion 4) still say CI builds the documentation, and `on: push:` has no branch filter, so a pull request branch runs twice for each push.
The step ran pip install --group dev, which needs a dependency-groups table in
pyproject.toml. This project declares the development tools as the dev extra, so the
step failed with "[dependency-groups] table was missing". It now installs with
pip install -e ".[dev]", the command the README documents.
Tirsvad
merged commit 7d2c9e3d08 into main2026-10-07 19:17:03 +02:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Fix the install step of the Gitea workflow
The workflow added in #35 installs with
pip install --group dev, which needs a[dependency-groups]table. This project declares the development tools as thedevextra inpyproject.toml, so the step fails withERROR: [dependency-groups] table was missing from 'pyproject.toml'. Cannot resolve '--group' option.Change
.gitea/workflows/ci.ymlis rewritten as a shorter file. The fix is the install step, which now runspython -m pip install -e ".[dev]", the command the README documents. The rewrite also changes these things:.gitea/workflows: GitHub refuses pushes that touch.github/workflowsfrom a token without the workflow scope, which stopped the push mirror.permissions: contents: readis gone.python -m(ruff,mypy), andmypyno longer gets--stricton the command line; strict mode is set inpyproject.toml.Verification
pip install --group devagainst thispyproject.toml.python -m pytest(95 passed),python -m ruff check src tests,python -m ruff format --check src testsandpython -m mypy src tests.For the reviewer
Two things the rewrite dropped may not be intended: the header note about why the file is in
.gitea/workflows, andpermissions: contents: read. Also unchanged from #35: the workflow has no Doxygen step, while the README's "Continuous integration" section andRC-018(success criterion 4) still say CI builds the documentation, andon: push:has no branch filter, so a pull request branch runs twice for each push.