fastapi-router-versioning 0.2.2__tar.gz → 0.2.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {fastapi_router_versioning-0.2.2 → fastapi_router_versioning-0.2.3}/.github/dependabot.yml +11 -6
- fastapi_router_versioning-0.2.3/.github/labeler.yml +22 -0
- fastapi_router_versioning-0.2.3/.github/workflows/create-draft-release.yml +56 -0
- fastapi_router_versioning-0.2.3/.github/workflows/guard-dependencies.yml +53 -0
- fastapi_router_versioning-0.2.3/.github/workflows/labeler.yml +37 -0
- fastapi_router_versioning-0.2.3/.github/workflows/latest-changes.yml +50 -0
- {fastapi_router_versioning-0.2.2 → fastapi_router_versioning-0.2.3}/.github/workflows/pre-commit.yml +1 -4
- {fastapi_router_versioning-0.2.2 → fastapi_router_versioning-0.2.3}/.github/workflows/prepare-release.yml +10 -6
- {fastapi_router_versioning-0.2.2 → fastapi_router_versioning-0.2.3}/.github/workflows/publish.yml +1 -1
- {fastapi_router_versioning-0.2.2 → fastapi_router_versioning-0.2.3}/.github/workflows/test-redistribute.yml +2 -5
- {fastapi_router_versioning-0.2.2 → fastapi_router_versioning-0.2.3}/.github/workflows/test.yml +5 -7
- fastapi_router_versioning-0.2.3/.github/workflows/zizmor.yml +25 -0
- {fastapi_router_versioning-0.2.2 → fastapi_router_versioning-0.2.3}/.pre-commit-config.yaml +2 -2
- {fastapi_router_versioning-0.2.2 → fastapi_router_versioning-0.2.3}/LICENSE +1 -1
- fastapi_router_versioning-0.2.3/PKG-INFO +491 -0
- fastapi_router_versioning-0.2.3/README.md +460 -0
- {fastapi_router_versioning-0.2.2 → fastapi_router_versioning-0.2.3}/RELEASE_NOTES.md +13 -0
- {fastapi_router_versioning-0.2.2 → fastapi_router_versioning-0.2.3}/fastapi_router_versioning/__init__.py +1 -1
- {fastapi_router_versioning-0.2.2 → fastapi_router_versioning-0.2.3}/pyproject.toml +2 -0
- fastapi_router_versioning-0.2.3/scripts/test.sh +6 -0
- {fastapi_router_versioning-0.2.2 → fastapi_router_versioning-0.2.3}/uv.lock +43 -43
- fastapi_router_versioning-0.2.2/PKG-INFO +0 -472
- fastapi_router_versioning-0.2.2/README.md +0 -443
- fastapi_router_versioning-0.2.2/scripts/test-cov.sh +0 -6
- {fastapi_router_versioning-0.2.2 → fastapi_router_versioning-0.2.3}/.github/workflows/detect-conflicts.yml +0 -0
- {fastapi_router_versioning-0.2.2 → fastapi_router_versioning-0.2.3}/.gitignore +0 -0
- {fastapi_router_versioning-0.2.2 → fastapi_router_versioning-0.2.3}/.python-version +0 -0
- {fastapi_router_versioning-0.2.2 → fastapi_router_versioning-0.2.3}/examples/calver_app.py +0 -0
- {fastapi_router_versioning-0.2.2 → fastapi_router_versioning-0.2.3}/examples/download_static_assets.py +0 -0
- {fastapi_router_versioning-0.2.2 → fastapi_router_versioning-0.2.3}/examples/mounted_subapps_app.py +0 -0
- {fastapi_router_versioning-0.2.2 → fastapi_router_versioning-0.2.3}/examples/multi_router_app.py +0 -0
- {fastapi_router_versioning-0.2.2 → fastapi_router_versioning-0.2.3}/examples/openapi_hook_app.py +0 -0
- {fastapi_router_versioning-0.2.2 → fastapi_router_versioning-0.2.3}/examples/self_hosted_docs_app.py +0 -0
- {fastapi_router_versioning-0.2.2 → fastapi_router_versioning-0.2.3}/examples/semver_app.py +0 -0
- {fastapi_router_versioning-0.2.2 → fastapi_router_versioning-0.2.3}/examples/semver_major_only_app.py +0 -0
- {fastapi_router_versioning-0.2.2 → fastapi_router_versioning-0.2.3}/examples/validation_error_code_app.py +0 -0
- {fastapi_router_versioning-0.2.2 → fastapi_router_versioning-0.2.3}/examples/validation_error_code_custom_handler_app.py +0 -0
- {fastapi_router_versioning-0.2.2 → fastapi_router_versioning-0.2.3}/examples/webhook_versioning_app.py +0 -0
- {fastapi_router_versioning-0.2.2 → fastapi_router_versioning-0.2.3}/fastapi_router_versioning/py.typed +0 -0
- {fastapi_router_versioning-0.2.2 → fastapi_router_versioning-0.2.3}/fastapi_router_versioning/versioner.py +0 -0
- {fastapi_router_versioning-0.2.2 → fastapi_router_versioning-0.2.3}/scripts/format.sh +0 -0
- {fastapi_router_versioning-0.2.2 → fastapi_router_versioning-0.2.3}/scripts/lint.sh +0 -0
- {fastapi_router_versioning-0.2.2 → fastapi_router_versioning-0.2.3}/scripts/prepare_release.py +0 -0
- {fastapi_router_versioning-0.2.2 → fastapi_router_versioning-0.2.3}/scripts/test-cov-html.sh +0 -0
- /fastapi_router_versioning-0.2.2/scripts/test.sh → /fastapi_router_versioning-0.2.3/scripts/test-cov.sh +0 -0
- {fastapi_router_versioning-0.2.2 → fastapi_router_versioning-0.2.3}/tests/__init__.py +0 -0
- {fastapi_router_versioning-0.2.2 → fastapi_router_versioning-0.2.3}/tests/test_calver.py +0 -0
- {fastapi_router_versioning-0.2.2 → fastapi_router_versioning-0.2.3}/tests/test_fastapi_integration.py +0 -0
- {fastapi_router_versioning-0.2.2 → fastapi_router_versioning-0.2.3}/tests/test_prepare_release.py +0 -0
- {fastapi_router_versioning-0.2.2 → fastapi_router_versioning-0.2.3}/tests/test_semver.py +0 -0
- {fastapi_router_versioning-0.2.2 → fastapi_router_versioning-0.2.3}/tests/test_versioner.py +0 -0
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
version: 2
|
|
2
2
|
updates:
|
|
3
|
+
# GitHub Actions
|
|
3
4
|
- package-ecosystem: "github-actions"
|
|
4
5
|
directory: "/"
|
|
5
6
|
schedule:
|
|
@@ -7,14 +8,16 @@ updates:
|
|
|
7
8
|
cooldown:
|
|
8
9
|
default-days: 7
|
|
9
10
|
commit-message:
|
|
10
|
-
prefix:
|
|
11
|
+
prefix: ⬆
|
|
11
12
|
labels:
|
|
13
|
+
- "internal"
|
|
12
14
|
- "dependencies"
|
|
15
|
+
- "github_actions"
|
|
13
16
|
groups:
|
|
14
17
|
github-actions:
|
|
15
18
|
patterns:
|
|
16
19
|
- "*"
|
|
17
|
-
|
|
20
|
+
# Python
|
|
18
21
|
- package-ecosystem: "uv"
|
|
19
22
|
directory: "/"
|
|
20
23
|
schedule:
|
|
@@ -22,13 +25,13 @@ updates:
|
|
|
22
25
|
cooldown:
|
|
23
26
|
default-days: 7
|
|
24
27
|
commit-message:
|
|
25
|
-
prefix:
|
|
28
|
+
prefix: ⬆
|
|
26
29
|
groups:
|
|
27
|
-
python-
|
|
30
|
+
python-packages:
|
|
28
31
|
dependency-type: "development"
|
|
29
32
|
patterns:
|
|
30
33
|
- "*"
|
|
31
|
-
|
|
34
|
+
# pre-commit
|
|
32
35
|
- package-ecosystem: "pre-commit"
|
|
33
36
|
directory: "/"
|
|
34
37
|
schedule:
|
|
@@ -36,9 +39,11 @@ updates:
|
|
|
36
39
|
cooldown:
|
|
37
40
|
default-days: 7
|
|
38
41
|
commit-message:
|
|
39
|
-
prefix:
|
|
42
|
+
prefix: ⬆
|
|
40
43
|
labels:
|
|
44
|
+
- "internal"
|
|
41
45
|
- "dependencies"
|
|
46
|
+
- "pre-commit"
|
|
42
47
|
groups:
|
|
43
48
|
pre-commit:
|
|
44
49
|
patterns:
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
docs:
|
|
2
|
+
- all:
|
|
3
|
+
- changed-files:
|
|
4
|
+
- any-glob-to-any-file:
|
|
5
|
+
- README.md
|
|
6
|
+
- RELEASE_NOTES.md
|
|
7
|
+
- all-globs-to-all-files:
|
|
8
|
+
- '!fastapi_router_versioning/**'
|
|
9
|
+
- '!pyproject.toml'
|
|
10
|
+
|
|
11
|
+
internal:
|
|
12
|
+
- all:
|
|
13
|
+
- changed-files:
|
|
14
|
+
- any-glob-to-any-file:
|
|
15
|
+
- .github/**
|
|
16
|
+
- scripts/**
|
|
17
|
+
- .gitignore
|
|
18
|
+
- .pre-commit-config.yaml
|
|
19
|
+
- uv.lock
|
|
20
|
+
- all-globs-to-all-files:
|
|
21
|
+
- '!fastapi_router_versioning/**'
|
|
22
|
+
- '!pyproject.toml'
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
name: Create Draft Release
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
pull_request:
|
|
5
|
+
types:
|
|
6
|
+
- closed
|
|
7
|
+
|
|
8
|
+
permissions: {}
|
|
9
|
+
|
|
10
|
+
jobs:
|
|
11
|
+
create-draft-release:
|
|
12
|
+
if: github.event.pull_request.merged == true && contains(github.event.pull_request.labels.*.name, 'release')
|
|
13
|
+
runs-on: ubuntu-latest
|
|
14
|
+
timeout-minutes: 5
|
|
15
|
+
permissions:
|
|
16
|
+
contents: write
|
|
17
|
+
env:
|
|
18
|
+
PREPARE_RELEASE_VERSION_FILE: fastapi_router_versioning/__init__.py
|
|
19
|
+
PREPARE_RELEASE_RELEASE_NOTES_FILE: RELEASE_NOTES.md
|
|
20
|
+
steps:
|
|
21
|
+
- name: Dump GitHub context
|
|
22
|
+
env:
|
|
23
|
+
GITHUB_CONTEXT: ${{ toJson(github) }}
|
|
24
|
+
run: echo "$GITHUB_CONTEXT"
|
|
25
|
+
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
|
|
26
|
+
with:
|
|
27
|
+
ref: ${{ github.event.repository.default_branch }}
|
|
28
|
+
persist-credentials: true
|
|
29
|
+
- name: Set up Python
|
|
30
|
+
uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0
|
|
31
|
+
with:
|
|
32
|
+
python-version-file: ".python-version"
|
|
33
|
+
- name: Install uv
|
|
34
|
+
uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0
|
|
35
|
+
with:
|
|
36
|
+
# Before upgrading uv version, make sure astral-sh/setup-uv knows its checksum.
|
|
37
|
+
# See: https://github.com/astral-sh/setup-uv/issues/851#issuecomment-4282017837
|
|
38
|
+
version: "0.11.18"
|
|
39
|
+
- name: Extract release details
|
|
40
|
+
id: release-details
|
|
41
|
+
run: |
|
|
42
|
+
set -euo pipefail
|
|
43
|
+
version="$(uv run python scripts/prepare_release.py current-version)"
|
|
44
|
+
uv run python scripts/prepare_release.py release-notes > draft-release-notes.md
|
|
45
|
+
echo "version=$version" >> "$GITHUB_OUTPUT"
|
|
46
|
+
- name: Create draft release
|
|
47
|
+
env:
|
|
48
|
+
GH_TOKEN: ${{ github.token }}
|
|
49
|
+
VERSION: ${{ steps.release-details.outputs.version }}
|
|
50
|
+
run: |
|
|
51
|
+
set -euo pipefail
|
|
52
|
+
gh release create "$VERSION" \
|
|
53
|
+
--draft \
|
|
54
|
+
--title "$VERSION" \
|
|
55
|
+
--notes-file draft-release-notes.md \
|
|
56
|
+
--target "$(git rev-parse HEAD)"
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
name: Guard Dependencies
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
pull_request_target: # zizmor: ignore[dangerous-triggers] -- This workflow only reads context.payload metadata, never checks out PR code
|
|
5
|
+
branches: [main]
|
|
6
|
+
paths:
|
|
7
|
+
- pyproject.toml
|
|
8
|
+
- uv.lock
|
|
9
|
+
|
|
10
|
+
permissions:
|
|
11
|
+
contents: read
|
|
12
|
+
issues: write
|
|
13
|
+
pull-requests: write
|
|
14
|
+
|
|
15
|
+
jobs:
|
|
16
|
+
check-author:
|
|
17
|
+
runs-on: ubuntu-latest
|
|
18
|
+
timeout-minutes: 5
|
|
19
|
+
steps:
|
|
20
|
+
- name: Check if author is org member or allowed bot
|
|
21
|
+
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
|
|
22
|
+
with:
|
|
23
|
+
script: |
|
|
24
|
+
const pr = context.payload.pull_request;
|
|
25
|
+
const author = pr.user.login;
|
|
26
|
+
const assoc = pr.author_association;
|
|
27
|
+
|
|
28
|
+
const botAllowlist = new Set(['dependabot[bot]']);
|
|
29
|
+
const orgAuthorAssociations = new Set(['MEMBER', 'OWNER']);
|
|
30
|
+
|
|
31
|
+
const allowed =
|
|
32
|
+
botAllowlist.has(author) ||
|
|
33
|
+
(assoc != null && orgAuthorAssociations.has(assoc));
|
|
34
|
+
|
|
35
|
+
if (!allowed) {
|
|
36
|
+
await github.rest.issues.createComment({
|
|
37
|
+
owner: context.repo.owner,
|
|
38
|
+
repo: context.repo.repo,
|
|
39
|
+
issue_number: context.payload.pull_request.number,
|
|
40
|
+
body: `This PR modifies dependency files (\`pyproject.toml\` or \`uv.lock\`), which is restricted to members of the **${context.repo.owner}** organization on GitHub.\n\nIf you need a dependency change, please [open a discussion](https://github.com/${context.repo.owner}/${context.repo.repo}/discussions/new) describing what you need and why.\n\nClosing this PR automatically.`
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
await github.rest.pulls.update({
|
|
44
|
+
owner: context.repo.owner,
|
|
45
|
+
repo: context.repo.repo,
|
|
46
|
+
pull_number: context.payload.pull_request.number,
|
|
47
|
+
state: 'closed'
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
core.setFailed('Dependency changes are restricted to organization members.');
|
|
51
|
+
} else {
|
|
52
|
+
console.log(`Author ${author} (author_association=${assoc}) is allowed to make dependency changes.`);
|
|
53
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
name: Labels
|
|
2
|
+
on:
|
|
3
|
+
pull_request_target: # zizmor: ignore[dangerous-triggers]
|
|
4
|
+
types:
|
|
5
|
+
- opened
|
|
6
|
+
- synchronize
|
|
7
|
+
- reopened
|
|
8
|
+
# For label-checker
|
|
9
|
+
- labeled
|
|
10
|
+
- unlabeled
|
|
11
|
+
|
|
12
|
+
permissions: {}
|
|
13
|
+
|
|
14
|
+
jobs:
|
|
15
|
+
labeler:
|
|
16
|
+
permissions:
|
|
17
|
+
contents: read
|
|
18
|
+
pull-requests: write
|
|
19
|
+
runs-on: ubuntu-latest
|
|
20
|
+
timeout-minutes: 5
|
|
21
|
+
steps:
|
|
22
|
+
- uses: actions/labeler@f27b608878404679385c85cfa523b85ccb86e213 # v6.1.0
|
|
23
|
+
if: ${{ github.event.action != 'labeled' && github.event.action != 'unlabeled' }}
|
|
24
|
+
- run: echo "Done adding labels"
|
|
25
|
+
# Run this after labeler applied labels
|
|
26
|
+
check-labels:
|
|
27
|
+
needs:
|
|
28
|
+
- labeler
|
|
29
|
+
permissions:
|
|
30
|
+
pull-requests: read
|
|
31
|
+
runs-on: ubuntu-latest
|
|
32
|
+
timeout-minutes: 5
|
|
33
|
+
steps:
|
|
34
|
+
- uses: agilepathway/label-checker@c3d16ad512e7cea5961df85ff2486bb774caf3c5 # v1.6.65
|
|
35
|
+
with:
|
|
36
|
+
one_of: breaking,security,feature,bug,refactor,upgrade,docs,internal,release
|
|
37
|
+
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
name: Latest Changes
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
pull_request_target: # zizmor: ignore[dangerous-triggers]
|
|
5
|
+
branches:
|
|
6
|
+
- main
|
|
7
|
+
types:
|
|
8
|
+
- closed
|
|
9
|
+
workflow_dispatch:
|
|
10
|
+
inputs:
|
|
11
|
+
number:
|
|
12
|
+
description: PR number
|
|
13
|
+
required: true
|
|
14
|
+
debug_enabled:
|
|
15
|
+
description: 'Run the build with tmate debugging enabled (https://github.com/marketplace/actions/debugging-with-tmate)'
|
|
16
|
+
required: false
|
|
17
|
+
default: 'false'
|
|
18
|
+
|
|
19
|
+
permissions: {}
|
|
20
|
+
|
|
21
|
+
jobs:
|
|
22
|
+
latest-changes:
|
|
23
|
+
runs-on: ubuntu-latest
|
|
24
|
+
if: github.event_name == 'workflow_dispatch' || github.event.pull_request.merged == true
|
|
25
|
+
timeout-minutes: 5
|
|
26
|
+
steps:
|
|
27
|
+
- name: Dump GitHub context
|
|
28
|
+
env:
|
|
29
|
+
GITHUB_CONTEXT: ${{ toJson(github) }}
|
|
30
|
+
run: echo "$GITHUB_CONTEXT"
|
|
31
|
+
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
|
|
32
|
+
with:
|
|
33
|
+
ref: ${{ github.event.repository.default_branch }}
|
|
34
|
+
# To allow latest-changes to commit to the main branch
|
|
35
|
+
token: ${{ secrets.FASTAPI_ROUTER_VERSIONING_LATEST_CHANGES }} # zizmor: ignore[secrets-outside-env]
|
|
36
|
+
persist-credentials: true # required by tiangolo/latest-changes
|
|
37
|
+
# Allow debugging with tmate
|
|
38
|
+
- name: Setup tmate session
|
|
39
|
+
uses: mxschmitt/action-tmate@35b54afac29c97fb54faba5b513f8fbd1882f113 # v3.24
|
|
40
|
+
if: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.debug_enabled == 'true' }}
|
|
41
|
+
with:
|
|
42
|
+
limit-access-to-actor: true
|
|
43
|
+
- uses: tiangolo/latest-changes@c9b73efbc8992ef1a401e4235ea307a8ca8a724b # 0.6.1
|
|
44
|
+
with:
|
|
45
|
+
token: ${{ secrets.GITHUB_TOKEN }}
|
|
46
|
+
latest_changes_file: RELEASE_NOTES.md
|
|
47
|
+
latest_changes_header: '## Latest Changes'
|
|
48
|
+
end_regex: '^## '
|
|
49
|
+
debug_logs: true
|
|
50
|
+
label_header_prefix: '### '
|
{fastapi_router_versioning-0.2.2 → fastapi_router_versioning-0.2.3}/.github/workflows/pre-commit.yml
RENAMED
|
@@ -2,9 +2,6 @@ name: pre-commit
|
|
|
2
2
|
|
|
3
3
|
on:
|
|
4
4
|
pull_request:
|
|
5
|
-
types:
|
|
6
|
-
- opened
|
|
7
|
-
- synchronize
|
|
8
5
|
|
|
9
6
|
permissions: {}
|
|
10
7
|
|
|
@@ -28,7 +25,7 @@ jobs:
|
|
|
28
25
|
fetch-depth: 0
|
|
29
26
|
|
|
30
27
|
- name: Set up Python
|
|
31
|
-
uses: actions/setup-python@
|
|
28
|
+
uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0
|
|
32
29
|
with:
|
|
33
30
|
python-version-file: ".python-version"
|
|
34
31
|
|
|
@@ -18,10 +18,6 @@ on:
|
|
|
18
18
|
|
|
19
19
|
permissions: {}
|
|
20
20
|
|
|
21
|
-
env:
|
|
22
|
-
PREPARE_RELEASE_VERSION_FILE: fastapi_router_versioning/__init__.py
|
|
23
|
-
PREPARE_RELEASE_RELEASE_NOTES_FILE: RELEASE_NOTES.md
|
|
24
|
-
|
|
25
21
|
jobs:
|
|
26
22
|
prepare-release:
|
|
27
23
|
runs-on: ubuntu-latest
|
|
@@ -30,12 +26,20 @@ jobs:
|
|
|
30
26
|
contents: write
|
|
31
27
|
issues: write
|
|
32
28
|
pull-requests: write
|
|
29
|
+
env:
|
|
30
|
+
PREPARE_RELEASE_VERSION_FILE: fastapi_router_versioning/__init__.py
|
|
31
|
+
PREPARE_RELEASE_RELEASE_NOTES_FILE: RELEASE_NOTES.md
|
|
33
32
|
steps:
|
|
33
|
+
- name: Dump GitHub context
|
|
34
|
+
env:
|
|
35
|
+
GITHUB_CONTEXT: ${{ toJson(github) }}
|
|
36
|
+
run: echo "$GITHUB_CONTEXT"
|
|
34
37
|
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
|
|
35
38
|
with:
|
|
39
|
+
token: ${{ secrets.FASTAPI_ROUTER_VERSIONING_LATEST_CHANGES }} # zizmor: ignore[secrets-outside-env]
|
|
36
40
|
persist-credentials: true
|
|
37
41
|
- name: Set up Python
|
|
38
|
-
uses: actions/setup-python@
|
|
42
|
+
uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0
|
|
39
43
|
with:
|
|
40
44
|
python-version-file: ".python-version"
|
|
41
45
|
- name: Install uv
|
|
@@ -62,7 +66,7 @@ jobs:
|
|
|
62
66
|
gh label create release --color 0075ca --description "Release PR" 2>/dev/null || true
|
|
63
67
|
- name: Create release pull request
|
|
64
68
|
env:
|
|
65
|
-
GH_TOKEN: ${{ secrets.
|
|
69
|
+
GH_TOKEN: ${{ secrets.FASTAPI_ROUTER_VERSIONING_LATEST_CHANGES }}
|
|
66
70
|
VERSION: ${{ steps.release-version.outputs.version }}
|
|
67
71
|
run: |
|
|
68
72
|
set -euo pipefail
|
{fastapi_router_versioning-0.2.2 → fastapi_router_versioning-0.2.3}/.github/workflows/publish.yml
RENAMED
|
@@ -24,7 +24,7 @@ jobs:
|
|
|
24
24
|
with:
|
|
25
25
|
persist-credentials: false
|
|
26
26
|
- name: Set up Python
|
|
27
|
-
uses: actions/setup-python@
|
|
27
|
+
uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0
|
|
28
28
|
with:
|
|
29
29
|
python-version-file: ".python-version"
|
|
30
30
|
- name: Install uv
|
|
@@ -5,9 +5,6 @@ on:
|
|
|
5
5
|
branches:
|
|
6
6
|
- main
|
|
7
7
|
pull_request:
|
|
8
|
-
types:
|
|
9
|
-
- opened
|
|
10
|
-
- synchronize
|
|
11
8
|
|
|
12
9
|
permissions: {}
|
|
13
10
|
|
|
@@ -23,7 +20,7 @@ jobs:
|
|
|
23
20
|
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
|
|
24
21
|
with:
|
|
25
22
|
persist-credentials: false
|
|
26
|
-
- uses: dorny/paths-filter@
|
|
23
|
+
- uses: dorny/paths-filter@7b450fff21473bca461d4b92ce414b9d0420d706 # v4.0.2
|
|
27
24
|
id: filter
|
|
28
25
|
with:
|
|
29
26
|
filters: |
|
|
@@ -52,7 +49,7 @@ jobs:
|
|
|
52
49
|
with:
|
|
53
50
|
persist-credentials: false
|
|
54
51
|
- name: Set up Python
|
|
55
|
-
uses: actions/setup-python@
|
|
52
|
+
uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0
|
|
56
53
|
with:
|
|
57
54
|
python-version-file: ".python-version"
|
|
58
55
|
- name: Install build dependencies
|
{fastapi_router_versioning-0.2.2 → fastapi_router_versioning-0.2.3}/.github/workflows/test.yml
RENAMED
|
@@ -5,9 +5,6 @@ on:
|
|
|
5
5
|
branches:
|
|
6
6
|
- main
|
|
7
7
|
pull_request:
|
|
8
|
-
types:
|
|
9
|
-
- opened
|
|
10
|
-
- synchronize
|
|
11
8
|
schedule:
|
|
12
9
|
- cron: "0 0 * * 1"
|
|
13
10
|
|
|
@@ -28,7 +25,7 @@ jobs:
|
|
|
28
25
|
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
|
|
29
26
|
with:
|
|
30
27
|
persist-credentials: false
|
|
31
|
-
- uses: dorny/paths-filter@
|
|
28
|
+
- uses: dorny/paths-filter@7b450fff21473bca461d4b92ce414b9d0420d706 # v4.0.2
|
|
32
29
|
id: filter
|
|
33
30
|
with:
|
|
34
31
|
filters: |
|
|
@@ -75,7 +72,7 @@ jobs:
|
|
|
75
72
|
persist-credentials: false
|
|
76
73
|
|
|
77
74
|
- name: Set up Python
|
|
78
|
-
uses: actions/setup-python@
|
|
75
|
+
uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0
|
|
79
76
|
with:
|
|
80
77
|
python-version: ${{ matrix.python-version }}
|
|
81
78
|
|
|
@@ -101,7 +98,7 @@ jobs:
|
|
|
101
98
|
|
|
102
99
|
- name: Test
|
|
103
100
|
# GitHub Windows runners ship bash natively
|
|
104
|
-
run: uv run --no-sync bash scripts/test.sh
|
|
101
|
+
run: uv run --no-sync bash scripts/test-cov.sh
|
|
105
102
|
env:
|
|
106
103
|
COVERAGE_FILE: coverage/.coverage.${{ runner.os }}-py${{ matrix.python-version }}-fa${{ matrix.fastapi-version }}
|
|
107
104
|
CONTEXT: ${{ runner.os }}-py${{ matrix.python-version }}-fa${{ matrix.fastapi-version }}
|
|
@@ -158,7 +155,8 @@ jobs:
|
|
|
158
155
|
|
|
159
156
|
- run: uv run coverage report --fail-under=100
|
|
160
157
|
|
|
161
|
-
|
|
158
|
+
# https://github.com/marketplace/actions/alls-green#why
|
|
159
|
+
test-alls-green: # This job does nothing and is only used for the branch protection
|
|
162
160
|
if: always()
|
|
163
161
|
needs:
|
|
164
162
|
- test
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
name: Zizmor
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches:
|
|
6
|
+
- main
|
|
7
|
+
pull_request:
|
|
8
|
+
workflow_dispatch:
|
|
9
|
+
|
|
10
|
+
permissions: {}
|
|
11
|
+
|
|
12
|
+
jobs:
|
|
13
|
+
zizmor:
|
|
14
|
+
name: Run zizmor
|
|
15
|
+
runs-on: ubuntu-latest
|
|
16
|
+
timeout-minutes: 5
|
|
17
|
+
permissions:
|
|
18
|
+
security-events: write # Required for upload-sarif (used by zizmor-action) to upload SARIF files.
|
|
19
|
+
steps:
|
|
20
|
+
- name: Checkout repository
|
|
21
|
+
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
|
|
22
|
+
with:
|
|
23
|
+
persist-credentials: false
|
|
24
|
+
- name: Run zizmor
|
|
25
|
+
uses: zizmorcore/zizmor-action@192e21d79ab29983730a13d1382995c2307fbcaa # v0.5.7
|
|
@@ -18,7 +18,7 @@ repos:
|
|
|
18
18
|
rev: b859c0df7f391deba73030f79b957e62b4d81dc6 # varcon-core-v5.0.7
|
|
19
19
|
hooks:
|
|
20
20
|
- id: typos
|
|
21
|
-
args: [--force-exclude]
|
|
21
|
+
args: [ --force-exclude ]
|
|
22
22
|
|
|
23
23
|
- repo: local
|
|
24
24
|
hooks:
|
|
@@ -54,6 +54,6 @@ repos:
|
|
|
54
54
|
name: zizmor
|
|
55
55
|
language: python
|
|
56
56
|
entry: uv run zizmor .
|
|
57
|
-
files: ^\.github/workflows
|
|
57
|
+
files: ^\.github/workflows/|^uv\.lock$
|
|
58
58
|
require_serial: true
|
|
59
59
|
pass_filenames: false
|