Merge commit '484a904fa7' as 'nginx'

This commit is contained in:
Ava Apples Affine 2026-04-30 00:59:20 +00:00
commit 2b63c55768
528 changed files with 294288 additions and 0 deletions

11
nginx/.github/workflows/buildbot.yml vendored Normal file
View file

@ -0,0 +1,11 @@
name: buildbot
on:
push:
branches:
- master
- 'stable-1.*'
jobs:
buildbot:
uses: nginx/ci-self-hosted/.github/workflows/nginx-buildbot.yml@main

View file

@ -0,0 +1,38 @@
name: Check Commit Message(s)
# Get the repository with all commits to ensure that we can
# analyze all of the commits contributed via the Pull Request.
on:
pull_request:
types: [ opened, synchronize ]
jobs:
check-commit-messages:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
with:
fetch-depth: 0
- name: check-commits.sh
run: |
echo "## Commit Message Linter Results" >${GITHUB_STEP_SUMMARY}
err=0
while read hash subj
do
echo "Checking: ${hash} (\"${subj}\")" | tee -a ${GITHUB_STEP_SUMMARY}
out=$(git show -s --format=%B ${hash} | .github/scripts/commit-msg-check.pl)
if test -n "${out}"
then
echo "${out}" | tee -a ${GITHUB_STEP_SUMMARY}
err=1
else
echo "✅ ok" | tee -a ${GITHUB_STEP_SUMMARY}
fi
done <<< $(git rev-list --oneline ${{github.event.pull_request.base.sha}}..${{github.event.pull_request.head.sha}})
if test ${err} -ne 0
then
exit 2
fi

8
nginx/.github/workflows/check-pr.yml vendored Normal file
View file

@ -0,0 +1,8 @@
name: check-pr
on:
pull_request:
jobs:
check-pr:
uses: nginx/ci-self-hosted/.github/workflows/nginx-check-pr.yml@main

View file

@ -0,0 +1,23 @@
name: Check Version Bump
on:
pull_request:
types: [ opened, synchronize ]
jobs:
check-version-bump:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
with:
fetch-depth: 0
- name: Check git log
run: |
echo "## Check for 'Version bump' commit" >${GITHUB_STEP_SUMMARY}
subj=$(git log --format=%s $(git describe --abbrev=0 --tags).. | tail -1)
if ! expr "$subj" : 'Version bump' >/dev/null
then
echo "❌ No 'Version bump' commit immediately after release tag" | tee -a ${GITHUB_STEP_SUMMARY}
exit 2
fi

View file

@ -0,0 +1,49 @@
name: Check Whitespace
# Process `git log --check` output to extract just the check errors.
on:
pull_request:
types: [ opened, synchronize ]
jobs:
check-whitespace:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
with:
fetch-depth: 0
- name: git log --check
run: |
echo "## Whitespace Check Results" >${GITHUB_STEP_SUMMARY}
err=0
commit=
while read dash hash subj
do
case "${dash}" in
"---")
err=0
commit="${hash} (\"${subj}\")"
;;
"")
;;
*)
if test -n "${commit}"
then
echo "" | tee -a ${GITHUB_STEP_SUMMARY}
echo "--- ${commit}" | tee -a ${GITHUB_STEP_SUMMARY}
fi
err=1
commit=
# Ignore the variable names, this is actually the output from
# git-log --check
echo "${dash} ${hash} ${subj}" | tee -a ${GITHUB_STEP_SUMMARY}
;;
esac
done <<< $(git log --check --pretty=format:"--- %h %s" ${{github.event.pull_request.base.sha}}..)
if test ${err} -ne 0
then
exit 2
fi

77
nginx/.github/workflows/f5_cla.yml vendored Normal file
View file

