Skip to content

fix: use legacy SCP for Testnet IAP upload - #207

Open
JOY (JOY) wants to merge 1 commit into
mainfrom
codex/fix-testnet-legacy-scp
Open

fix: use legacy SCP for Testnet IAP upload#207
JOY (JOY) wants to merge 1 commit into
mainfrom
codex/fix-testnet-legacy-scp

Conversation

@JOY

@JOY JOY (JOY) commented Aug 23, 2026

Copy link
Copy Markdown

Summary

  • force only the Testnet configuration upload through OpenSSH legacy SCP rather than the default SFTP transport
  • retain the 90-second hard cap, three attempts, and 5/10-second backoff
  • regression-test the exact SCP transport flag in both success and failure paths

Validation

  • python .github/scripts/tests/test_validate_testnet_bens.py -k test_testnet_iap_upload_hard_caps_and_retriesn- python scripts/validate-testnet-bens.pyn- �ctionlint .github/workflows/deploy-config.ymln- git diff --checkn
    Test scope is Testnet-only. No Mainnet, contract, or Blockscout-core changes.

Note

Low Risk
One-line Testnet CI transport flag plus matching assertions; no auth, runtime, or Mainnet deploy changes. Failure mode is a stuck/failed Testnet package upload, not production data handling.

Overview
Forces Testnet config upload over IAP to use OpenSSH legacy SCP (--scp-flag=-O) instead of the default SFTP transport.

Retry behavior is unchanged (90s kill timeout, 3 attempts, 5/10s backoff). The IAP upload test now asserts the flag on both success and failure paths. Mainnet/beta SCP is untouched.

Reviewed by Cursor Bugbot for commit 0938a4a. Bugbot is set up for automated code reviews on this repo. Configure here.

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@cursor

cursor Bot commented Aug 23, 2026

Copy link
Copy Markdown

Bugbot couldn't run - usage limit reached

Bugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit.

A user or team admin can review and increase usage limits in the Cursor dashboard.

(requestId: serverGenReqId_7d51abb0-cf64-433b-b6fc-104d6cf42266)

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request adds assertions to test_validate_testnet_bens.py to verify that --scp-flag=-O is included in both successful and failed gcloud compute scp calls. The reviewer noted that the corresponding implementation changes in the workflow file are missing, which will cause the tests to fail in CI. Additionally, the reviewer recommended replacing the all() checks inside self.assertTrue() with individual loop assertions to ensure more descriptive failure messages.

Comment on lines +889 to +891
self.assertTrue(
all("--scp-flag=-O" in call for call in success_gcloud_calls)
)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

It appears that the actual implementation changes to .github/workflows/deploy-config.yml (adding the --scp-flag=-O flag to the gcloud compute scp command) are missing from this pull request. Since this test reads directly from that workflow file, the test will fail in CI unless the workflow file is also updated in this PR.

Additionally, using all() inside self.assertTrue() will only produce a generic False is not True error message on failure. Consider asserting each call individually to get a more descriptive failure message showing the actual command executed.

        for call in success_gcloud_calls:
            self.assertIn("--scp-flag=-O", call)

Comment on lines +901 to +903
self.assertTrue(
all("--scp-flag=-O" in call for call in failure_gcloud_calls)
)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

Similar to the success path assertion, using all() inside self.assertTrue() will only produce a generic False is not True error message on failure. Consider asserting each call individually to get a more descriptive failure message showing the actual command executed.

        for call in failure_gcloud_calls:
            self.assertIn("--scp-flag=-O", call)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant