Skip to content

Commit 79bcf31

Browse files
authored
[bre-1881] trigger actions artifact filename unique naming (#766)
* use cross runner compatible uuid generation method for unique artifact naming * fix tests
1 parent 1721f59 commit 79bcf31

2 files changed

Lines changed: 17 additions & 6 deletions

File tree

.github/workflows/test-trigger-actions.yml

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ jobs:
5353
echo "Deployment created successfully with ID: $DEPLOYMENT_ID"
5454
5555
- name: Verify deployment payload
56+
id: verify-deployment-payload
5657
env:
5758
GH_TOKEN: ${{ github.token }}
5859
REPOSITORY: ${{ github.repository }}
@@ -81,7 +82,13 @@ jobs:
8182
8283
check "run.id" "$RUN_ID" "$EXPECTED_RUN_ID"
8384
check "run.workflow" "$RUN_WORKFLOW" "test-trigger-actions.yml"
84-
check "run.artifact.name" "$ARTIFACT_NAME" "trigger-context"
85+
86+
if [[ ! "$ARTIFACT_NAME" =~ ^trigger-context(-[a-f0-9]+)?$ ]]; then
87+
echo "::error::payload.run.artifact.name: expected pattern 'trigger-context(-[a-f0-9]+)?', got '$ARTIFACT_NAME'"
88+
exit 1
89+
fi
90+
echo "payload.run.artifact.name: ✓ ($ARTIFACT_NAME)"
91+
8592
check "git.sha" "$GIT_SHA" "$EXPECTED_SHA"
8693
check "git.owner" "$GIT_OWNER" "bitwarden"
8794
check "git.repo" "$GIT_REPO" "gh-actions"
@@ -92,10 +99,12 @@ jobs:
9299
fi
93100
echo "payload.git.branch: ✓ ($GIT_BRANCH)"
94101
102+
echo "artifact_name=$ARTIFACT_NAME" >> "$GITHUB_OUTPUT"
103+
95104
- name: Download trigger context artifact
96105
uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0
97106
with:
98-
name: trigger-context
107+
name: ${{ steps.verify-deployment-payload.outputs.artifact_name }}
99108
path: trigger-context
100109

101110
- name: Verify trigger context

trigger-actions/action.yml

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -58,16 +58,18 @@ runs:
5858
repositories: ${{ steps.retrieve-secrets.outputs.TRIGGER-REPO-NAME }}
5959
permission-deployments: write
6060

61+
- name: Set trigger context artifact name
62+
shell: bash
63+
run: |
64+
echo "TRIGGER_CONTEXT_FILE=trigger-context.json" >> "$GITHUB_ENV"
65+
echo "TRIGGER_CONTEXT_ARTIFACT=trigger-context-$(openssl rand -hex 8)" >> "$GITHUB_ENV"
66+
6167
- name: Write trigger context
6268
shell: bash
6369
env:
6470
_INPUTS: ${{ toJSON(github.event.inputs) }}
6571
_DATA: ${{ inputs.data }}
66-
TRIGGER_CONTEXT_FILE: trigger-context.json
67-
TRIGGER_CONTEXT_ARTIFACT: trigger-context
6872
run: |
69-
echo "TRIGGER_CONTEXT_FILE=$TRIGGER_CONTEXT_FILE" >> "$GITHUB_ENV"
70-
echo "TRIGGER_CONTEXT_ARTIFACT=$TRIGGER_CONTEXT_ARTIFACT" >> "$GITHUB_ENV"
7173
if [[ -n "$_DATA" ]] && ! echo "$_DATA" | jq empty 2>/dev/null; then
7274
echo "::error::custom-data must be a valid JSON value"
7375
exit 1

0 commit comments

Comments
 (0)