From 63160285f073aa821a236a62a0b40977993eb9ab Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Thu, 18 Aug 2022 17:37:29 +0200 Subject: [PATCH] Add: Github Actions Signed-off-by: Nicolas Lamirault --- .../workflows/issues-pr-labels-comments.yml | 35 ++++++++++ .../workflows/issues-pr-labels-required.yml | 67 +++++++++++++++++++ .github/workflows/pr-labels.yml | 28 ++++++++ 3 files changed, 130 insertions(+) create mode 100644 .github/workflows/issues-pr-labels-comments.yml create mode 100644 .github/workflows/issues-pr-labels-required.yml create mode 100644 .github/workflows/pr-labels.yml diff --git a/.github/workflows/issues-pr-labels-comments.yml b/.github/workflows/issues-pr-labels-comments.yml new file mode 100644 index 0000000..ec74d89 --- /dev/null +++ b/.github/workflows/issues-pr-labels-comments.yml @@ -0,0 +1,35 @@ +# Copyright (C) Nicolas Lamirault +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +name: Project / Issues and PR labels comments + +on: + issues: + types: [labeled, unlabeled] + pull_request_target: + types: [labeled, unlabeled] + +permissions: + contents: read + issues: write + pull-requests: write + +jobs: + comment: + runs-on: ubuntu-20.04 + steps: + - uses: actions/checkout@v3 + + - name: Label Commenter + uses: peaceiris/actions-label-commenter@v1 diff --git a/.github/workflows/issues-pr-labels-required.yml b/.github/workflows/issues-pr-labels-required.yml new file mode 100644 index 0000000..716bfd5 --- /dev/null +++ b/.github/workflows/issues-pr-labels-required.yml @@ -0,0 +1,67 @@ +# Copyright (C) Nicolas Lamirault +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +name: Project / Issues and PR labels required + +on: + issues: + types: [opened, labeled, unlabeled] + pull_request_target: + types: [opened, labeled, unlabeled] + # schedule: + # - cron: "0 0 * * *" + +jobs: + required_labels: + runs-on: ubuntu-latest + steps: + - name: Require prefix kind + uses: trstringer/require-label-prefix@v1 + with: + secret: ${{ github.TOKEN }} + prefix: kind + addLabel: true + defaultLabel: needs/kind + + - name: Require prefix area + uses: trstringer/require-label-prefix@v1 + with: + secret: ${{ github.TOKEN }} + prefix: area + addLabel: true + defaultLabel: needs/area + + - name: Require prefix priority + uses: trstringer/require-label-prefix@v1 + with: + secret: ${{ github.TOKEN }} + prefix: priority + addLabel: true + defaultLabel: needs/priority + + # - name: Require prefix size + # uses: trstringer/require-label-prefix@v1 + # with: + # secret: ${{ github.TOKEN }} + # prefix: size + # addLabel: true + # defaultLabel: needs/size + + - name: Require prefix status + uses: trstringer/require-label-prefix@v1 + with: + secret: ${{ github.TOKEN }} + prefix: status + addLabel: true + defaultLabel: needs/status \ No newline at end of file diff --git a/.github/workflows/pr-labels.yml b/.github/workflows/pr-labels.yml new file mode 100644 index 0000000..596bd84 --- /dev/null +++ b/.github/workflows/pr-labels.yml @@ -0,0 +1,28 @@ +# Copyright (C) Nicolas Lamirault +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Labels pull requests based on their branch name +name: Project / PR Branch Labeler + +on: pull_request + +jobs: + label-pr: + runs-on: ubuntu-latest + steps: + - name: Label PR + if: github.event.action == 'opened' + uses: ffittschen/pr-branch-labeler@v1 + with: + repo-token: ${{ secrets.GITHUB_TOKEN }}