committed by
GitHub
23 changed files with 266 additions and 135 deletions
@ -1,18 +1,20 @@ |
|||||
name: Add to Project |
name: Add to Project |
||||
|
|
||||
on: |
on: |
||||
pull_request_target: |
pull_request_target: # zizmor: ignore[dangerous-triggers] |
||||
issues: |
issues: |
||||
types: |
types: |
||||
- opened |
- opened |
||||
- reopened |
- reopened |
||||
|
|
||||
|
permissions: {} |
||||
|
|
||||
jobs: |
jobs: |
||||
add-to-project: |
add-to-project: |
||||
name: Add to project |
name: Add to project |
||||
runs-on: ubuntu-latest |
runs-on: ubuntu-latest |
||||
steps: |
steps: |
||||
- uses: actions/[email protected] |
- uses: actions/add-to-project@244f685bbc3b7adfa8466e08b698b5577571133e # v1.0.2 |
||||
with: |
with: |
||||
project-url: https://github.com/orgs/fastapi/projects/2 |
project-url: https://github.com/orgs/fastapi/projects/2 |
||||
github-token: ${{ secrets.PROJECTS_TOKEN }} |
github-token: ${{ secrets.PROJECTS_TOKEN }} # zizmor: ignore[secrets-outside-env] |
||||
|
|||||
@ -9,25 +9,26 @@ on: |
|||||
issues: |
issues: |
||||
types: |
types: |
||||
- labeled |
- labeled |
||||
pull_request_target: |
pull_request_target: # zizmor: ignore[dangerous-triggers] |
||||
types: |
types: |
||||
- labeled |
- labeled |
||||
workflow_dispatch: |
workflow_dispatch: |
||||
|
|
||||
permissions: |
permissions: {} |
||||
issues: write |
|
||||
pull-requests: write |
|
||||
|
|
||||
jobs: |
jobs: |
||||
issue-manager: |
issue-manager: |
||||
if: github.repository_owner == 'fastapi' |
if: github.repository_owner == 'fastapi' |
||||
runs-on: ubuntu-latest |
runs-on: ubuntu-latest |
||||
|
permissions: |
||||
|
issues: write |
||||
|
pull-requests: write |
||||
steps: |
steps: |
||||
- name: Dump GitHub context |
- name: Dump GitHub context |
||||
env: |
env: |
||||
GITHUB_CONTEXT: ${{ toJson(github) }} |
GITHUB_CONTEXT: ${{ toJson(github) }} |
||||
run: echo "$GITHUB_CONTEXT" |
run: echo "$GITHUB_CONTEXT" |
||||
- uses: tiangolo/[email protected] |
- uses: tiangolo/issue-manager@2fb3484ec9279485df8659e8ec73de262431737d # 0.6.0 |
||||
with: |
with: |
||||
token: ${{ secrets.GITHUB_TOKEN }} |
token: ${{ secrets.GITHUB_TOKEN }} |
||||
config: > |
config: > |
||||
|
|||||
@ -1,7 +1,7 @@ |
|||||
name: Latest Changes |
name: Latest Changes |
||||
|
|
||||
on: |
on: |
||||
pull_request_target: |
pull_request_target: # zizmor: ignore[dangerous-triggers] |
||||
branches: |
branches: |
||||
- master |
- master |
||||
types: |
types: |
||||
@ -16,27 +16,29 @@ on: |
|||||
required: false |
required: false |
||||
default: 'false' |
default: 'false' |
||||
|
|
||||
|
permissions: {} |
||||
|
|
||||
jobs: |
jobs: |
||||
latest-changes: |
latest-changes: |
||||
runs-on: ubuntu-latest |
runs-on: ubuntu-latest |
||||
|
if: github.event_name == 'workflow_dispatch' || github.event.pull_request.merged == true |
||||
steps: |
steps: |
||||
- name: Dump GitHub context |
- name: Dump GitHub context |
||||
env: |
env: |
||||
GITHUB_CONTEXT: ${{ toJson(github) }} |
GITHUB_CONTEXT: ${{ toJson(github) }} |
||||
run: echo "$GITHUB_CONTEXT" |
run: echo "$GITHUB_CONTEXT" |
||||
# pin to actions/checkout@v5 for compatibility with latest-changes |
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 |
||||
# Ref: https://github.com/actions/checkout/issues/2313 |
|
||||
- uses: actions/checkout@v5 |
|
||||
with: |
with: |
||||
# To allow latest-changes to commit to the main branch |
# To allow latest-changes to commit to the main branch |
||||
token: ${{ secrets.FASTAPI_LATEST_CHANGES }} |
token: ${{ secrets.FASTAPI_LATEST_CHANGES }} # zizmor: ignore[secrets-outside-env] |
||||
|
persist-credentials: true # required by tiangolo/latest-changes |
||||
# Allow debugging with tmate |
# Allow debugging with tmate |
||||
- name: Setup tmate session |
- name: Setup tmate session |
||||
uses: mxschmitt/action-tmate@v3 |
uses: mxschmitt/action-tmate@c0afd6f790e3a5564914980036ebf83216678101 # v3.23 |
||||
if: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.debug_enabled == 'true' }} |
if: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.debug_enabled == 'true' }} |
||||
with: |
with: |
||||
limit-access-to-actor: true |
limit-access-to-actor: true |
||||
- uses: tiangolo/[email protected] |
- uses: tiangolo/latest-changes@c9d329cb147f0ddf4fb631214e3f838ff17ccbbd # 0.4.1 |
||||
with: |
with: |
||||
token: ${{ secrets.GITHUB_TOKEN }} |
token: ${{ secrets.GITHUB_TOKEN }} |
||||
latest_changes_file: docs/en/docs/release-notes.md |
latest_changes_file: docs/en/docs/release-notes.md |
||||
|
|||||
@ -6,6 +6,8 @@ on: |
|||||
- opened |
- opened |
||||
- synchronize |
- synchronize |
||||
|
|
||||
|
permissions: {} |
||||
|
|
||||
env: |
env: |
||||
# Forks and Dependabot don't have access to secrets |
# Forks and Dependabot don't have access to secrets |
||||
HAS_SECRETS: ${{ secrets.PRE_COMMIT != '' }} |
HAS_SECRETS: ${{ secrets.PRE_COMMIT != '' }} |
||||
@ -18,7 +20,7 @@ jobs: |
|||||
env: |
env: |
||||
GITHUB_CONTEXT: ${{ toJson(github) }} |
GITHUB_CONTEXT: ${{ toJson(github) }} |
||||
run: echo "$GITHUB_CONTEXT" |
run: echo "$GITHUB_CONTEXT" |
||||
- uses: actions/checkout@v5 |
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 |
||||
name: Checkout PR for own repo |
name: Checkout PR for own repo |
||||
if: env.HAS_SECRETS == 'true' |
if: env.HAS_SECRETS == 'true' |
||||
with: |
with: |
||||
@ -28,22 +30,25 @@ jobs: |
|||||
# And it needs the full history to be able to compute diffs |
# And it needs the full history to be able to compute diffs |
||||
fetch-depth: 0 |
fetch-depth: 0 |
||||
# A token other than the default GITHUB_TOKEN is needed to be able to trigger CI |
# A token other than the default GITHUB_TOKEN is needed to be able to trigger CI |
||||
token: ${{ secrets.PRE_COMMIT }} |
token: ${{ secrets.PRE_COMMIT }} # zizmor: ignore[secrets-outside-env] |
||||
|
persist-credentials: true # Required for `git push` command |
||||
# pre-commit lite ci needs the default checkout configs to work |
# pre-commit lite ci needs the default checkout configs to work |
||||
- uses: actions/checkout@v5 |
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 |
||||
name: Checkout PR for fork |
name: Checkout PR for fork |
||||
if: env.HAS_SECRETS == 'false' |
if: env.HAS_SECRETS == 'false' |
||||
with: |
with: |
||||
# To be able to commit it needs the head branch of the PR, the remote one |
# To be able to commit it needs the head branch of the PR, the remote one |
||||
ref: ${{ github.event.pull_request.head.sha }} |
ref: ${{ github.event.pull_request.head.sha }} |
||||
fetch-depth: 0 |
fetch-depth: 0 |
||||
|
persist-credentials: false |
||||
- name: Set up Python |
- name: Set up Python |
||||
uses: actions/setup-python@v6 |
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0 |
||||
with: |
with: |
||||
python-version-file: ".python-version" |
python-version-file: ".python-version" |
||||
- name: Setup uv |
- name: Setup uv |
||||
uses: astral-sh/setup-uv@v7 |
uses: astral-sh/setup-uv@37802adc94f370d6bfd71619e3f0bf239e1f3b78 # v7.6.0 |
||||
with: |
with: |
||||
|
version: "0.11.4" |
||||
cache-dependency-glob: | |
cache-dependency-glob: | |
||||
pyproject.toml |
pyproject.toml |
||||
uv.lock |
uv.lock |
||||
@ -51,7 +56,7 @@ jobs: |
|||||
run: uv sync --locked --extra all |
run: uv sync --locked --extra all |
||||
- name: Run prek - pre-commit |
- name: Run prek - pre-commit |
||||
id: precommit |
id: precommit |
||||
run: uvx prek run --from-ref origin/${GITHUB_BASE_REF} --to-ref HEAD --show-diff-on-failure |
run: uv run prek run --from-ref origin/${GITHUB_BASE_REF} --to-ref HEAD --show-diff-on-failure |
||||
continue-on-error: true |
continue-on-error: true |
||||
- name: Commit and push changes |
- name: Commit and push changes |
||||
if: env.HAS_SECRETS == 'true' |
if: env.HAS_SECRETS == 'true' |
||||
@ -65,7 +70,7 @@ jobs: |
|||||
git commit -m "🎨 Auto format" |
git commit -m "🎨 Auto format" |
||||
git push |
git push |
||||
fi |
fi |
||||
- uses: pre-commit-ci/[email protected] |
- uses: pre-commit-ci/lite-action@5d6cc0eb514c891a40562a58a8e71576c5c7fb43 # v1.1.0 |
||||
if: env.HAS_SECRETS == 'false' |
if: env.HAS_SECRETS == 'false' |
||||
with: |
with: |
||||
msg: 🎨 Auto format |
msg: 🎨 Auto format |
||||
@ -85,6 +90,6 @@ jobs: |
|||||
GITHUB_CONTEXT: ${{ toJson(github) }} |
GITHUB_CONTEXT: ${{ toJson(github) }} |
||||
run: echo "$GITHUB_CONTEXT" |
run: echo "$GITHUB_CONTEXT" |
||||
- name: Decide whether the needed jobs succeeded or failed |
- name: Decide whether the needed jobs succeeded or failed |
||||
uses: re-actors/alls-green@release/v1 |
uses: re-actors/alls-green@05ac9388f0aebcb5727afa17fcccfecd6f8ec5fe # v1.2.2 |
||||
with: |
with: |
||||
jobs: ${{ toJSON(needs) }} |
jobs: ${{ toJSON(needs) }} |
||||
|
|||||
Loading…
Reference in new issue