From 2054e7766eb911b1a0777d30c041fbc74f606058 Mon Sep 17 00:00:00 2001 From: Herve Labas Date: Thu, 9 Jul 2026 18:40:23 +0200 Subject: [PATCH 1/3] Add GitHub check name input --- README.md | 2 ++ action.yml | 4 ++++ scripts/run.sh | 13 ++++++++++++- scripts/test.sh | 3 ++- 4 files changed, 20 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 44c2c0a..a2027df 100644 --- a/README.md +++ b/README.md @@ -29,6 +29,7 @@ jobs: install-command: npm ci tags: production,webapp grep: checkout + check-name: Checkly PR code checks env: CHECKLY_API_KEY: ${{ secrets.CHECKLY_API_KEY }} CHECKLY_ACCOUNT_ID: ${{ secrets.CHECKLY_ACCOUNT_ID }} @@ -102,6 +103,7 @@ target URL explicitly through `env` or the workflow `env` block. | `fail-on-no-matching` | `trigger` only. Set to `false` to pass `--no-fail-on-no-matching`. | | `verbose` | Set to `true` or `false` to pass `--verbose` or `--no-verbose`. | | `reporting` | Where to report the Checkly result: `auto`, `github-check`, or `github-actions`. Defaults to `auto`. | +| `check-name` | GitHub Check name used when reporting through the Checkly GitHub App. Defaults to `Checkly`. | ## Outputs diff --git a/action.yml b/action.yml index 0152635..ead5045 100644 --- a/action.yml +++ b/action.yml @@ -79,6 +79,9 @@ inputs: description: Where to report the Checkly result. Use "auto", "github-check", or "github-actions". required: false default: auto + check-name: + description: GitHub Check name to create when reporting through the Checkly GitHub App. Defaults to "Checkly". + required: false outputs: test-session-id: @@ -117,3 +120,4 @@ runs: INPUT_FAIL_ON_NO_MATCHING: ${{ inputs.fail-on-no-matching }} INPUT_VERBOSE: ${{ inputs.verbose }} INPUT_REPORTING: ${{ inputs.reporting }} + INPUT_CHECK_NAME: ${{ inputs.check-name }} diff --git a/scripts/run.sh b/scripts/run.sh index 3b55a6f..e50816c 100755 --- a/scripts/run.sh +++ b/scripts/run.sh @@ -182,6 +182,7 @@ resolve_github_sha() { clear_github_report_env() { unset CHECKLY_GITHUB_REPORT + unset CHECKLY_GITHUB_CHECK_NAME unset CHECKLY_GITHUB_REPOSITORY unset CHECKLY_GITHUB_SHA unset CHECKLY_GITHUB_RUN_ID @@ -224,9 +225,14 @@ configure_deployment_environment_url() { configure_github_report() { local repository="$1" local sha="$2" + local check_name="$3" export CHECKLY_GITHUB_REPORT=true + if [[ -n "$check_name" ]]; then + export CHECKLY_GITHUB_CHECK_NAME="$check_name" + fi + if [[ -n "$repository" ]]; then export CHECKLY_GITHUB_REPOSITORY="$repository" fi @@ -300,6 +306,7 @@ const accountId = process.env.CHECKLY_ACCOUNT_ID const apiKey = process.env.CHECKLY_API_KEY const payload = { + checkName: process.env.CHECKLY_GITHUB_CHECK_NAME, repository: process.env.CHECKLY_GITHUB_REPOSITORY, sha: process.env.CHECKLY_GITHUB_SHA, runId: process.env.CHECKLY_GITHUB_RUN_ID, @@ -353,6 +360,7 @@ cli_version="$(trim "${INPUT_CLI_VERSION:-latest}")" working_directory="$(trim "${INPUT_WORKING_DIRECTORY:-.}")" install_command="$(trim "${INPUT_INSTALL_COMMAND:-}")" reporting="$(trim "${INPUT_REPORTING:-auto}")" +check_name="$(trim "${INPUT_CHECK_NAME:-}")" case "$command_name" in test|trigger) ;; @@ -428,7 +436,7 @@ else echo "::warning::GitHub Check reporting needs Checkly CLI 8.12.0 or newer (cli-version is '${cli_version}'). Reporting through GitHub Actions instead. Use cli-version: latest or >= 8.12.0 to enable detached GitHub Check reporting." fi else - configure_github_report "$github_repository" "$github_sha" + configure_github_report "$github_repository" "$github_sha" "$check_name" preflight_result="$(github_report_preflight)" || preflight_result=$'false\tpreflight_crashed' IFS=$'\t' read -r github_report_available github_report_reason <<< "$preflight_result" github_report_reason="$(sanitize_reason "$github_report_reason")" @@ -490,6 +498,9 @@ if [[ "${CHECKLY_ACTION_DRY_RUN:-}" == "1" || "${CHECKLY_ACTION_DRY_RUN:-}" == " printf 'Reporting: GitHub Actions\n' elif [[ "$github_check_requested" == "true" && "$github_report_available" == "true" ]]; then printf 'Reporting: GitHub Check' + if [[ -n "${CHECKLY_GITHUB_CHECK_NAME:-}" ]]; then + printf ' "%s"' "$CHECKLY_GITHUB_CHECK_NAME" + fi if [[ -n "${CHECKLY_GITHUB_REPOSITORY:-}" && -n "${CHECKLY_GITHUB_SHA:-}" ]]; then printf ' for %s@%s' "$CHECKLY_GITHUB_REPOSITORY" "$CHECKLY_GITHUB_SHA" fi diff --git a/scripts/test.sh b/scripts/test.sh index 92cdfc9..7c9baa3 100755 --- a/scripts/test.sh +++ b/scripts/test.sh @@ -146,6 +146,7 @@ JSON github_report_output="$( INPUT_COMMAND=test \ INPUT_REPORTING=github-check \ + INPUT_CHECK_NAME='Checkly PR code checks' \ CHECKLY_ACTION_GITHUB_REPORT_AVAILABLE=true \ GITHUB_REPOSITORY=checkly/playwright-reporter-demo \ GITHUB_SHA=merge123def456 \ @@ -163,7 +164,7 @@ github_report_output="$( run_dry )" -assert_contains "$github_report_output" "Reporting: GitHub Check for checkly/playwright-reporter-demo@head123def456" +assert_contains "$github_report_output" "Reporting: GitHub Check \"Checkly PR code checks\" for checkly/playwright-reporter-demo@head123def456" github_actions_output="$( INPUT_COMMAND=test \ From fe297530a76eb8c5799efe56e9df97d47a548584 Mon Sep 17 00:00:00 2001 From: Herve Labas Date: Thu, 9 Jul 2026 19:01:27 +0200 Subject: [PATCH 2/3] Add GitHub reporting context metadata --- scripts/run.sh | 29 +++++++++++++++++++++++++++++ scripts/test.sh | 3 +++ 2 files changed, 32 insertions(+) diff --git a/scripts/run.sh b/scripts/run.sh index e50816c..201e687 100755 --- a/scripts/run.sh +++ b/scripts/run.sh @@ -150,6 +150,8 @@ try { } if (typeof value === 'string' && value.trim() !== '') { process.stdout.write(value) + } else if (typeof value === 'number' && Number.isFinite(value)) { + process.stdout.write(String(value)) } } catch (_) { process.exit(0) @@ -182,7 +184,10 @@ resolve_github_sha() { clear_github_report_env() { unset CHECKLY_GITHUB_REPORT + unset CHECKLY_GITHUB_SOURCE unset CHECKLY_GITHUB_CHECK_NAME + unset CHECKLY_GITHUB_PULL_REQUEST_NUMBER + unset CHECKLY_GITHUB_ENVIRONMENT_URL unset CHECKLY_GITHUB_REPOSITORY unset CHECKLY_GITHUB_SHA unset CHECKLY_GITHUB_RUN_ID @@ -228,11 +233,24 @@ configure_github_report() { local check_name="$3" export CHECKLY_GITHUB_REPORT=true + export CHECKLY_GITHUB_SOURCE=checkly-action if [[ -n "$check_name" ]]; then export CHECKLY_GITHUB_CHECK_NAME="$check_name" fi + if is_pull_request_event; then + local pull_request_number + pull_request_number="$(github_event_value "pull_request.number")" + if [[ -n "$pull_request_number" ]]; then + export CHECKLY_GITHUB_PULL_REQUEST_NUMBER="$pull_request_number" + fi + fi + + if [[ -n "${ENVIRONMENT_URL:-}" ]]; then + export CHECKLY_GITHUB_ENVIRONMENT_URL="$ENVIRONMENT_URL" + fi + if [[ -n "$repository" ]]; then export CHECKLY_GITHUB_REPOSITORY="$repository" fi @@ -306,7 +324,10 @@ const accountId = process.env.CHECKLY_ACCOUNT_ID const apiKey = process.env.CHECKLY_API_KEY const payload = { + source: process.env.CHECKLY_GITHUB_SOURCE, checkName: process.env.CHECKLY_GITHUB_CHECK_NAME, + pullRequestNumber: process.env.CHECKLY_GITHUB_PULL_REQUEST_NUMBER, + environmentUrl: process.env.CHECKLY_GITHUB_ENVIRONMENT_URL, repository: process.env.CHECKLY_GITHUB_REPOSITORY, sha: process.env.CHECKLY_GITHUB_SHA, runId: process.env.CHECKLY_GITHUB_RUN_ID, @@ -505,6 +526,14 @@ if [[ "${CHECKLY_ACTION_DRY_RUN:-}" == "1" || "${CHECKLY_ACTION_DRY_RUN:-}" == " printf ' for %s@%s' "$CHECKLY_GITHUB_REPOSITORY" "$CHECKLY_GITHUB_SHA" fi printf '\n' + printf 'GitHub metadata: source=%s' "${CHECKLY_GITHUB_SOURCE:-}" + if [[ -n "${CHECKLY_GITHUB_PULL_REQUEST_NUMBER:-}" ]]; then + printf ' pullRequestNumber=%s' "$CHECKLY_GITHUB_PULL_REQUEST_NUMBER" + fi + if [[ -n "${CHECKLY_GITHUB_ENVIRONMENT_URL:-}" ]]; then + printf ' environmentUrl=%s' "$CHECKLY_GITHUB_ENVIRONMENT_URL" + fi + printf '\n' elif [[ "$github_check_requested" == "true" ]]; then printf 'Reporting: GitHub Actions (GitHub Check unavailable: %s)\n' "$github_report_reason" else diff --git a/scripts/test.sh b/scripts/test.sh index 7c9baa3..979ff68 100755 --- a/scripts/test.sh +++ b/scripts/test.sh @@ -133,6 +133,7 @@ trap 'rm -f "$github_event_path"' EXIT cat > "$github_event_path" <<'JSON' { "pull_request": { + "number": 5, "head": { "sha": "head123def456", "repo": { @@ -161,10 +162,12 @@ github_report_output="$( GITHUB_HEAD_REF=herve/test-checkly-action \ GITHUB_BASE_REF=main \ GITHUB_SERVER_URL=https://github.com \ + ENVIRONMENT_URL=https://preview.example.com \ run_dry )" assert_contains "$github_report_output" "Reporting: GitHub Check \"Checkly PR code checks\" for checkly/playwright-reporter-demo@head123def456" +assert_contains "$github_report_output" "GitHub metadata: source=checkly-action pullRequestNumber=5 environmentUrl=https://preview.example.com" github_actions_output="$( INPUT_COMMAND=test \ From f40f92cd39e3ec91bdbb0ac9ad7bee91d1f0d5b1 Mon Sep 17 00:00:00 2001 From: Herve Labas Date: Thu, 9 Jul 2026 19:05:59 +0200 Subject: [PATCH 3/3] Clarify GitHub Check name input --- README.md | 4 ++-- action.yml | 4 ++-- scripts/run.sh | 12 ++++++------ scripts/test.sh | 2 +- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index a2027df..980dd82 100644 --- a/README.md +++ b/README.md @@ -29,7 +29,7 @@ jobs: install-command: npm ci tags: production,webapp grep: checkout - check-name: Checkly PR code checks + github-check-name: Checkly PR code checks env: CHECKLY_API_KEY: ${{ secrets.CHECKLY_API_KEY }} CHECKLY_ACCOUNT_ID: ${{ secrets.CHECKLY_ACCOUNT_ID }} @@ -103,7 +103,7 @@ target URL explicitly through `env` or the workflow `env` block. | `fail-on-no-matching` | `trigger` only. Set to `false` to pass `--no-fail-on-no-matching`. | | `verbose` | Set to `true` or `false` to pass `--verbose` or `--no-verbose`. | | `reporting` | Where to report the Checkly result: `auto`, `github-check`, or `github-actions`. Defaults to `auto`. | -| `check-name` | GitHub Check name used when reporting through the Checkly GitHub App. Defaults to `Checkly`. | +| `github-check-name` | GitHub Check name used when reporting through the Checkly GitHub App. Defaults to `Checkly`. | ## Outputs diff --git a/action.yml b/action.yml index ead5045..35708a5 100644 --- a/action.yml +++ b/action.yml @@ -79,7 +79,7 @@ inputs: description: Where to report the Checkly result. Use "auto", "github-check", or "github-actions". required: false default: auto - check-name: + github-check-name: description: GitHub Check name to create when reporting through the Checkly GitHub App. Defaults to "Checkly". required: false @@ -120,4 +120,4 @@ runs: INPUT_FAIL_ON_NO_MATCHING: ${{ inputs.fail-on-no-matching }} INPUT_VERBOSE: ${{ inputs.verbose }} INPUT_REPORTING: ${{ inputs.reporting }} - INPUT_CHECK_NAME: ${{ inputs.check-name }} + INPUT_GITHUB_CHECK_NAME: ${{ inputs.github-check-name }} diff --git a/scripts/run.sh b/scripts/run.sh index 201e687..f6d725c 100755 --- a/scripts/run.sh +++ b/scripts/run.sh @@ -230,13 +230,13 @@ configure_deployment_environment_url() { configure_github_report() { local repository="$1" local sha="$2" - local check_name="$3" + local github_check_name="$3" export CHECKLY_GITHUB_REPORT=true export CHECKLY_GITHUB_SOURCE=checkly-action - if [[ -n "$check_name" ]]; then - export CHECKLY_GITHUB_CHECK_NAME="$check_name" + if [[ -n "$github_check_name" ]]; then + export CHECKLY_GITHUB_CHECK_NAME="$github_check_name" fi if is_pull_request_event; then @@ -325,7 +325,7 @@ const apiKey = process.env.CHECKLY_API_KEY const payload = { source: process.env.CHECKLY_GITHUB_SOURCE, - checkName: process.env.CHECKLY_GITHUB_CHECK_NAME, + githubCheckName: process.env.CHECKLY_GITHUB_CHECK_NAME, pullRequestNumber: process.env.CHECKLY_GITHUB_PULL_REQUEST_NUMBER, environmentUrl: process.env.CHECKLY_GITHUB_ENVIRONMENT_URL, repository: process.env.CHECKLY_GITHUB_REPOSITORY, @@ -381,7 +381,7 @@ cli_version="$(trim "${INPUT_CLI_VERSION:-latest}")" working_directory="$(trim "${INPUT_WORKING_DIRECTORY:-.}")" install_command="$(trim "${INPUT_INSTALL_COMMAND:-}")" reporting="$(trim "${INPUT_REPORTING:-auto}")" -check_name="$(trim "${INPUT_CHECK_NAME:-}")" +github_check_name="$(trim "${INPUT_GITHUB_CHECK_NAME:-}")" case "$command_name" in test|trigger) ;; @@ -457,7 +457,7 @@ else echo "::warning::GitHub Check reporting needs Checkly CLI 8.12.0 or newer (cli-version is '${cli_version}'). Reporting through GitHub Actions instead. Use cli-version: latest or >= 8.12.0 to enable detached GitHub Check reporting." fi else - configure_github_report "$github_repository" "$github_sha" "$check_name" + configure_github_report "$github_repository" "$github_sha" "$github_check_name" preflight_result="$(github_report_preflight)" || preflight_result=$'false\tpreflight_crashed' IFS=$'\t' read -r github_report_available github_report_reason <<< "$preflight_result" github_report_reason="$(sanitize_reason "$github_report_reason")" diff --git a/scripts/test.sh b/scripts/test.sh index 979ff68..44d1992 100755 --- a/scripts/test.sh +++ b/scripts/test.sh @@ -147,7 +147,7 @@ JSON github_report_output="$( INPUT_COMMAND=test \ INPUT_REPORTING=github-check \ - INPUT_CHECK_NAME='Checkly PR code checks' \ + INPUT_GITHUB_CHECK_NAME='Checkly PR code checks' \ CHECKLY_ACTION_GITHUB_REPORT_AVAILABLE=true \ GITHUB_REPOSITORY=checkly/playwright-reporter-demo \ GITHUB_SHA=merge123def456 \