Update chainlink-solana dependency. #1860
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: On Demand OCR Soak Test | ||
| on: | ||
| workflow_dispatch: | ||
| inputs: | ||
| testToRun: | ||
| description: Test to run (from .github/e2e-tests.yml) | ||
| required: true | ||
| default: soak/ocr_test.go:TestOCRv2Soak | ||
| type: choice | ||
| options: | ||
| - soak/ocr_test.go:TestOCRv1Soak | ||
| - soak/ocr_test.go:TestOCRv2Soak | ||
| - soak/ocr_test.go:TestForwarderOCRv1Soak | ||
| - soak/ocr_test.go:TestForwarderOCRv2Soak | ||
| - soak/ocr_test.go:TestOCRSoak_GethReorgBelowFinality_FinalityTagDisabled | ||
| - soak/ocr_test.go:TestOCRSoak_GethReorgBelowFinality_FinalityTagEnabled | ||
| - soak/ocr_test.go:TestOCRSoak_GasSpike | ||
| - soak/ocr_test.go:TestOCRSoak_ChangeBlockGasLimit | ||
| - soak/ocr_test.go:TestOCRSoak_RPCDownForAllCLNodes | ||
| - soak/ocr_test.go:TestOCRSoak_RPCDownForHalfCLNodes | ||
| chainlink_version: | ||
| description: Version to test (e.g. "v2.25.0-beta.0", "develop", etc.) | ||
| required: true | ||
| default: develop | ||
| type: string | ||
| test_config_override_path: | ||
| description: Path to the override test config TOML (defaults to OCR2 on Eth Sepolia, 12h soak) | ||
| required: false | ||
| default: 'integration-tests/testconfig/ocr2/overrides/ethereum_sepolia_12h.toml' | ||
| type: string | ||
| test_secrets_override_key: | ||
| description: Test secrets (defaults to EOA - 0x663d14907663dC0D2bC3A3b9Ad61c10fa9B0fc08 on Eth Sepolia) | ||
| required: false | ||
| type: string | ||
| team: | ||
| description: Team (e.g. BIX, CCIP, CRE, etc.) | ||
| required: true | ||
| type: string | ||
| slackMemberID: | ||
| description: Slack Member ID (to tag when results published in `#test-run-notifications` Slack channel). | ||
| required: true | ||
| default: U01A2B2C3D4 | ||
| jobs: | ||
| # Based on the `inputs.chainlink_version` define whether to: | ||
| # - use a private or public ECR registry | ||
| # - skip image build if public ECR registry is used | ||
| # - resolve the docker version | ||
| # - set test secrets | ||
| setup-test-parameters: | ||
| name: Setup Test Parameters | ||
| runs-on: ubuntu-latest | ||
| outputs: | ||
| skip_image_build: ${{ steps.should-build-image.outputs.skip_image_build }} | ||
| chainlink_image_version: ${{ steps.resolve-version.outputs.chainlink_image_version }} | ||
| test_secrets_override_key: ${{ steps.set-test-secrets.outputs.test_secrets_override_key }} | ||
| env: | ||
| VERSION: ${{ inputs.chainlink_version || github.ref_name }} | ||
| SECRETS_OVERRIDE_KEY: ${{ inputs.test_secrets_override_key }} | ||
| PUBLIC_ECR_DEFAULT_TEST_SECRETS: aws:testsecrets/DEFAULT_TEST_SECRETS | ||
| PRIVATE_ECR_DEFAULT_TEST_SECRETS: aws:testsecrets/PRIVATE_DEFAULT_TEST_SECRETS | ||
| steps: | ||
| - name: Define if Image Build is Required Based on Version | ||
| id: should-build-image | ||
| shell: bash | ||
| run: | | ||
| # Check if VERSION matches a public registry pattern (e.g., v2.26.0-beta.0) | ||
| if [[ "$VERSION" =~ ^v[0-9]+\..*$ ]]; then | ||
| echo "skip_image_build=true" | tee -a "$GITHUB_OUTPUT" | ||
| echo "Version '$VERSION' detected. Using PUBLIC ECR registry - no image build required." | ||
| else | ||
| echo "skip_image_build=false" | tee -a "$GITHUB_OUTPUT" | ||
| echo "Detected version: '$VERSION'. Using PRIVATE ECR registry - image build is required." | ||
| fi | ||
| - name: Check if '${{ env.VERSION }}' is a 'Core' Release Version | ||
| id: is-core | ||
| shell: bash | ||
| run: | | ||
| # Examples: `v2.23.1-beta.0`, `v2.23.1-rc.1`, `v2.23.1` | ||
| if [[ "$VERSION" =~ v[0-9]+\.[0-9]+\.[0-9]+-beta.*$ || "$VERSION" =~ v[0-9]+\.[0-9]+\.[0-9]+-rc.*$ || "$VERSION" =~ v[0-9]+\.[0-9]+\.[0-9]+$ ]]; then | ||
| echo "is-core=true" | tee -a "$GITHUB_OUTPUT" | ||
| echo "Version '$VERSION' is a 'core' release version." | ||
| else | ||
| echo "is-core=false" | tee -a "$GITHUB_OUTPUT" | ||
| echo "Version '$VERSION' is NOT a 'core' release version." | ||
| fi | ||
| - name: Resolve '${{ env.VERSION }}' version for Docker | ||
| id: resolve-version | ||
| shell: bash | ||
| run: | | ||
| if [[ "${{ steps.is-core.outputs.is-core }}" == "true" ]]; then | ||
| # strip the `v` prefix from the version | ||
| resolved_version="${VERSION#v}" | ||
| echo "Resolved version for 'core' image: '$resolved_version' (stripped 'v' prefix)." | ||
| echo "chainlink_image_version=$resolved_version" | tee -a "$GITHUB_OUTPUT" | ||
| else | ||
| resolved_version="$VERSION" | ||
| echo "Using image version as-is: '$resolved_version'." | ||
| echo "chainlink_image_version=$resolved_version" | tee -a "$GITHUB_OUTPUT" | ||
| fi | ||
| - name: Set Test Secrets (default or provided) | ||
| id: set-test-secrets | ||
| shell: bash | ||
| run: | | ||
| if [[ -n "$SECRETS_OVERRIDE_KEY" ]]; then | ||
| echo "Using explicitly provided test secrets." | ||
| echo "test_secrets_override_key=$SECRETS_OVERRIDE_KEY" | tee -a "$GITHUB_OUTPUT" | ||
| exit 0 | ||
| fi | ||
| echo "No 'test_secrets_override_key' provided. Selecting default based on image registry..." | ||
| if [[ "${{ steps.should-build-image.outputs.skip_image_build }}" == "true" ]]; then | ||
| echo "test_secrets_override_key=$PUBLIC_ECR_DEFAULT_TEST_SECRETS" | tee -a "$GITHUB_OUTPUT" | ||
| echo "Using default secrets for PUBLIC ECR registry." | ||
| else | ||
| echo "test_secrets_override_key=$PRIVATE_ECR_DEFAULT_TEST_SECRETS" | tee -a "$GITHUB_OUTPUT" | ||
| echo "Using default secrets for PRIVATE ECR registry." | ||
| fi | ||
| run-e2e-tests-workflow: | ||
| name: Run E2E Tests | ||
| needs: | ||
| - wait-for-workflows | ||
| - setup-test-parameters | ||
| # Run this job only if: | ||
| # - optional wait-for-workflows did not fail (published release image might not be required), | ||
| # - and the other dependencies were successful. | ||
| if: >- | ||
| always() && | ||
| needs.wait-for-workflows.result != 'failure' && | ||
| needs.setup-test-parameters.result == 'success' | ||
| uses: smartcontractkit/.github/.github/workflows/run-e2e-tests.yml@9c82f8c4d2599c4c7d4e5045bcc0a28f0bf34272 | ||
| with: | ||
| chainlink_version: ${{ needs.setup-test-parameters.outputs.chainlink_image_version }} | ||
| test_path: .github/e2e-tests.yml | ||
| test_ids: ${{ inputs.testToRun }} | ||
| test_secrets_override_key: ${{ needs.setup-test-parameters.outputs.test_secrets_override_key }} | ||
| test_config_override_path: ${{ inputs.test_config_override_path }} | ||
| # Fallback is used to properly convert a string to boolean | ||
| skip_image_build: ${{ needs.setup-test-parameters.outputs.skip_image_build == 'true' && true || false }} | ||
| SLACK_USER: ${{ inputs.slackMemberID }} | ||
| team: ${{ inputs.team }} | ||
| secrets: | ||
| QA_AWS_REGION: ${{ secrets.QA_AWS_REGION }} | ||
| QA_AWS_ROLE_TO_ASSUME: ${{ secrets.QA_AWS_ROLE_TO_ASSUME }} | ||
| QA_AWS_ACCOUNT_NUMBER: ${{ secrets.QA_AWS_ACCOUNT_NUMBER }} | ||
| PROD_AWS_ACCOUNT_NUMBER: ${{ secrets.AWS_ACCOUNT_ID_PROD }} | ||
| QA_PYROSCOPE_INSTANCE: ${{ secrets.QA_PYROSCOPE_INSTANCE }} | ||
| QA_PYROSCOPE_KEY: ${{ secrets.QA_PYROSCOPE_KEY }} | ||
| GRAFANA_INTERNAL_TENANT_ID: ${{ secrets.GRAFANA_INTERNAL_TENANT_ID }} | ||
| GRAFANA_INTERNAL_BASIC_AUTH: ${{ secrets.GRAFANA_INTERNAL_BASIC_AUTH }} | ||
| GRAFANA_INTERNAL_HOST: ${{ secrets.GRAFANA_INTERNAL_HOST }} | ||
| GRAFANA_INTERNAL_URL_SHORTENER_TOKEN: ${{ secrets.GRAFANA_INTERNAL_URL_SHORTENER_TOKEN }} | ||
| LOKI_TENANT_ID: ${{ secrets.LOKI_TENANT_ID }} | ||
| LOKI_URL: ${{ secrets.LOKI_URL }} | ||
| LOKI_BASIC_AUTH: ${{ secrets.LOKI_BASIC_AUTH }} | ||
| GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
| AWS_REGION: ${{ secrets.QA_AWS_REGION }} | ||
| AWS_OIDC_IAM_ROLE_VALIDATION_PROD_ARN: ${{ secrets.AWS_OIDC_IAM_ROLE_VALIDATION_PROD_ARN }} | ||
| AWS_API_GW_HOST_GRAFANA: ${{ secrets.AWS_API_GW_HOST_GRAFANA }} | ||
| TEST_SECRETS_OVERRIDE_BASE64: ${{ secrets[needs.setup-test-parameters.outputs.test_secrets_override_key] }} | ||
| SLACK_API_KEY: ${{ secrets.QA_SLACK_API_KEY }} | ||
| SLACK_CHANNEL: ${{ secrets.QA_SLACK_CHANNEL }} | ||
| MAIN_DNS_ZONE_PUBLIC_SDLC: ${{ secrets.MAIN_DNS_ZONE_PUBLIC_SDLC }} | ||
| AWS_K8S_CLUSTER_NAME_SDLC: ${{ secrets.AWS_K8S_CLUSTER_NAME_SDLC }} | ||
| OPTIONAL_GATI_AWS_ROLE_ARN: ${{ secrets.AWS_OIDC_GLOBAL_READ_ONLY_TOKEN_ISSUER_ROLE_ARN }} | ||
| OPTIONAL_GATI_LAMBDA_URL: ${{ secrets.AWS_INFRA_RELENG_TOKEN_ISSUER_LAMBDA_URL }} | ||