proposal_labeled.yaml 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  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. jobs:
  20. proposal_labeled:
  21. runs-on: ubuntu-latest
  22. steps:
  23. - name: draft
  24. if: |
  25. github.event.label.name == 'proposal draft'
  26. run: |
  27. gh pr edit "${PR}" \
  28. --remove-label "proposal rfc" \
  29. --remove-label "proposal accepted" \
  30. --remove-label "proposal declined" \
  31. --remove-label "proposal deferred" \
  32. --add-label "proposal"
  33. env:
  34. GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  35. PR: ${{ github.event.pull_request.html_url }}
  36. - name: rfc
  37. if: |
  38. github.event.label.name == 'proposal rfc'
  39. run: |
  40. gh pr edit "${PR}" \
  41. --remove-label "proposal draft" \
  42. --remove-label "proposal accepted" \
  43. --remove-label "proposal declined" \
  44. --remove-label "proposal deferred" \
  45. --add-label "proposal"
  46. env:
  47. GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  48. PR: ${{ github.event.pull_request.html_url }}
  49. - name: accepted
  50. if: |
  51. github.event.label.name == 'proposal accepted'
  52. run: |
  53. gh pr edit "${PR}" \
  54. --remove-label "proposal draft" \
  55. --remove-label "proposal rfc" \
  56. --remove-label "proposal declined" \
  57. --remove-label "proposal deferred" \
  58. --add-label "proposal"
  59. env:
  60. GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  61. PR: ${{ github.event.pull_request.html_url }}
  62. - name: declined
  63. if: |
  64. github.event.label.name == 'proposal declined'
  65. run: |
  66. gh pr edit "${PR}" \
  67. --remove-label "proposal draft" \
  68. --remove-label "proposal rfc" \
  69. --remove-label "proposal accepted" \
  70. --remove-label "proposal deferred" \
  71. --add-label "proposal"
  72. env:
  73. GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  74. PR: ${{ github.event.pull_request.html_url }}
  75. - name: deferred
  76. if: |
  77. github.event.label.name == 'proposal deferred'
  78. run: |
  79. gh pr edit "${PR}" \
  80. --remove-label "proposal draft" \
  81. --remove-label "proposal rfc" \
  82. --remove-label "proposal accepted" \
  83. --remove-label "proposal declined" \
  84. --add-label "proposal"
  85. env:
  86. GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  87. PR: ${{ github.event.pull_request.html_url }}