GitHub Actions workflows
June 21, 2026 · View on GitHub
test.yml
Runs on every push/PR to main / master:
make check-configspytest tests/
publish.yml
Builds dist/* and uploads to PyPI or TestPyPI.
| Trigger | Destination |
|---|---|
Push tag v*.*.* (e.g. v0.1.0) | PyPI (environment: pypi) |
| Manual workflow_dispatch | TestPyPI (default) or PyPI |
One-time setup (Trusted Publishing — recommended)
Configure on pypi.org and test.pypi.org for project oriented-det:
- Account settings → Publishing → Add a new pending publisher (or per-project Publishing tab).
- PyPI publisher
- Owner:
DL4EO - Repository:
oriented-det - Workflow:
publish.yml - Environment:
pypi(production) and/ortestpypi(TestPyPI)
- Owner:
- Create matching GitHub environments (Settings → Environments):
pypi,testpypi. Optional: require reviewers onpypi. - Remove the
password:lines frompublish.ymlonce OIDC is verified —pypa/gh-action-pypi-publishuses Trusted Publishing automatically when no token is passed andid-token: writeis set.
Fallback: API tokens
If Trusted Publishing is not configured yet, set repository secrets:
| Secret | Used for |
|---|---|
TESTPYPI_API_TOKEN | TestPyPI uploads (workflow_dispatch → testpypi) |
PYPI_API_TOKEN | Production PyPI (tag push or manual → pypi) |
Create tokens at Account settings → API tokens on each index (scope: entire account or project oriented-det).
Manual TestPyPI run from GitHub
- Actions → Publish → Run workflow
- Branch:
main - Target:
testpypi - Run
Production release from GitHub
git tag -a v0.1.0 -m "Release 0.1.0"
git push origin v0.1.0
The tag push starts publish.yml and uploads to PyPI.
pages.yml
Builds the MkDocs site and deploys it to GitHub Pages.
| Trigger | Action |
|---|---|
Push to main touching docs/source/docs workflow files | Build site/ and publish to Pages |
| Manual workflow_dispatch | Build and publish on demand |
One-time setup
In Settings → Pages, set:
- Source: GitHub Actions
The workflow publishes to:
https://dl4eo.github.io/oriented-det/