diff --git a/.github/workflows/cla.yml b/.github/workflows/cla.yml new file mode 100644 index 00000000..52cb7aa0 --- /dev/null +++ b/.github/workflows/cla.yml @@ -0,0 +1,36 @@ +name: "cla" + +on: + issue_comment: + types: [created] + pull_request_target: + types: [opened, closed, synchronize] + +jobs: + cla: + runs-on: ubuntu-latest + steps: + - name: "Get Team Members" + id: team + uses: actions/github-script@v6 + with: + github-token: ${{ secrets.ORG_TOKEN }} + result-encoding: string + script: | + const members = await github.paginate( + github.rest.orgs.listMembers, + { org: "cowprotocol" }, + ); + return members.map(m => m.login).join(","); + + - name: "CLA Assistant" + if: (github.event.comment.body == 'recheck' || github.event.comment.body == 'I have read the CLA Document and I hereby sign the CLA') || github.event_name == 'pull_request_target' + uses: contributor-assistant/github-action@v2.1.3-beta + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + PERSONAL_ACCESS_TOKEN: ${{ secrets.ORG_TOKEN }} + with: + branch: "cla-signatures" + path-to-signatures: "signatures/version1/cla.json" + path-to-document: "https://github.com/cowprotocol/cla/blob/main/Nomev%20Labs%20CLA.md" + allowlist: "${{ steps.team.outputs.result }},*[bot]"