From c7ff1a5ee1dc78e4217d59139bfaec5a86ca3b32 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ondrej=20Kur=C3=A1k?= Date: Wed, 7 Jan 2026 12:17:14 +0100 Subject: [PATCH 1/7] Replace active reviews --- action.yml | 18 ++++++++++++++++-- scripts/gh-app-integration.sh | 6 +++++- scripts/run-certora.sh | 3 --- 3 files changed, 21 insertions(+), 6 deletions(-) diff --git a/action.yml b/action.yml index 8c2ae7a..f7d6f40 100644 --- a/action.yml +++ b/action.yml @@ -99,6 +99,10 @@ inputs: default: "true" description: |- Add a comment to the PR only if the run fails. + replace-comments: + default: "true" + description: |- + Whether to replace previous review comments made by this action. Default is `true`. debug-level: default: "0" description: |- @@ -145,6 +149,7 @@ inputs: description: |- The version of Vyper to install. Can be latest, or a specific version like 0.3.3. If not specified, Vyper will not be installed. + runs: using: "composite" steps: @@ -234,12 +239,21 @@ runs: echo "solc_cache_key=$(md5sum <<< '${{ inputs.solc-versions }}' | awk '{ print $1 }')" >> "$GITHUB_OUTPUT" + # Remove leading spaces, trailing spaces, comments, and empty lines + CERTORA_CONFIGURATIONS="$(sed -r 's/^\s+//; s/\s+$//; /^[[:blank:]]*#/d; s/^#.*//; /^\s*$/d' <<< "${{ inputs.configurations }}" | sort -u)" + CERTORA_CONFIGURATIONS_HASH="$(md5sum <<< "$CERTORA_CONFIGURATIONS" | awk '{ print $1 }')" + echo "CERTORA_ACTION_REF=$CERTORA_ACTION_REF" >> "$GITHUB_ENV" echo "CERTORA_SUBDOMAIN=$CERTORA_SUBDOMAIN" >> "$GITHUB_ENV" echo "certora_subdomain=$CERTORA_SUBDOMAIN" >> "$GITHUB_OUTPUT" echo "CERTORA_API_SUBDOMAIN=$CERTORA_API_SUBDOMAIN" >> "$GITHUB_ENV" + echo "CERTORA_CONFIGURATIONS=$CERTORA_CONFIGURATIONS" >> "$GITHUB_ENV" + echo "certora_configurations=$CERTORA_CONFIGURATIONS" >> "$GITHUB_OUTPUT" + echo "CERTORA_CONFIGURATIONS_HASH=$CERTORA_CONFIGURATIONS_HASH" >> "$GITHUB_ENV" + echo "certora_configurations_hash=$CERTORA_CONFIGURATIONS_HASH" >> "$GITHUB_OUTPUT" env: CERTORA_ACTION_REF: ${{ github.action_ref }} + CERTORA_RAW_CONFIGURATIONS: "${{ inputs.configurations }}" - name: Install uv uses: astral-sh/setup-uv@v6 @@ -337,7 +351,6 @@ runs: bash "$RUN_CERTORA" fi env: - CERTORA_CONFIGURATIONS: "${{ inputs.configurations }}" CERTORA_SERVER: "${{ inputs.server }}" CERTORAKEY: "${{ inputs.certora-key }}" CERTORA_JOB_NAME: "${{ inputs.job-name }}" @@ -345,6 +358,7 @@ runs: CERTORA_ECOSYSTEM: "${{ inputs.ecosystem }}" DEBUG_LEVEL: "${{ inputs.debug-level }}" CERTORA_USE_HARD_LINKS: "${{ inputs.use-hard-links }}" + CERTORA_REPLACE_COMMENTS: "${{ inputs.replace-comments }}" - name: Add GH Status if: ${{ steps.certora-run.outputs.total_jobs > 0}} @@ -381,5 +395,5 @@ runs: if: ${{ (failure() || inputs.comment-fail-only == 'false') && (steps.certora-run.outputs.total_jobs > 0 || steps.certora-run.outputs.failed_jobs > 0) }} uses: mshick/add-pr-comment@v2 with: - message-id: ${{ steps.setup-env.outputs.group_id }} + message-id: ${{ inputs.replace-comments == 'true' && steps.setup-env.outputs.certora_configurations_hash || steps.setup-env.outputs.group_id }} message-path: ${{ steps.setup-env.outputs.report_file }} diff --git a/scripts/gh-app-integration.sh b/scripts/gh-app-integration.sh index 9a189ef..41dd067 100755 --- a/scripts/gh-app-integration.sh +++ b/scripts/gh-app-integration.sh @@ -16,6 +16,8 @@ required_vars=( ACTIONS_ID_TOKEN_REQUEST_TOKEN ACTIONS_ID_TOKEN_REQUEST_URL GITHUB_EVENT_PATH + CERTORA_CONFIGURATIONS_HASH + CERTORA_REPLACE_COMMENTS ) missing_args=false @@ -52,8 +54,10 @@ PAYLOAD=$(jq -n \ --arg group_id "$GROUP_ID" \ --arg commit "$COMMIT_SHA" \ --arg action_ref "$CERTORA_ACTION_REF" \ + --arg config_hash "$CERTORA_CONFIGURATIONS_HASH" \ + --arg replace_comments "$CERTORA_REPLACE_COMMENTS" \ --argjson pr_number "${PR_NUMBER:-null}" \ - '{group_id: $group_id, commit: $commit, action_ref: $action_ref, pr_number: $pr_number}') + '{group_id: $group_id, commit: $commit, action_ref: $action_ref, config_hash: $config_hash, replace_comments: $replace_comments, pr_number: $pr_number}') # Make API request to verify GitHub App integration curl -sSL --proto '=https' --tlsv1.2 --retry 10 --max-time 60 --retry-connrefused --fail-with-body -X POST "https://$CERTORA_API_SUBDOMAIN.certora.com/v1/github-app/verify" \ diff --git a/scripts/run-certora.sh b/scripts/run-certora.sh index 51e7c99..35743b0 100755 --- a/scripts/run-certora.sh +++ b/scripts/run-certora.sh @@ -13,9 +13,6 @@ pids=() configs=() logs=() -# Remove leading spaces, trailing spaces, comments, and empty lines -CERTORA_CONFIGURATIONS="$(sed -r 's/^\s+//; s/\s+$//; /^[[:blank:]]*#/d; s/^#.*//; /^\s*$/d' <<<"$CERTORA_CONFIGURATIONS")" - IFS=$'\n' read -rd '' -a confs <<<"$(echo "$CERTORA_CONFIGURATIONS" | sort -u)" echo "Configurations: ${confs[*]}" From e7914a5d5322fadb58ab1c38cad7c0d728c1c291 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ondrej=20Kur=C3=A1k?= Date: Wed, 7 Jan 2026 12:18:59 +0100 Subject: [PATCH 2/7] Use argjson --- scripts/gh-app-integration.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/gh-app-integration.sh b/scripts/gh-app-integration.sh index 41dd067..569ed44 100755 --- a/scripts/gh-app-integration.sh +++ b/scripts/gh-app-integration.sh @@ -55,7 +55,7 @@ PAYLOAD=$(jq -n \ --arg commit "$COMMIT_SHA" \ --arg action_ref "$CERTORA_ACTION_REF" \ --arg config_hash "$CERTORA_CONFIGURATIONS_HASH" \ - --arg replace_comments "$CERTORA_REPLACE_COMMENTS" \ + --argjson replace_comments "$CERTORA_REPLACE_COMMENTS" \ --argjson pr_number "${PR_NUMBER:-null}" \ '{group_id: $group_id, commit: $commit, action_ref: $action_ref, config_hash: $config_hash, replace_comments: $replace_comments, pr_number: $pr_number}') From d5fa8b3021914f7232686bdaa8280a7e62f4d719 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ondrej=20Kur=C3=A1k?= Date: Wed, 7 Jan 2026 14:20:19 +0100 Subject: [PATCH 3/7] Use variables --- action.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/action.yml b/action.yml index f7d6f40..4dc3cd6 100644 --- a/action.yml +++ b/action.yml @@ -237,10 +237,10 @@ runs: CERTORA_API_SUBDOMAIN="data-api-stg" fi - echo "solc_cache_key=$(md5sum <<< '${{ inputs.solc-versions }}' | awk '{ print $1 }')" >> "$GITHUB_OUTPUT" + echo "solc_cache_key=$(md5sum <<< "'${{ inputs.solc-versions }}'" | awk '{ print $1 }')" >> "$GITHUB_OUTPUT" # Remove leading spaces, trailing spaces, comments, and empty lines - CERTORA_CONFIGURATIONS="$(sed -r 's/^\s+//; s/\s+$//; /^[[:blank:]]*#/d; s/^#.*//; /^\s*$/d' <<< "${{ inputs.configurations }}" | sort -u)" + CERTORA_CONFIGURATIONS="$(sed -r 's/^\s+//; s/\s+$//; /^[[:blank:]]*#/d; s/^#.*//; /^\s*$/d' <<< "$CERTORA_RAW_CONFIGURATIONS" | sort -u)" CERTORA_CONFIGURATIONS_HASH="$(md5sum <<< "$CERTORA_CONFIGURATIONS" | awk '{ print $1 }')" echo "CERTORA_ACTION_REF=$CERTORA_ACTION_REF" >> "$GITHUB_ENV" From a3c7194ebf320b224faaddf26e49cc4382820bf2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ondrej=20Kur=C3=A1k?= Date: Wed, 7 Jan 2026 15:00:11 +0100 Subject: [PATCH 4/7] Use conf file --- action.yml | 10 ++++++---- scripts/run-certora.sh | 16 ++++++++++------ 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/action.yml b/action.yml index 4dc3cd6..0fff3d4 100644 --- a/action.yml +++ b/action.yml @@ -240,16 +240,18 @@ runs: echo "solc_cache_key=$(md5sum <<< "'${{ inputs.solc-versions }}'" | awk '{ print $1 }')" >> "$GITHUB_OUTPUT" # Remove leading spaces, trailing spaces, comments, and empty lines - CERTORA_CONFIGURATIONS="$(sed -r 's/^\s+//; s/\s+$//; /^[[:blank:]]*#/d; s/^#.*//; /^\s*$/d' <<< "$CERTORA_RAW_CONFIGURATIONS" | sort -u)" - CERTORA_CONFIGURATIONS_HASH="$(md5sum <<< "$CERTORA_CONFIGURATIONS" | awk '{ print $1 }')" + CERTORA_CONFIGURATIONS_FILE="/tmp/certora-logs/REPORT-${GROUP_ID}-configurations" + sed -r 's/^\s+//; s/\s+$//; /^[[:blank:]]*#/d; s/^#.*//; /^\s*$/d' <<< "$CERTORA_RAW_CONFIGURATIONS" | sort -u > "$CERTORA_CONFIGURATIONS_FILE" + + CERTORA_CONFIGURATIONS_HASH="$(md5sum < "$CERTORA_CONFIGURATIONS_FILE" | awk '{ print $1 }')" echo "CERTORA_ACTION_REF=$CERTORA_ACTION_REF" >> "$GITHUB_ENV" echo "CERTORA_SUBDOMAIN=$CERTORA_SUBDOMAIN" >> "$GITHUB_ENV" echo "certora_subdomain=$CERTORA_SUBDOMAIN" >> "$GITHUB_OUTPUT" echo "CERTORA_API_SUBDOMAIN=$CERTORA_API_SUBDOMAIN" >> "$GITHUB_ENV" - echo "CERTORA_CONFIGURATIONS=$CERTORA_CONFIGURATIONS" >> "$GITHUB_ENV" - echo "certora_configurations=$CERTORA_CONFIGURATIONS" >> "$GITHUB_OUTPUT" + echo "CERTORA_CONFIGURATIONS_FILE=$CERTORA_CONFIGURATIONS_FILE" >> "$GITHUB_ENV" echo "CERTORA_CONFIGURATIONS_HASH=$CERTORA_CONFIGURATIONS_HASH" >> "$GITHUB_ENV" + echo "certora_configurations_file=$CERTORA_CONFIGURATIONS_FILE" >> "$GITHUB_OUTPUT" echo "certora_configurations_hash=$CERTORA_CONFIGURATIONS_HASH" >> "$GITHUB_OUTPUT" env: CERTORA_ACTION_REF: ${{ github.action_ref }} diff --git a/scripts/run-certora.sh b/scripts/run-certora.sh index 35743b0..fdcd9f4 100755 --- a/scripts/run-certora.sh +++ b/scripts/run-certora.sh @@ -13,17 +13,21 @@ pids=() configs=() logs=() -IFS=$'\n' read -rd '' -a confs <<<"$(echo "$CERTORA_CONFIGURATIONS" | sort -u)" + +# Read configurations from file specified by $CERTORA_CONFIGURATIONS_FILE +if [[ -z "$CERTORA_CONFIGURATIONS_FILE" ]]; then + echo "::error title=Missing Configurations File::CERTORA_CONFIGURATIONS_FILE is not set." + exit 1 +fi + +IFS=$'\n' read -rd '' -a confs < "$CERTORA_CONFIGURATIONS_FILE" echo "Configurations: ${confs[*]}" if [[ ${#confs[@]} -gt 1 ]]; then # Extract the common prefix from the configurations - # Sed script to extract the common prefix - # For the first line, copy pattern space to hold space and delete the pattern space - # Append a newline and the hold space to the pattern space, capture the common prefix - # Copy the pattern space to the hold space and delete the pattern space until the last line - common_prefix="$(echo "$CERTORA_CONFIGURATIONS" | sed -e '1{h;d;}' -e 'G;s,\(.*\).*\n\1.*,\1,;s,\(.*[/ ]\).*$,\1,;h;$!d' | tr -d '\n')" + # Use the contents of the file for prefix extraction + common_prefix="$(sed -e '1{h;d;}' -e 'G;s,\(.*\).*\n\1.*,\1,;s,\(.*[/ ]\).*$,\1,;h;$!d' "$CERTORA_CONFIGURATIONS_FILE" | tr -d '\n')" elif [[ "${confs[0]}" == */* ]]; then # Keep the file name only common_prefix="$(echo "${confs[0]}" | sed 's/\(.*\/\)[^\/]*$/\1/')" From 5018314e5ceef0f896164bb7d3901d98db3ea527 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ondrej=20Kur=C3=A1k?= Date: Wed, 21 Jan 2026 13:45:07 +0100 Subject: [PATCH 5/7] [CERT-9814] Certora API calls (#74) * Cancel all jobs * Add server * Fix script path * Export domain * Add README * Add error log --- .github/workflows/certora_apy.yml | 38 +++++++++++++++++++++ README.md | 51 ++++++++++++++++++++++++++++ api/action.yml | 43 ++++++++++++++++++++++++ scripts/call-api.sh | 55 +++++++++++++++++++++++++++++++ 4 files changed, 187 insertions(+) create mode 100644 .github/workflows/certora_apy.yml create mode 100644 api/action.yml create mode 100755 scripts/call-api.sh diff --git a/.github/workflows/certora_apy.yml b/.github/workflows/certora_apy.yml new file mode 100644 index 0000000..9e58425 --- /dev/null +++ b/.github/workflows/certora_apy.yml @@ -0,0 +1,38 @@ +name: Certora API + +on: + workflow_dispatch: + inputs: + command: + required: true + description: | + The Certora API command to execute. Options are: + - `cancel `: Cancel all jobs in the specified group. + - `refresh `: Refresh the status of all jobs in the specified group. + server: + required: true + type: choice + description: | + The Certora server to use. Either production, staging, or vaas-dev. + Default is production. + default: production + options: + - production + - staging + - vaas-dev + +permissions: + contents: read + id-token: write + +jobs: + certora_api_command: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + - run: npm install + - uses: ./api/ + with: + certora-command: ${{ github.event.inputs.command }} + server: ${{ github.event.inputs.server }} diff --git a/README.md b/README.md index 355a002..0fd6a32 100644 --- a/README.md +++ b/README.md @@ -224,10 +224,12 @@ If you plan to compile Soroban contracts in your workflow, ensure that all depen You typically need: - **`just` and the Rust toolchain**. These can be installed via GitHub Actions: + - `actions-rust-lang/setup-rust-toolchain@v1` - `extractions/setup-just@v3` - **The WASM compilation target** required by Soroban: + ```sh rustup target add wasm32-unknown-unknown ``` @@ -235,10 +237,59 @@ You typically need: - **A Cargo lockfile.** If you do not want to commit it in your repository, you can generate it from the action by running, for example: + ```sh cargo update -p cvlr-soroban ``` +## Certora API Integration + +You can also use this action to call Certora API commands such as cancelling or +refreshing jobs in a group. To do so, you can create a workflow like this: + +```yml +name: Certora API +on: + workflow_dispatch: + inputs: + command: + required: true + description: | + The Certora API command to execute. Options are: + - `cancel `: Cancel all jobs in the specified group. + - `refresh `: Refresh the status of all jobs in the specified group. + server: + required: true + type: choice + description: | + The Certora server to use. Either production, staging, or vaas-dev. + Default is production. + default: production + options: + - production + - staging + - vaas-dev + +permissions: + contents: read + id-token: write + +jobs: + certora_api_command: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + - run: npm install + - uses: Certora/certora-run-action/api@v2 + with: + certora-command: ${{ github.event.inputs.command }} + server: ${{ github.event.inputs.server }} +``` + +Then, you can trigger this workflow manually from the GitHub Actions UI, providing the +command and the server as inputs. + ### Comments on the Pull Request First, it will add a comment with details about runs: diff --git a/api/action.yml b/api/action.yml new file mode 100644 index 0000000..9c4110e --- /dev/null +++ b/api/action.yml @@ -0,0 +1,43 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/SchemaStore/schemastore/refs/heads/master/src/schemas/json/github-action.json +name: Certora API + +description: |- + GitHub Action to call Certora API to cancel or refresh a job group. + This action requires that the Certora GitHub App is installed on the repository. + +branding: + color: blue + icon: cloud-lightning + +inputs: + certora-command: + required: true + description: |- + Command to send to the Certora API. It should be in the format + " ", where is either "cancel" or "refresh", + and is the identifier of a job group to which the command applies. + server: + required: false + description: |- + The Certora server to use. Can be "production" (default). "vaas-dev" or "vaas-stg". + default: "production" + +runs: + using: "composite" + steps: + - name: Call Certora API + shell: bash + run: | + ls -la "${{ github.action_path }}/.." + RUN_ID="$(cat /proc/sys/kernel/random/uuid)" + CERTORA_LOG_DIR="/tmp/certora-logs/$RUN_ID" + CERTORA_API_SUBDOMAIN="data-api" + if [[ "${{ inputs.server }}" == "vaas-dev" || "${{ inputs.server }}" == "development" ]]; then + CERTORA_API_SUBDOMAIN="data-api-dev" + elif [[ "${{ inputs.server }}" == "staging" || "${{ inputs.server }}" == "vaas-stg" ]]; then + CERTORA_API_SUBDOMAIN="data-api-stg" + fi + export CERTORA_API_SUBDOMAIN + bash "${{ github.action_path }}/../scripts/call-api.sh" + env: + CERTORA_COMMAND: ${{ inputs.certora-command }} diff --git a/scripts/call-api.sh b/scripts/call-api.sh new file mode 100755 index 0000000..7ef4b43 --- /dev/null +++ b/scripts/call-api.sh @@ -0,0 +1,55 @@ +#!/bin/bash + +set -euo pipefail + +if [ "${DEBUG_LEVEL:-0}" -gt 0 ]; then + set -x +fi + +# Validate required variables +required_vars=( + CERTORA_COMMAND + CERTORA_API_SUBDOMAIN + ACTIONS_ID_TOKEN_REQUEST_TOKEN + ACTIONS_ID_TOKEN_REQUEST_URL +) + +missing_args=false + +for var in "${required_vars[@]}"; do + if [ -z "${!var:-}" ]; then + echo "::error title=Missing variable::$var is required but not set" + missing_args=true + fi +done + +if [ "$missing_args" = true ]; then + exit 1 +fi + +endpoint="" +group_id="" + +read -r endpoint group_id <<< "$CERTORA_COMMAND" + +# Fetch OIDC token +TOKEN="$(curl -sSfL --retry 3 --max-time 30 -H "Authorization: bearer $ACTIONS_ID_TOKEN_REQUEST_TOKEN" "$ACTIONS_ID_TOKEN_REQUEST_URL" | jq -r .value)" +if [ -z "$TOKEN" ] || [ "$TOKEN" = "null" ]; then + echo "::error title=Token Retrieval Failed::Could not fetch GitHub OIDC token." + exit 1 +fi + +GHINT_LOG="$CERTORA_LOG_DIR/gh-call.json" + +CERT_GH_APP_LINK='https://github.com/apps/certora-run' +CERT_GH_ACTION_LINK='https://github.com/Certora/certora-run-action' +ERROR_MSG="There was an issue executing the API call (Please have a look at $CERT_GH_APP_LINK, $CERT_GH_ACTION_LINK)." + +# Make API request to verify GitHub App integration +curl -sSL --proto '=https' --tlsv1.2 --retry 10 --max-time 60 --retry-connrefused --fail-with-body -X POST "https://$CERTORA_API_SUBDOMAIN.certora.com/v1/github-app/$endpoint?groupId=$group_id" \ + -H "Authorization: Bearer $TOKEN" \ + -H "Content-Type: application/json" >"$GHINT_LOG" || { + echo "::error title=Certora GitHub Application Integration Missing::$(jq -r '"Error \(.status_code): \(.detail)"' "$GHINT_LOG") - $ERROR_MSG" + cat "$GHINT_LOG" + exit 1 +} From 433be9109f209ec151cc5126044f491eb177c116 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ondrej=20Kur=C3=A1k?= Date: Mon, 26 Jan 2026 13:11:51 +0100 Subject: [PATCH 6/7] PR fix --- .github/workflows/certora_apy.yml | 2 -- README.md | 3 --- api/action.yml | 8 +++++++- scripts/call-api.sh | 1 + 4 files changed, 8 insertions(+), 6 deletions(-) diff --git a/.github/workflows/certora_apy.yml b/.github/workflows/certora_apy.yml index 9e58425..7c1ad96 100644 --- a/.github/workflows/certora_apy.yml +++ b/.github/workflows/certora_apy.yml @@ -30,8 +30,6 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - uses: actions/setup-node@v4 - - run: npm install - uses: ./api/ with: certora-command: ${{ github.event.inputs.command }} diff --git a/README.md b/README.md index 0fd6a32..4b1c4d3 100644 --- a/README.md +++ b/README.md @@ -224,7 +224,6 @@ If you plan to compile Soroban contracts in your workflow, ensure that all depen You typically need: - **`just` and the Rust toolchain**. These can be installed via GitHub Actions: - - `actions-rust-lang/setup-rust-toolchain@v1` - `extractions/setup-just@v3` @@ -279,8 +278,6 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - uses: actions/setup-node@v4 - - run: npm install - uses: Certora/certora-run-action/api@v2 with: certora-command: ${{ github.event.inputs.command }} diff --git a/api/action.yml b/api/action.yml index 9c4110e..262f12d 100644 --- a/api/action.yml +++ b/api/action.yml @@ -21,6 +21,11 @@ inputs: description: |- The Certora server to use. Can be "production" (default). "vaas-dev" or "vaas-stg". default: "production" + debug-level: + default: "0" + description: |- + The debug level to use for the action command. Default is `0`. + Options: `0`, `1`, `2`, or `3`. runs: using: "composite" @@ -28,7 +33,6 @@ runs: - name: Call Certora API shell: bash run: | - ls -la "${{ github.action_path }}/.." RUN_ID="$(cat /proc/sys/kernel/random/uuid)" CERTORA_LOG_DIR="/tmp/certora-logs/$RUN_ID" CERTORA_API_SUBDOMAIN="data-api" @@ -38,6 +42,8 @@ runs: CERTORA_API_SUBDOMAIN="data-api-stg" fi export CERTORA_API_SUBDOMAIN + export CERTORA_LOG_DIR bash "${{ github.action_path }}/../scripts/call-api.sh" env: CERTORA_COMMAND: ${{ inputs.certora-command }} + DEBUG_LEVEL: "${{ inputs.debug-level }}" diff --git a/scripts/call-api.sh b/scripts/call-api.sh index 7ef4b43..2f83af5 100755 --- a/scripts/call-api.sh +++ b/scripts/call-api.sh @@ -10,6 +10,7 @@ fi required_vars=( CERTORA_COMMAND CERTORA_API_SUBDOMAIN + CERTORA_LOG_DIR ACTIONS_ID_TOKEN_REQUEST_TOKEN ACTIONS_ID_TOKEN_REQUEST_URL ) From aff1fb3916058e1f046f08330d25ba24e2c55bc0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ondrej=20Kur=C3=A1k?= Date: Wed, 28 Jan 2026 09:29:14 +0100 Subject: [PATCH 7/7] Rename file --- .github/workflows/{certora_apy.yml => certora_api.yml} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .github/workflows/{certora_apy.yml => certora_api.yml} (100%) diff --git a/.github/workflows/certora_apy.yml b/.github/workflows/certora_api.yml similarity index 100% rename from .github/workflows/certora_apy.yml rename to .github/workflows/certora_api.yml