Merge commit '484a904fa7' as 'nginx'
This commit is contained in:
commit
2b63c55768
528 changed files with 294288 additions and 0 deletions
15
nginx/.github/DISCUSSION_TEMPLATE/general.yml
vendored
Normal file
15
nginx/.github/DISCUSSION_TEMPLATE/general.yml
vendored
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
---
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
For NGINX troubleshooting/technical help, please visit our community forum instead of asking your questions here. We will politely redirect these types of questions to the forum.
|
||||
- type: textarea
|
||||
id: general
|
||||
attributes:
|
||||
label: What would you like to discuss?
|
||||
description: Please provide as much context as possible. Remember that only general discussions related to the NGINX codebase will be addressed on GitHub. For anything else, please visit our [community forum](https://community.nginx.org/).
|
||||
value: |
|
||||
I would like to discuss...
|
||||
validations:
|
||||
required: true
|
||||
15
nginx/.github/DISCUSSION_TEMPLATE/ideas.yml
vendored
Normal file
15
nginx/.github/DISCUSSION_TEMPLATE/ideas.yml
vendored
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
---
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
For NGINX troubleshooting/technical help, please visit our community forum instead of asking your questions here. We will politely redirect these types of questions to the forum.
|
||||
- type: textarea
|
||||
id: ideas
|
||||
attributes:
|
||||
label: What idea would you like to discuss?
|
||||
description: Please provide as much context as possible. Remember that only ideas related to the NGINX codebase will be addressed on GitHub. For anything else, please visit our [community forum](https://community.nginx.org/).
|
||||
value: |
|
||||
I have an idea for...
|
||||
validations:
|
||||
required: true
|
||||
15
nginx/.github/DISCUSSION_TEMPLATE/q-a.yml
vendored
Normal file
15
nginx/.github/DISCUSSION_TEMPLATE/q-a.yml
vendored
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
---
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
For NGINX troubleshooting/technical help, please visit our community forum instead of asking your questions here. We will politely redirect these types of questions to the forum.
|
||||
- type: textarea
|
||||
id: q-a
|
||||
attributes:
|
||||
label: What question do you have?
|
||||
description: Please provide as much context as possible. Remember that only questions related to the NGINX codebase will be addressed on GitHub. For anything else, please visit our [community forum](https://community.nginx.org/).
|
||||
value: |
|
||||
I would like to know...
|
||||
validations:
|
||||
required: true
|
||||
106
nginx/.github/ISSUE_TEMPLATE/bug_report.yml
vendored
Normal file
106
nginx/.github/ISSUE_TEMPLATE/bug_report.yml
vendored
Normal file
|
|
@ -0,0 +1,106 @@
|
|||
---
|
||||
name: 🐛 Bug report
|
||||
description: Create a report to help us improve
|
||||
labels: bug
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
Thanks for taking the time to fill out this bug report!
|
||||
|
||||
Before you continue filling out this report, please take a moment to check that your bug has not been [already reported on GitHub][issue search], is reproducible with the latest version of nginx, and does not involve any third-party modules 🙌
|
||||
|
||||
Remember to redact any sensitive information such as authentication credentials and/or license keys!
|
||||
|
||||
**Note:** If you are seeking community support, please start a new topic in the [NGINX Community forum][forum]. If you wish to discuss the codebase, please start a new thread via [GitHub discussions][discussions].
|
||||
|
||||
[issue search]: https://github.com/nginx/nginx/search?q=is%3Aissue&type=issues
|
||||
[discussions]: https://github.com/nginx/nginx/discussions
|
||||
[forum]: https://community.nginx.org
|
||||
|
||||
- type: textarea
|
||||
id: overview
|
||||
attributes:
|
||||
label: Bug Overview
|
||||
description: A clear and concise overview of the bug.
|
||||
placeholder: When I do "X", "Y" happens instead of "Z".
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: behavior
|
||||
attributes:
|
||||
label: Expected Behavior
|
||||
description: A clear and concise description of what you expected to happen.
|
||||
placeholder: When I do "X", I expect "Z" to happen.
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: steps
|
||||
attributes:
|
||||
label: Steps to Reproduce the Bug
|
||||
description: Detail the series of steps required to reproduce the bug.
|
||||
placeholder: When I run "X" using [...], "X" fails with "Y" error message. If I check the terminal outputs and/or logs, I see the following info.
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: configuration
|
||||
attributes:
|
||||
label: NGINX Configuration
|
||||
description: Please provide your NGINX configuration. Minimize it to the smallest possible configuration that reproduces the issue.
|
||||
value: |
|
||||
```
|
||||
# Your NGINX configuration
|
||||
```
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: version
|
||||
attributes:
|
||||
label: NGINX version and build configuration options
|
||||
description: Please provide details about your NGINX build.
|
||||
value: |
|
||||
The output of `nginx -V`: [...]
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: environment
|
||||
attributes:
|
||||
label: Environment where NGINX is being built and/or deployed
|
||||
description: Please provide details about your environment.
|
||||
value: |
|
||||
- Target deployment platform: [e.g. AWS/GCP/local cluster/etc...]
|
||||
- Target OS: [e.g. RHEL 9/Ubuntu 24.04/etc...]
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: architecture
|
||||
attributes:
|
||||
label: Architecture where NGINX is being built and/or deployed
|
||||
description: Please provide details about your deployment environment.
|
||||
value: |
|
||||
The output of `uname -a`: [...]
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: logs
|
||||
attributes:
|
||||
label: NGINX Debug Log
|
||||
description: Please provide your NGINX debug log. See this [doc](http://nginx.org/en/docs/debugging_log.html) for details on how to enable it.
|
||||
value: |
|
||||
```
|
||||
# Your NGINX debug log
|
||||
```
|
||||
|
||||
- type: textarea
|
||||
id: context
|
||||
attributes:
|
||||
label: Additional Context
|
||||
description: Add any other context about the problem here.
|
||||
placeholder: Feel free to add any other context/information/screenshots/etc... that you think might be relevant to this issue in here.
|
||||
12
nginx/.github/ISSUE_TEMPLATE/config.yml
vendored
Normal file
12
nginx/.github/ISSUE_TEMPLATE/config.yml
vendored
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
---
|
||||
blank_issues_enabled: false
|
||||
contact_links:
|
||||
- name: 💬 Talk to the NGINX community!
|
||||
url: https://community.nginx.org
|
||||
about: A community forum for NGINX users, developers, and contributors
|
||||
- name: 📝 Code of Conduct
|
||||
url: https://www.contributor-covenant.org/version/2/1/code_of_conduct
|
||||
about: NGINX follows the Contributor Covenant Code of Conduct to ensure a safe and inclusive community
|
||||
- name: 💼 For commercial & enterprise users
|
||||
url: https://www.f5.com/products/nginx
|
||||
about: F5 offers a wide range of NGINX products for commercial & enterprise users
|
||||
40
nginx/.github/ISSUE_TEMPLATE/feature_request.yml
vendored
Normal file
40
nginx/.github/ISSUE_TEMPLATE/feature_request.yml
vendored
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
---
|
||||
name: ✨ Feature request
|
||||
description: Suggest an idea for this project
|
||||
labels: enhancement
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
Thanks for taking the time to fill out this feature request!
|
||||
|
||||
Before you continue filling out this request, please take a moment to check that your feature has not been [already requested on GitHub][issue search] 🙌
|
||||
|
||||
**Note:** If you are seeking community support, please start a new topic in the [NGINX Community forum][forum]. If you wish to discuss the codebase, please start a new thread via [GitHub discussions][discussions].
|
||||
|
||||
[issue search]: https://github.com/nginx/nginx/search?q=is%3Aissue&type=issues
|
||||
[discussions]: https://github.com/nginx/nginx/discussions
|
||||
[forum]: https://community.nginx.org
|
||||
|
||||
- type: textarea
|
||||
id: overview
|
||||
attributes:
|
||||
label: Feature Overview
|
||||
description: A clear and concise description of what the feature request is.
|
||||
placeholder: I would like this project to be able to do "X".
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: alternatives
|
||||
attributes:
|
||||
label: Alternatives Considered
|
||||
description: Detail any potential alternative solutions/workarounds you've used or considered.
|
||||
placeholder: I have done/might be able to do "X" in this project by doing "Y".
|
||||
|
||||
- type: textarea
|
||||
id: context
|
||||
attributes:
|
||||
label: Additional Context
|
||||
description: Add any other context about the problem here.
|
||||
placeholder: Feel free to add any other context/information/screenshots/etc... that you think might be relevant to this feature request here.
|
||||
36
nginx/.github/pull_request_template.md
vendored
Normal file
36
nginx/.github/pull_request_template.md
vendored
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
## Problem
|
||||
|
||||
Briefly describe the issue or feature being addressed.
|
||||
|
||||
## Solution
|
||||
|
||||
Explain your approach and any important design decisions.
|
||||
|
||||
## Testing
|
||||
|
||||
Describe how you tested the change (manual testing, automated tests,
|
||||
regression tests, etc.).
|
||||
|
||||
- [ ] Manual Testing
|
||||
- [ ] Functional Testing ([nginx-tests](https://github.com/nginx/nginx-tests))
|
||||
|
||||
**Closes:** #ISSUE\_NUMBER
|
||||
|
||||
## Checklist
|
||||
|
||||
Before submitting this PR, please confirm:
|
||||
|
||||
- [ ] I have read the [CONTRIBUTING](https://github.com/nginx/nginx/blob/master/CONTRIBUTING.md) guidelines
|
||||
- [ ] I have added tests (if applicable) to validate my changes
|
||||
- [ ] All existing tests pass
|
||||
- [ ] I have updated documentation where necessary
|
||||
- [ ] My branch is rebased on the latest master
|
||||
- [ ] This PR targets the master branch from my fork
|
||||
- [ ] My commit message follows NGINX standards (imperative mood, clear
|
||||
subject, references related issue if applicable, and contains only
|
||||
relevant changes)
|
||||
|
||||
## Release Notes
|
||||
|
||||
If this change affects users, please add a short note here describing
|
||||
the impact for release documentation.
|
||||
103
nginx/.github/scripts/commit-msg-check.pl
vendored
Executable file
103
nginx/.github/scripts/commit-msg-check.pl
vendored
Executable file
|
|
@ -0,0 +1,103 @@
|
|||
#!/usr/bin/env perl
|
||||
|
||||
# Copyright (C) Nginx, Inc.
|
||||
|
||||
#
|
||||
# Takes input in the form
|
||||
#
|
||||
# git show -s --format=%B <hash>
|
||||
#
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
my $E = "❌ ";
|
||||
|
||||
# 72 characters is a natural choice. It provides 4 characters of
|
||||
# left/right margin on a standard 80 character wide terminal in
|
||||
# git-log(1) etc standard output.
|
||||
#
|
||||
# vim(1) (from 7.2) ships with Tim Pope's vim-git ftplugin which
|
||||
# amongst other things autowraps lines when editing commit messages
|
||||
# after 72 characters.
|
||||
my $LINE_LENGTH_LIMIT = 72;
|
||||
|
||||
my $subject = <>;
|
||||
my $body;
|
||||
|
||||
while (<>) {
|
||||
$body .= $_;
|
||||
}
|
||||
|
||||
sub chk_sub_length {
|
||||
if (length($subject) > $LINE_LENGTH_LIMIT) {
|
||||
print $E . "Subject is longer than " . $LINE_LENGTH_LIMIT .
|
||||
" characters\n";
|
||||
}
|
||||
}
|
||||
|
||||
sub chk_sub_prefix_cap {
|
||||
my $excemptions = qr/gRPC: /;
|
||||
|
||||
if ($subject =~ /^[a-z][a-zA-Z_-]*: /) {
|
||||
if ($subject =~ /^((?!$excemptions).)*$/) {
|
||||
print $E . "Subject prefix should be capitalised\n";
|
||||
}
|
||||
}
|
||||
|
||||
if ($subject =~ /^[a-zA-Z_-]*: [A-Z]/) {
|
||||
print $E . "First word after the prefix should be lower case\n";
|
||||
}
|
||||
}
|
||||
|
||||
sub chk_body_blank_line {
|
||||
if (($body =~ /^(.*)/)[0]) {
|
||||
print $E . "Commit message body should be separated from the subject by a blank line\n";
|
||||
}
|
||||
}
|
||||
|
||||
sub chk_body_trailers {
|
||||
my $prev_line = "";
|
||||
|
||||
foreach (split(/\n/, $body)) {
|
||||
if (/^[a-zA-Z-]*: /) {
|
||||
if ($prev_line ne "") {
|
||||
print $E . "Commit tags/trailers should be separated from the commit message body by a blank line\n";
|
||||
}
|
||||
|
||||
last;
|
||||
}
|
||||
|
||||
$prev_line = $_;
|
||||
}
|
||||
}
|
||||
|
||||
sub chk_body_line_length {
|
||||
foreach (split(/\n/, $body)) {
|
||||
# Ignore indented lines for command/log output etc and URLs.
|
||||
if (/^[ \t]/ || /https?:\/\// || /ftp:\/\//) {
|
||||
next;
|
||||
}
|
||||
|
||||
# Stop after hitting commit tags/trailers
|
||||
if (/^[a-zA-Z-]*: /) {
|
||||
last;
|
||||
}
|
||||
|
||||
if (length($_) <= $LINE_LENGTH_LIMIT) {
|
||||
next;
|
||||
}
|
||||
|
||||
print $E . "One or more body lines exceed " . $LINE_LENGTH_LIMIT . " characters. (Indent command/log output etc lines to quell this error)\n";
|
||||
|
||||
last;
|
||||
}
|
||||
}
|
||||
|
||||
chomp($subject);
|
||||
chk_sub_length();
|
||||
chk_sub_prefix_cap();
|
||||
|
||||
chk_body_blank_line();
|
||||
chk_body_trailers();
|
||||
chk_body_line_length();
|
||||
11
nginx/.github/workflows/buildbot.yml
vendored
Normal file
11
nginx/.github/workflows/buildbot.yml
vendored
Normal 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
|
||||
38
nginx/.github/workflows/check-commit-message.yaml
vendored
Normal file
38
nginx/.github/workflows/check-commit-message.yaml
vendored
Normal 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
8
nginx/.github/workflows/check-pr.yml
vendored
Normal 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
|
||||
23
nginx/.github/workflows/check-version-bump.yaml
vendored
Normal file
23
nginx/.github/workflows/check-version-bump.yaml
vendored
Normal 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
|
||||
49
nginx/.github/workflows/check-whitespace.yaml
vendored
Normal file
49
nginx/.github/workflows/check-whitespace.yaml
vendored
Normal 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
77
nginx/.github/workflows/f5_cla.yml
vendored
Normal 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,
|
||||
});
|
||||
27
nginx/.github/workflows/mark-issues-prs-stale.yaml
vendored
Normal file
27
nginx/.github/workflows/mark-issues-prs-stale.yaml
vendored
Normal 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
|
||||
32
nginx/.github/workflows/new-issue-welcome.yaml
vendored
Normal file
32
nginx/.github/workflows/new-issue-welcome.yaml
vendored
Normal 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
|
||||
});
|
||||
Loading…
Add table
Add a link
Reference in a new issue