diff --git a/.github/workflows/f5-cla.yml b/.github/workflows/f5-cla.yml new file mode 100644 index 0000000000..5ac46b11b7 --- /dev/null +++ b/.github/workflows/f5-cla.yml @@ -0,0 +1,51 @@ +name: F5 CLA + +on: + issue_comment: + types: + - created + pull_request_target: + types: + - opened + - synchronize + +concurrency: + group: ${{ github.ref_name }}-cla + cancel-in-progress: true + +permissions: + contents: read + +jobs: + f5-cla: + name: F5 CLA + runs-on: ubuntu-22.04 + permissions: + actions: write + contents: read + pull-requests: write + statuses: write + steps: + - name: Run F5 Contributor License Agreement (CLA) assistant + if: (github.event.comment.body == 'recheck' || github.event.comment.body == 'I have hereby read the F5 CLA and agree to its terms') || github.event_name == 'pull_request_target' + uses: contributor-assistant/github-action@f41946747f85d28e9a738f4f38dbcc74b69c7e0e # v2.5.1 + with: + # Any pull request targeting the following branch will trigger a CLA check. + branch: "main" + # Path to the CLA document. + path-to-document: "https://github.com/f5/.github/blob/main/CLA/cla-markdown.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), 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/.github/blob/main/CLA/cla-markdown.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" + path-to-signatures: "signatures/beta/signatures.json" + # Comma separated list of usernames for maintainers or any other individuals who should not be prompted for a CLA. + allowlist: 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 }} diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index dc5b5c44ed..808f72650d 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -17,7 +17,7 @@ considering contributing! - [Suggest an Enhancement](#suggest-an-enhancement) - [Issue lifecycle](#issue-lifecycle) - [Development Guide](#development-guide) -- [Contributor License Agreement](#contributor-license-agreement) +- [F5 Contributor License Agreement (CLA)](#f5-contributor-license-agreement-cla) @@ -99,10 +99,8 @@ Before beginning development, familiarize yourself with the following documents: - [Design Principles](/docs/developer/design-principles.md): An overview of the project's design principles. - [NGINX Gateway Fabric Documentation](/site/README.md): An explanation of the documentation tooling and conventions. -## Contributor License Agreement +## F5 Contributor License Agreement (CLA) -Individuals or business entities who contribute to this project must have completed and submitted -the [F5® Contributor License Agreement](F5ContributorLicenseAgreement.pdf) prior to their code submission being included -in this project. To submit, print out the [F5® Contributor License Agreement](F5ContributorLicenseAgreement.pdf), fill -in the required sections, sign, scan, and send executed CLA to kubernetes@nginx.com. Make sure to include your github -handle in the CLA email. +F5 requires all external contributors to agree to the terms of the F5 CLA (available [here](https://github.com/f5/.github/blob/main/CLA/cla-markdown.md)) before any of their changes can be incorporated into an F5 Open Source repository. + +If you have not yet agreed to the F5 CLA terms and submit a PR to this repository, a bot will prompt you to view and agree to the F5 CLA. You will have to agree to the F5 CLA terms through a comment in the PR before any of your changes can be merged. Your agreement signature will be safely stored by F5 and no longer be required in future PRs. diff --git a/F5ContributorLicenseAgreement.pdf b/F5ContributorLicenseAgreement.pdf deleted file mode 100644 index 0b1dfb80dd..0000000000 Binary files a/F5ContributorLicenseAgreement.pdf and /dev/null differ