Merge pull request 'Migrate Python workflows to python-repositories-ci runner' (#41) from cursor/migrate-python-repositories-ci into main
Release on merge to main / release (push) Successful in 6s
Test Python Package / unit-tests (push) Successful in 15s
Code Quality Pipeline / code-quality (push) Successful in 28s
Test Python Package / integration-tests (push) Successful in 1m20s
Test Python Package / coverage-report (push) Successful in 11s

Reviewed-on: LilleVemmelund/python-repositories#41
This commit was merged in pull request #41.
This commit is contained in:
2026-07-10 13:48:49 +02:00
6 changed files with 42 additions and 85 deletions
+5 -11
View File
@@ -8,23 +8,17 @@ on:
jobs: jobs:
code-quality: code-quality:
runs-on: ubuntu-latest runs-on: python-repositories-ci
steps: steps:
- name: Checkout code - name: Checkout code
uses: actions/checkout@v4 uses: actions/checkout@v4
- name: Set up Python - name: Sync dependencies
uses: actions/setup-python@v5
with:
python-version-file: .python-version
- name: Install uv
run: pip install uv
- name: Install dependencies
env: env:
UV_LINK_MODE: copy UV_LINK_MODE: copy
run: uv sync --all-extras UV_INDEX_GITEA_USERNAME: ci-bot
UV_INDEX_GITEA_PASSWORD: ${{ secrets.CI_RUNNER_TOKEN }}
run: uv sync --all-extras --frozen
- name: Type check with mypy - name: Type check with mypy
run: uv run mypy . run: uv run mypy .
+4 -9
View File
@@ -7,22 +7,17 @@ on:
jobs: jobs:
update-check: update-check:
runs-on: ubuntu-latest runs-on: python-repositories-ci
steps: steps:
- name: Checkout code - name: Checkout code
uses: actions/checkout@v4 uses: actions/checkout@v4
with: with:
token: ${{ secrets.CI_RUNNER_TOKEN }} token: ${{ secrets.CI_RUNNER_TOKEN }}
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version-file: .python-version
- name: Install uv
run: pip install uv
- name: Upgrade dependencies - name: Upgrade dependencies
env:
UV_INDEX_GITEA_USERNAME: ci-bot
UV_INDEX_GITEA_PASSWORD: ${{ secrets.CI_RUNNER_TOKEN }}
run: uv lock --upgrade run: uv lock --upgrade
- name: Commit and push changes - name: Commit and push changes
+9 -10
View File
@@ -9,25 +9,24 @@ on:
jobs: jobs:
build-and-publish: build-and-publish:
runs-on: ubuntu-latest runs-on: python-repositories-ci
steps: steps:
- name: Checkout code - name: Checkout code
uses: actions/checkout@v4 uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version-file: .python-version
- name: Install uv
run: pip install uv
- name: Update version in pyproject.toml to match tag - name: Update version in pyproject.toml to match tag
env:
UV_INDEX_GITEA_USERNAME: ci-bot
UV_INDEX_GITEA_PASSWORD: ${{ secrets.CI_RUNNER_TOKEN }}
run: scripts/ci/bump-version.sh --from-tag "${GITHUB_REF##*/}" run: scripts/ci/bump-version.sh --from-tag "${GITHUB_REF##*/}"
- name: Build package - name: Build package
env:
UV_LINK_MODE: copy
UV_INDEX_GITEA_USERNAME: ci-bot
UV_INDEX_GITEA_PASSWORD: ${{ secrets.CI_RUNNER_TOKEN }}
run: | run: |
uv sync --no-dev uv sync --no-dev --frozen
uv build uv build
- name: Publish to Gitea Package Registry - name: Publish to Gitea Package Registry
+4 -11
View File
@@ -8,7 +8,7 @@ on:
jobs: jobs:
release: release:
if: ${{ !contains(github.event.head_commit.message, '[skip ci]') }} if: ${{ !contains(github.event.head_commit.message, '[skip ci]') }}
runs-on: ubuntu-latest runs-on: python-repositories-ci
steps: steps:
- name: Checkout code - name: Checkout code
uses: actions/checkout@v4 uses: actions/checkout@v4
@@ -22,19 +22,12 @@ jobs:
COMMIT_MSG: ${{ github.event.head_commit.message }} COMMIT_MSG: ${{ github.event.head_commit.message }}
run: scripts/ci/parse-merge-commit.sh "$COMMIT_MSG" run: scripts/ci/parse-merge-commit.sh "$COMMIT_MSG"
- name: Set up Python
if: steps.meta.outputs.bump != 'skip'
uses: actions/setup-python@v5
with:
python-version-file: .python-version
- name: Install uv
if: steps.meta.outputs.bump != 'skip'
run: pip install uv
- name: Bump version - name: Bump version
if: steps.meta.outputs.bump != 'skip' if: steps.meta.outputs.bump != 'skip'
id: bump id: bump
env:
UV_INDEX_GITEA_USERNAME: ci-bot
UV_INDEX_GITEA_PASSWORD: ${{ secrets.CI_RUNNER_TOKEN }}
run: scripts/ci/bump-version.sh "${{ steps.meta.outputs.bump }}" run: scripts/ci/bump-version.sh "${{ steps.meta.outputs.bump }}"
- name: Generate release notes - name: Generate release notes
+5 -11
View File
@@ -7,23 +7,17 @@ on:
jobs: jobs:
safety: safety:
runs-on: ubuntu-latest runs-on: python-repositories-ci
steps: steps:
- name: Checkout code - name: Checkout code
uses: actions/checkout@v4 uses: actions/checkout@v4
- name: Set up Python - name: Sync dependencies
uses: actions/setup-python@v5
with:
python-version-file: .python-version
- name: Install uv
run: pip install uv
- name: Install dependencies
env: env:
UV_LINK_MODE: copy UV_LINK_MODE: copy
run: uv sync UV_INDEX_GITEA_USERNAME: ci-bot
UV_INDEX_GITEA_PASSWORD: ${{ secrets.CI_RUNNER_TOKEN }}
run: uv sync --frozen
- name: Run safety check - name: Run safety check
run: uv run safety check run: uv run safety check
+15 -33
View File
@@ -8,23 +8,17 @@ on:
jobs: jobs:
unit-tests: unit-tests:
runs-on: ubuntu-latest runs-on: python-repositories-ci
steps: steps:
- name: Checkout code - name: Checkout code
uses: actions/checkout@v4 uses: actions/checkout@v4
- name: Set up Python - name: Sync dependencies
uses: actions/setup-python@v5
with:
python-version-file: .python-version
- name: Install uv
run: pip install uv
- name: Install dependencies
env: env:
UV_LINK_MODE: copy UV_LINK_MODE: copy
run: uv sync --all-extras UV_INDEX_GITEA_USERNAME: ci-bot
UV_INDEX_GITEA_PASSWORD: ${{ secrets.CI_RUNNER_TOKEN }}
run: uv sync --all-extras --frozen
- name: Run unit tests - name: Run unit tests
run: | run: |
@@ -43,23 +37,17 @@ jobs:
compression-level: 0 compression-level: 0
integration-tests: integration-tests:
runs-on: ubuntu-latest runs-on: python-repositories-ci
steps: steps:
- name: Checkout code - name: Checkout code
uses: actions/checkout@v4 uses: actions/checkout@v4
- name: Set up Python - name: Sync dependencies
uses: actions/setup-python@v5
with:
python-version-file: .python-version
- name: Install uv
run: pip install uv
- name: Install dependencies
env: env:
UV_LINK_MODE: copy UV_LINK_MODE: copy
run: uv sync --all-extras UV_INDEX_GITEA_USERNAME: ci-bot
UV_INDEX_GITEA_PASSWORD: ${{ secrets.CI_RUNNER_TOKEN }}
run: uv sync --all-extras --frozen
- name: Verify Docker - name: Verify Docker
run: docker info run: docker info
@@ -83,24 +71,18 @@ jobs:
coverage-report: coverage-report:
# Merges unit + integration coverage and enforces fail_under from pyproject.toml. # Merges unit + integration coverage and enforces fail_under from pyproject.toml.
needs: [unit-tests, integration-tests] needs: [unit-tests, integration-tests]
runs-on: ubuntu-latest runs-on: python-repositories-ci
if: github.event_name == 'pull_request' || github.event_name == 'push' if: github.event_name == 'pull_request' || github.event_name == 'push'
steps: steps:
- name: Checkout code - name: Checkout code
uses: actions/checkout@v4 uses: actions/checkout@v4
- name: Set up Python - name: Sync dependencies
uses: actions/setup-python@v5
with:
python-version-file: .python-version
- name: Install uv
run: pip install uv
- name: Install dependencies
env: env:
UV_LINK_MODE: copy UV_LINK_MODE: copy
run: uv sync --all-extras UV_INDEX_GITEA_USERNAME: ci-bot
UV_INDEX_GITEA_PASSWORD: ${{ secrets.CI_RUNNER_TOKEN }}
run: uv sync --all-extras --frozen
- name: Download unit coverage - name: Download unit coverage
uses: https://github.com/christopherHX/gitea-download-artifact@v4 uses: https://github.com/christopherHX/gitea-download-artifact@v4