# 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 }}