diff --git a/.github/labeler.yml b/.github/labeler.yml new file mode 100644 index 000000000..03a18a90c --- /dev/null +++ b/.github/labeler.yml @@ -0,0 +1,27 @@ +area/workflow/dotnet_clipackage: +- aws_lambda_builders/workflows/dotnet_clipacakge/* +- aws_lambda_builders/workflows/dotnet_clipacakge/**/* + +area/workflow/go_modules: +- aws_lambda_builders/workflows/go_modules/* +- aws_lambda_builders/workflows/go_modules/**/* + +area/workflow/java_gradle: +- aws_lambda_builders/workflows/java_gradle/* +- aws_lambda_builders/workflows/java_gradle/**/* + +area/workflow/java_maven: +- aws_lambda_builders/workflows/java_maven/* +- aws_lambda_builders/workflows/java_maven/**/* + +area/workflow/node_npm: +- aws_lambda_builders/workflows/nodejs_npm/* +- aws_lambda_builders/workflows/nodejs_npm/**/* + +area/workflow/python_pip: +- aws_lambda_builders/workflows/python_pip/* +- aws_lambda_builders/workflows/python_pip/**/* + +area/workflow/ruby_bundler: +- aws_lambda_builders/workflows/ruby_bundler/* +- aws_lambda_builders/workflows/ruby_bundler/**/* diff --git a/.github/workflows/README.md b/.github/workflows/README.md new file mode 100644 index 000000000..c0e878f27 --- /dev/null +++ b/.github/workflows/README.md @@ -0,0 +1,8 @@ +This folder has Github Actions for this repo. + +** pr-labler ** + +This is responsible for tagging our prs automattically. The primary thing it does is tags internal vs external (to the team) PRs. It will +also tag PRs with `area/*` tags based upon the files being changes in the PR. This is run on `pull_request_target` which only runs what is +in the repo not what is in the Pull Request. This is done to help guard against a PR running and changing. For this, the Action should NEVER +download or checkout the PR. It is purely for tagging/labeling not CI. diff --git a/.github/workflows/pr-labeler.yml b/.github/workflows/pr-labeler.yml new file mode 100644 index 000000000..86dc5433a --- /dev/null +++ b/.github/workflows/pr-labeler.yml @@ -0,0 +1,38 @@ +name: "Pull Request Labeler" +on: +- pull_request_target + +jobs: + apply-file-based-labels: + permissions: + pull-requests: write + runs-on: ubuntu-latest + steps: + - uses: actions/labeler@v3 + with: + repo-token: "${{ secrets.GITHUB_TOKEN }}" + apply-internal-external-label: + permissions: + pull-requests: write + runs-on: ubuntu-latest + steps: + - uses: actions/github-script@v5 + with: + github-token: ${{secrets.GITHUB_TOKEN}} + script: | + const maintainers = ['jfuss', 'c2tarun', 'hoffa', 'awood45', 'CoshUS', 'aahung', 'hawflau', 'mndeveci', 'ssenchenko', 'wchengru', 'mingkun2020', 'qingchm', 'moelasmar', 'xazhao', 'mildaniel', 'marekaiv', 'torresxb1'] + if (maintainers.includes(context.payload.sender.login)) { + github.rest.issues.addLabels({ + issue_number: context.issue.number, + owner: context.repo.owner, + repo: context.repo.repo, + labels: ['pr/internal'] + }) + } else { + github.rest.issues.addLabels({ + issue_number: context.issue.number, + owner: context.repo.owner, + repo: context.repo.repo, + labels: ['pr/external'] + }) + }