@ -0,0 +1,77 @@
---
name: F5 Contributor License Agreement (CLA)
on:
issue_comment:
types: [created]
pull_request_target:
types: [opened, synchronize, closed, labeled, unlabeled]
permissions: read-all
jobs:
f5-cla:
name: F5 Contributor License Agreement (CLA)
runs-on: ubuntu-24.04
permissions:
actions: write
contents: read
pull-requests: write
statuses: write
steps:
- name: Check if F5 CLA should be skipped
id: skip-cla
if: |
(github.repository == 'nginx/nginx' || github.repository == 'nginx/nginx-tests' || github.repository == 'nginx/nginx.org') &&
(contains(toJSON(github.event.pull_request.labels.*.name), '"skip-cla"') ||
contains(toJSON(github.event.issue.labels.*.name), '"skip-cla"'))
run: echo "skip=true" >> "$GITHUB_OUTPUT"
- name: Run F5 CLA assistant
if: |
steps.skip-cla.outputs.skip != 'true' &&
(github.event_name == 'pull_request_target' ||
github.event.comment.body == 'recheck' ||
github.event.comment.body == 'I have hereby read the F5 CLA and agree to its terms')
uses: contributor-assistant/github-action@ca4a40a7d1004f18d9960b404b97e5f30a505a08 # v2.6.1
with:
# Path to the CLA document.
path-to-document: https://github.com/f5/f5-cla/blob/main/docs/f5_cla.md
# Custom CLA messages.
custom-notsigned-prcomment: '🎉 Thank you for your contribution! It appears you have not yet signed the [F5 Contributor License Agreement (CLA)](https://github.com/f5/f5-cla/blob/main/docs/f5_cla.md), which is required for your changes to be incorporated into an F5 Open Source Software (OSS) project. Please kindly read the [F5 CLA](https://github.com/f5/f5-cla/blob/main/docs/f5_cla.md) and reply on a new comment with the following text to agree:'
custom-pr-sign-comment: 'I have hereby read the F5 CLA and agree to its terms'
custom-allsigned-prcomment: '✅ All required contributors have signed the F5 CLA for this PR. Thank you!'
# Remote repository storing CLA signatures.
remote-organization-name: f5
remote-repository-name: f5-cla-data
# Branch where CLA signatures are stored.
branch: main
path-to-signatures: signatures/signatures.json
# Comma separated list of usernames for maintainers or any other individuals who should not be prompted for a CLA.
# NOTE: You will want to edit the usernames to suit your project needs.
allowlist: Copilot,dependabot[bot],renovate[bot],nginx-bot
# Do not lock PRs after a merge.
lock-pullrequest-aftermerge: false
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
PERSONAL_ACCESS_TOKEN: ${{ secrets.F5_CLA_TOKEN }}
- name: Leave a note in the PR if the F5 CLA is not required
if: |
steps.skip-cla.outputs.skip == 'true' &&
(github.event.action == 'labeled' || github.event.action == 'opened')
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
with:
script: |
const number = context.payload.pull_request?.number || context.payload.issue?.number;
if (!number) return;
const body = '✅ The F5 CLA is not required for this PR.\n<sub>Posted by the **CLA Assistant Lite bot**.</sub>';
const { data: comments } = await github.rest.issues.listComments({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: number,
});
if (comments.some(c => c.body === body)) return;
await github.rest.issues.createComment({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: number,
body,
});

View file

@ -0,0 +1,27 @@
name: Mark Stale Issues/Pull-Requests
on:
schedule:
- cron: '22 2 * * *' # Run every day at 02:22
env:
STALE_DAYS: 90
jobs:
mark_stale_issues_prs:
runs-on: ubuntu-24.04
permissions:
actions: write
issues: write
pull-requests: write
name: Mark stale issues/pull-requests
steps:
- uses: actions/stale@b5d41d4e1d5dceea10e7104786b73624c18a190f # v10
with:
stale-pr-message: "This pull-request has been automatically marked 'stale' because it has been inactive for **${{ env.STALE_DAYS }}** days."
stale-issue-message: "This issue has been automatically marked 'stale' because it has been inactive for **${{ env.STALE_DAYS }}** days."
days-before-stale: ${{ env.STALE_DAYS }}
days-before-close: -1
stale-pr-label: stale
stale-issue-label: stale

View file

@ -0,0 +1,32 @@
name: New Issue Welcome
on:
issues:
types: [opened]
jobs:
new-issue-welcome:
runs-on: ubuntu-24.04
permissions:
issues: write
steps:
- name: Comment on new issue
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
const issueNumber = context.issue.number;
const username = context.payload.issue.user.login;
const comment = [
`👋 Thanks for opening this issue and contributing to the NGINX project!`,
`A maintainer will review it and follow up when possible. We appreciate your support.`
].join('\n');
await github.rest.issues.createComment({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: issueNumber,
body: comment
});