Repository navigation
release.yml: create a GitHub Release from the CHANGELOG section on tag push #14
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: smoke | |
| on: | |
| push: | |
| branches: ['**'] | |
| pull_request: | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| concurrency: | |
| group: smoke-${{ github.ref }}-${{ github.event_name }} | |
| cancel-in-progress: true | |
| jobs: | |
| generate: | |
| name: generate (${{ matrix.name }}) | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - name: library | |
| extra: '' | |
| - name: cli-app | |
| extra: '--data is_application=true' | |
| - name: web-service | |
| extra: '--data web_service=true --data database=sqlite' | |
| steps: | |
| - uses: actions/checkout@v7 | |
| with: | |
| fetch-depth: 0 | |
| # no cache: the only lockfile is generated into runner.temp during the run | |
| - uses: astral-sh/setup-uv@v8.2.0 | |
| with: | |
| python-version: "3.11" | |
| enable-cache: false | |
| # --vcs-ref HEAD: exercise this commit, not the latest tag copier would default to | |
| - run: > | |
| uvx copier copy --vcs-ref HEAD --defaults | |
| --data project_name=smoke-${{ matrix.name }} | |
| --data description="Smoke-test project generated by CI" | |
| ${{ matrix.extra }} | |
| . "$RUNNER_TEMP/gen" | |
| - run: uv lock | |
| working-directory: ${{ runner.temp }}/gen | |
| - run: uv sync --locked | |
| working-directory: ${{ runner.temp }}/gen | |
| - run: uv run --no-sync ruff check | |
| working-directory: ${{ runner.temp }}/gen | |
| - run: uv run --no-sync ruff format --check | |
| working-directory: ${{ runner.temp }}/gen | |
| - run: uv run --no-sync mypy | |
| working-directory: ${{ runner.temp }}/gen | |
| - run: uv run --no-sync interrogate -v src | |
| working-directory: ${{ runner.temp }}/gen | |
| - run: uv run --no-sync mkdocs build --strict | |
| working-directory: ${{ runner.temp }}/gen | |
| - run: uv run --no-sync pytest --cov | |
| working-directory: ${{ runner.temp }}/gen |