| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 |
- # Part of the Carbon Language project, under the Apache License v2.0 with LLVM
- # Exceptions. See /LICENSE for license information.
- # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
- # Applies mutual exclusivity between states labels:
- # - proposal draft
- # - proposal rfc
- # - proposal accepted
- # - proposal declined
- # - proposal deferred
- #
- # The "proposal" label is always applied in order to make searching for all
- # proposals (regardless of state) easy, although it will typically already be
- # present.
- name: Proposal labeled
- on:
- pull_request_target:
- types:
- - labeled
- permissions:
- pull-requests: write # For gh to edit labels.
- # TODO: `--repo carbon-language/carbon-lang` is a temporary workaround for:
- # https://github.com/cli/cli/issues/11055
- # Once a later version is released on runners, maybe August 2025, we should be
- # able to remove the extra flag.
- jobs:
- proposal_labeled:
- runs-on: ubuntu-latest
- steps:
- - name: Harden Runner
- uses: step-security/harden-runner@58077d3c7e43986b6b15fba718e8ea69e387dfcc # v2.15.1
- with:
- disable-sudo: true
- egress-policy: block
- # prettier-ignore
- allowed-endpoints: >
- api.github.com:443
- - name: draft
- if: |
- github.event.label.name == 'proposal draft'
- run: |
- gh pr edit "${PR}" \
- --remove-label "proposal rfc" \
- --remove-label "proposal accepted" \
- --remove-label "proposal declined" \
- --remove-label "proposal deferred" \
- --add-label "proposal" \
- --repo carbon-language/carbon-lang
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- PR: ${{ github.event.pull_request.html_url }}
- - name: rfc
- if: |
- github.event.label.name == 'proposal rfc'
- run: |
- gh pr edit "${PR}" \
- --remove-label "proposal draft" \
- --remove-label "proposal accepted" \
- --remove-label "proposal declined" \
- --remove-label "proposal deferred" \
- --add-label "proposal" \
- --repo carbon-language/carbon-lang
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- PR: ${{ github.event.pull_request.html_url }}
- - name: accepted
- if: |
- github.event.label.name == 'proposal accepted'
- run: |
- gh pr edit "${PR}" \
- --remove-label "proposal draft" \
- --remove-label "proposal rfc" \
- --remove-label "proposal declined" \
- --remove-label "proposal deferred" \
- --add-label "proposal" \
- --repo carbon-language/carbon-lang
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- PR: ${{ github.event.pull_request.html_url }}
- - name: declined
- if: |
- github.event.label.name == 'proposal declined'
- run: |
- gh pr edit "${PR}" \
- --remove-label "proposal draft" \
- --remove-label "proposal rfc" \
- --remove-label "proposal accepted" \
- --remove-label "proposal deferred" \
- --add-label "proposal" \
- --repo carbon-language/carbon-lang
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- PR: ${{ github.event.pull_request.html_url }}
- - name: deferred
- if: |
- github.event.label.name == 'proposal deferred'
- run: |
- gh pr edit "${PR}" \
- --remove-label "proposal draft" \
- --remove-label "proposal rfc" \
- --remove-label "proposal accepted" \
- --remove-label "proposal declined" \
- --add-label "proposal" \
- --repo carbon-language/carbon-lang
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- PR: ${{ github.event.pull_request.html_url }}
|