Skip to content

Commit 64e3b30

Browse files
committed
Only run release build when PR has certain label
1 parent 48a7827 commit 64e3b30

File tree

1 file changed

+19
-2
lines changed

1 file changed

+19
-2
lines changed

.github/workflows/release.yaml

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@ name: Build and release
22

33
on:
44
push:
5-
branches:
6-
- master
75
tags:
86
- 'v*'
97
- 'cabal-install-*'
@@ -14,8 +12,27 @@ on:
1412
- cron: '0 0 * * *'
1513
workflow_dispatch:
1614

15+
env:
16+
BUILD_LABEL: "run release build"
17+
1718
jobs:
19+
check-pr-labels:
20+
name: check PR labels
21+
runs-on: ubuntu-latest
22+
outputs:
23+
run_release_workflow: ${{ steps.gen_output.outputs.apt_tools }}
24+
steps:
25+
- if: ${{ github.event_name == 'pull_request' }}
26+
run: |
27+
echo run_release_workflow="$(if gh api --jq '.labels.[].name' /repos/${{ github.repository }}/pulls/${{ github.event.number }} | grep --quiet '^${{ env.BUILD_LABEL }}$' ; then echo "yes" ; else echo "no" ; fi)" >> "$GITHUB_OUTPUT"
28+
29+
- if: ${{ github.event_name != 'pull_request' }}
30+
run: |
31+
echo run_release_workflow="yes" >> "$GITHUB_OUTPUT"
32+
1833
release-workflow:
34+
needs: ["check-pr-labels"]
35+
if: ${{ needs.check-pr-labels.outputs.run_release_workflow == 'yes' }}
1936
uses: ./.github/workflows/reusable-release.yml
2037
with:
2138
branches: '["${{ github.ref }}"]'

0 commit comments

Comments
 (0)