From 7cc36cac464d3a25c6542370022040ebb14c6b19 Mon Sep 17 00:00:00 2001 From: Salman Chishti Date: Mon, 9 Mar 2026 04:52:00 -0700 Subject: [PATCH] Fix user-agent integration test for orchestration ID --- .github/workflows/integration.yml | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/.github/workflows/integration.yml b/.github/workflows/integration.yml index 06827f2..ef08747 100644 --- a/.github/workflows/integration.yml +++ b/.github/workflows/integration.yml @@ -154,22 +154,28 @@ jobs: return endpoint({}).headers['user-agent'] result-encoding: string - run: | + matches_user_agent() { + local actual="$1" + local prefix="$2" + [[ "$actual" =~ ^${prefix}(\ actions_orchestration_id/[^[:space:]]+)?\ octokit-core\.js/ ]] + } + echo "- Validating user-agent default" - expected="actions/github-script octokit-core.js/" - if [[ "${{steps.user-agent-default.outputs.result}}" != "$expected"* ]]; then - echo $'::error::\u274C' "Expected user-agent to start with '$expected', got ${{steps.user-agent-default.outputs.result}}" + expected="actions/github-script" + if ! matches_user_agent "${{steps.user-agent-default.outputs.result}}" "$expected"; then + echo $'::error::\u274C' "Expected user-agent to start with '$expected' and include 'octokit-core.js/', got ${{steps.user-agent-default.outputs.result}}" exit 1 fi echo "- Validating user-agent set to a value" - expected="foobar octokit-core.js/" - if [[ "${{steps.user-agent-set.outputs.result}}" != "$expected"* ]]; then - echo $'::error::\u274C' "Expected user-agent to start with '$expected', got ${{steps.user-agent-set.outputs.result}}" + expected="foobar" + if ! matches_user_agent "${{steps.user-agent-set.outputs.result}}" "$expected"; then + echo $'::error::\u274C' "Expected user-agent to start with '$expected' and include 'octokit-core.js/', got ${{steps.user-agent-set.outputs.result}}" exit 1 fi echo "- Validating user-agent set to an empty string" - expected="actions/github-script octokit-core.js/" - if [[ "${{steps.user-agent-empty.outputs.result}}" != "$expected"* ]]; then - echo $'::error::\u274C' "Expected user-agent to start with '$expected', got ${{steps.user-agent-empty.outputs.result}}" + expected="actions/github-script" + if ! matches_user_agent "${{steps.user-agent-empty.outputs.result}}" "$expected"; then + echo $'::error::\u274C' "Expected user-agent to start with '$expected' and include 'octokit-core.js/', got ${{steps.user-agent-empty.outputs.result}}" exit 1 fi echo $'\u2705 Test passed' | tee -a $GITHUB_STEP_SUMMARY