proposal_labeled.yaml 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. # Part of the Carbon Language project, under the Apache License v2.0 with LLVM
  2. # Exceptions. See /LICENSE for license information.
  3. # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  4. # Applies mutual exclusivity between states labels:
  5. # - proposal draft
  6. # - proposal rfc
  7. # - proposal accepted
  8. # - proposal declined
  9. # - proposal deferred
  10. #
  11. # The "proposal" label is always applied in order to make searching for all
  12. # proposals (regardless of state) easy, although it will typically already be
  13. # present.
  14. name: Proposal labeled
  15. on:
  16. pull_request_target:
  17. types:
  18. - labeled
  19. permissions:
  20. pull-requests: write # For gh to edit labels.
  21. jobs:
  22. proposal_labeled:
  23. runs-on: ubuntu-latest
  24. steps:
  25. - name: Harden Runner
  26. uses: step-security/harden-runner@63c24ba6bd7ba022e95695ff85de572c04a18142 # v2.7.0
  27. with:
  28. egress-policy: audit
  29. - name: draft
  30. if: |
  31. github.event.label.name == 'proposal draft'
  32. run: |
  33. gh pr edit "${PR}" \
  34. --remove-label "proposal rfc" \
  35. --remove-label "proposal accepted" \
  36. --remove-label "proposal declined" \
  37. --remove-label "proposal deferred" \
  38. --add-label "proposal"
  39. env:
  40. GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  41. PR: ${{ github.event.pull_request.html_url }}
  42. - name: rfc
  43. if: |
  44. github.event.label.name == 'proposal rfc'
  45. run: |
  46. gh pr edit "${PR}" \
  47. --remove-label "proposal draft" \
  48. --remove-label "proposal accepted" \
  49. --remove-label "proposal declined" \
  50. --remove-label "proposal deferred" \
  51. --add-label "proposal"
  52. env:
  53. GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  54. PR: ${{ github.event.pull_request.html_url }}
  55. - name: accepted
  56. if: |
  57. github.event.label.name == 'proposal accepted'
  58. run: |
  59. gh pr edit "${PR}" \
  60. --remove-label "proposal draft" \
  61. --remove-label "proposal rfc" \
  62. --remove-label "proposal declined" \
  63. --remove-label "proposal deferred" \
  64. --add-label "proposal"
  65. env:
  66. GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  67. PR: ${{ github.event.pull_request.html_url }}
  68. - name: declined
  69. if: |
  70. github.event.label.name == 'proposal declined'
  71. run: |
  72. gh pr edit "${PR}" \
  73. --remove-label "proposal draft" \
  74. --remove-label "proposal rfc" \
  75. --remove-label "proposal accepted" \
  76. --remove-label "proposal deferred" \
  77. --add-label "proposal"
  78. env:
  79. GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  80. PR: ${{ github.event.pull_request.html_url }}
  81. - name: deferred
  82. if: |
  83. github.event.label.name == 'proposal deferred'
  84. run: |
  85. gh pr edit "${PR}" \
  86. --remove-label "proposal draft" \
  87. --remove-label "proposal rfc" \
  88. --remove-label "proposal accepted" \
  89. --remove-label "proposal declined" \
  90. --add-label "proposal"
  91. env:
  92. GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  93. PR: ${{ github.event.pull_request.html_url }}