Skip to content

Commit d8f2eba

Browse files
authored
Improve our PR match logic (#2095)
* Improve our PR match logic * duplicate id * wrong if check on merge group
1 parent 91fbb1c commit d8f2eba

File tree

1 file changed

+42
-22
lines changed

1 file changed

+42
-22
lines changed

.github/workflows/preview-build.yml

Lines changed: 42 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -79,39 +79,59 @@ jobs:
7979
pull-requests: none
8080
id-token: none
8181
outputs:
82-
content-source-match: ${{ steps.event-check.outputs.content-source-match != '' && steps.event-check.outputs.content-source-match || steps.match.outputs.content-source-match }}
83-
content-source-next: ${{ steps.event-check.outputs.content-source-next != '' && steps.event-check.outputs.content-source-next || steps.match.outputs.content-source-next }}
84-
content-source-current: ${{ steps.event-check.outputs.content-source-current != '' && steps.event-check.outputs.content-source-current || steps.match.outputs.content-source-current }}
85-
content-source-edge: ${{ steps.event-check.outputs.content-source-edge != '' && steps.event-check.outputs.content-source-edge || steps.match.outputs.content-source-edge }}
86-
content-source-speculative: ${{ steps.event-check.outputs.content-source-speculative != '' && steps.event-check.outputs.content-source-speculative || steps.match.outputs.content-source-speculative }}
82+
content-source-match: ${{ format('{0}{1}{2}', steps.pr-check.outputs.content-source-match, steps.push-check.outputs.content-source-match, steps.merge-group-check.outputs.content-source-match) }}
83+
content-source-next: ${{ format('{0}{1}{2}', steps.pr-check.outputs.content-source-next, steps.push-check.outputs.content-source-next, steps.merge-group-check.outputs.content-source-next) }}
84+
content-source-current: ${{ format('{0}{1}{2}', steps.pr-check.outputs.content-source-current, steps.push-check.outputs.content-source-current, steps.merge-group-check.outputs.content-source-current) }}
85+
content-source-edge: ${{ format('{0}{1}{2}', steps.pr-check.outputs.content-source-edge, steps.push-check.outputs.content-source-edge, steps.merge-group-check.outputs.content-source-edge) }}
86+
content-source-speculative: ${{ format('{0}{1}{2}', steps.pr-check.outputs.content-source-speculative, steps.push-check.outputs.content-source-speculative, steps.merge-group-check.outputs.content-source-speculative) }}
8787
steps:
88-
- name: Not a push event
89-
id: event-check
90-
if: contains(fromJSON('["merge_group", "pull_request", "pull_request_target"]'), github.event_name)
91-
# we always want to run for pull requests, but we do not want to indicate its either content source
88+
- name: Find merge-group base branch
89+
if: contains(fromJSON('["merge_group"]'), github.event_name)
90+
id: merge-group-base-branch
91+
run: |
92+
BASE_BRANCH=$(basename "${{ github.event.merge_group.base_ref }}")
93+
echo "base_ref=${BASE_BRANCH}" >> $GITHUB_OUTPUT
94+
- name: Match for merge-group events
95+
id: merge-group-check
96+
if: contains(fromJSON('["merge_group"]'), github.event_name)
97+
uses: elastic/docs-builder/actions/assembler-match@main
98+
with:
99+
ref_name: ${{ steps.merge-group-base-branch.outputs.base_ref }}
100+
repository: ${{ github.repository }}
101+
102+
- name: Match for PR events
103+
id: pr-check
104+
if: contains(fromJSON('["pull_request", "pull_request_target"]'), github.event_name)
105+
uses: elastic/docs-builder/actions/assembler-match@main
106+
with:
107+
ref_name: ${{ github.base_ref }}
108+
repository: ${{ github.repository }}
109+
- name: Match for PR events debug
110+
if: contains(fromJSON('["pull_request", "pull_request_target"]'), github.event_name)
92111
run: |
93-
echo "content-source-match=true" >> $GITHUB_OUTPUT
94-
echo "content-source-next=false" >> $GITHUB_OUTPUT
95-
echo "content-source-current=false" >> $GITHUB_OUTPUT
96-
echo "content-source-edge=false" >> $GITHUB_OUTPUT
97-
echo "content-source-speculative=false" >> $GITHUB_OUTPUT
112+
echo "ref=${{ github.base_ref }}"
113+
echo "repo=${{ github.repository }}"
114+
98115
- name: Match for push events
99-
id: match
116+
id: push-check
100117
if: contains(fromJSON('["push"]'), github.event_name)
101118
uses: elastic/docs-builder/actions/assembler-match@main
102119
with:
103120
ref_name: ${{ github.ref_name }}
104121
repository: ${{ github.repository }}
105-
- name: Debug
122+
- name: Match for push events debug
123+
if: contains(fromJSON('["push"]'), github.event_name)
106124
run: |
107-
echo "Non sensitive data, echo'ing here temporarily to validate this job before connecting it further into the build job"
108-
echo "content-source-match=${{ steps.event-check.outputs.content-source-match != '' && steps.event-check.outputs.content-source-match || steps.match.outputs.content-source-match }}"
109-
echo "content-source-next=${{ steps.event-check.outputs.content-source-next != '' && steps.event-check.outputs.content-source-next || steps.match.outputs.content-source-next }}"
110-
echo "content-source-current=${{ steps.event-check.outputs.content-source-current != '' && steps.event-check.outputs.content-source-current || steps.match.outputs.content-source-current }}"
111-
echo "content-source-current=${{ steps.event-check.outputs.content-source-edge != '' && steps.event-check.outputs.content-source-edge || steps.match.outputs.content-source-edge }}"
112-
echo "content-source-speculative=${{ steps.event-check.outputs.content-source-speculative != '' && steps.event-check.outputs.content-source-speculative || steps.match.outputs.content-source-speculative }}"
113125
echo "ref=${{ github.ref_name }}"
114126
echo "repo=${{ github.repository }}"
127+
128+
- name: Debug outputs
129+
run: |
130+
echo "content-source-match: ${{ format('{0}{1}{2}', steps.pr-check.outputs.content-source-match, steps.push-check.outputs.content-source-match, steps.merge-group-check.outputs.content-source-match) }}"
131+
echo "content-source-next: ${{ format('{0}{1}{2}', steps.pr-check.outputs.content-source-next, steps.push-check.outputs.content-source-next, steps.merge-group-check.outputs.content-source-next) }}"
132+
echo "content-source-current: ${{ format('{0}{1}{2}', steps.pr-check.outputs.content-source-current, steps.push-check.outputs.content-source-current, steps.merge-group-check.outputs.content-source-current) }}"
133+
echo "content-source-edge: ${{ format('{0}{1}{2}', steps.pr-check.outputs.content-source-edge, steps.push-check.outputs.content-source-edge, steps.merge-group-check.outputs.content-source-edge) }}"
134+
echo "content-source-speculative: ${{ format('{0}{1}{2}', steps.pr-check.outputs.content-source-speculative, steps.push-check.outputs.content-source-speculative, steps.merge-group-check.outputs.content-source-speculative) }}"
115135
116136
check:
117137
runs-on: ubuntu-latest

0 commit comments

Comments
 (0)