Update Sui MCMS bindings #2304
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: pull-request-main | |
| on: | |
| merge_group: | |
| pull_request: | |
| branches: | |
| - main | |
| jobs: | |
| ci-lint: | |
| name: Lint | |
| runs-on: ubuntu-latest | |
| permissions: | |
| id-token: write | |
| contents: read | |
| actions: read | |
| steps: | |
| - name: Linting Go | |
| uses: smartcontractkit/.github/actions/ci-lint-go@5ef875a78da521085ad768ecf2ed5e25009496f7 # ci-lint-go@2.0.0 | |
| with: | |
| golangci-lint-version: v2.1.6 | |
| use-go-cache: true | |
| only-new-issues: false | |
| ci-lint-e2e: | |
| name: Lint E2E tests | |
| runs-on: ubuntu-latest | |
| permissions: | |
| id-token: write | |
| contents: read | |
| actions: read | |
| steps: | |
| - name: Linting Go | |
| uses: smartcontractkit/.github/actions/ci-lint-go@5ef875a78da521085ad768ecf2ed5e25009496f7 # ci-lint-go@2.0.0 | |
| with: | |
| golangci-lint-version: v2.1.6 | |
| golangci-lint-args: --build-tags="e2e" | |
| use-go-cache: true | |
| only-new-issues: false | |
| ci-lint-misc: | |
| name: Lint GH Actions and scripts | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Linting Misc (yaml + sh files) | |
| uses: smartcontractkit/.github/actions/ci-lint-misc@9fc306ac63d8997c9ca0da283e56caaf71589f83 # ci-lint-misc@1.0.0 | |
| ci-test: | |
| name: Tests | |
| runs-on: ubuntu-latest | |
| permissions: | |
| id-token: write | |
| contents: read | |
| actions: read | |
| steps: | |
| - name: Build and test | |
| uses: smartcontractkit/.github/actions/ci-test-go@ci-test-go/1.0.0 | |
| with: | |
| go-test-cmd: go test -v -cover -coverpkg=./... -coverprofile=coverage.txt ./... | |
| use-go-cache: true | |
| ci-test-e2e: | |
| name: Tests E2E | |
| runs-on: ubuntu-latest | |
| permissions: | |
| id-token: write | |
| contents: read | |
| actions: read | |
| steps: | |
| - name: Install Rust | |
| uses: moonrepo/setup-rust@ede6de059f8046a5e236c94046823e2af11ca670 # v1.2.2 | |
| - name: Install Solana | |
| uses: metaplex-foundation/actions/install-solana@2389940047edc63a5781911f6a53fbdf784748d8 # v1.0.4 | |
| with: | |
| version: 1.18.26 | |
| - name: Install Aptos CLI | |
| uses: aptos-labs/actions/install-aptos-cli@ce57287eb852b9819c1d74fecc3be187677559fd # v0.1 | |
| with: | |
| CLI_VERSION: 7.10.0 | |
| - name: Install Sui CLI | |
| shell: bash | |
| run: | | |
| SUI_VERSION="1.57.2" | |
| curl -L "https://github.com/MystenLabs/sui/releases/download/mainnet-v${SUI_VERSION}/sui-mainnet-v${SUI_VERSION}-ubuntu-x86_64.tgz" -o sui.tgz | |
| tar -xzf sui.tgz | |
| sudo mv sui /usr/local/bin/ | |
| sui --version | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Compute Solana programs cache key | |
| id: solana-programs-cache-key | |
| shell: bash | |
| run: | | |
| key="$(go list -m github.com/smartcontractkit/chainlink-ccip/chains/solana)" | |
| echo "key=${key}" >> "$GITHUB_OUTPUT" | |
| - name: Cache Solana programs | |
| uses: actions/cache@v4 | |
| id: cache-solana-programs | |
| with: | |
| path: ./e2e/artifacts/solana | |
| key: "${{ runner.os }}-mcms-contracts-${{ steps.solana-programs-cache-key.outputs.key }}" | |
| - name: Build Solana programs | |
| if: steps.cache-solana-programs.outputs.cache-hit != 'true' | |
| shell: bash | |
| run: | | |
| ./e2e/tests/solana/compile-mcm-contracts.sh | |
| - name: Run e2e tests | |
| uses: smartcontractkit/.github/actions/ci-test-go@ci-test-go/1.0.0 | |
| with: | |
| checkout-repo: false | |
| use-go-cache: true | |
| go-test-cmd: | | |
| set +e | |
| echo "::group::EVM" | |
| CTF_CONFIGS=../config.evm.toml go test -p=1 -tags=e2e -v ./e2e/tests/... -run=TestEVMSuite || evm_failure=true | |
| echo "::endgroup::" | |
| echo "::group::Solana" | |
| CTF_CONFIGS=../config.solana.toml go test -p=1 -tags=e2e -v ./e2e/tests/... -run=TestSolanaSuite || solana_failure=true | |
| echo "::endgroup::" | |
| echo "::group::Aptos" | |
| CTF_CONFIGS=../config.aptos.toml go test -p=1 -tags=e2e -v ./e2e/tests/... -run=TestAptosSuite || aptos_failure=true | |
| echo "::endgroup::" | |
| echo "::group::Sui" | |
| CTF_CONFIGS=../config.sui.toml go test -p=1 -tags=e2e -v ./e2e/tests/... -run=TestSuiSuite || sui_failure=true | |
| echo "::endgroup::" | |
| [[ -n "${evm_failure}" ]] && echo "🚨 EVM e2e tests failed." | |
| [[ -n "${solana_failure}" ]] && echo "🚨 Solana e2e tests failed." | |
| [[ -n "${aptos_failure}" ]] && echo "🚨 Aptos e2e tests failed." | |
| [[ -n "${sui_failure}" ]] && echo "🚨 Sui e2e tests failed." | |
| [[ -n "${evm_failure}" || -n "${solana_failure}" || -n "${aptos_failure}" || -n "${sui_failure}" ]] && { | |
| exit 1 | |
| } || { | |
| echo "Exiting" | |
| exit 0 | |
| } | |
| ci-sonarqube: | |
| name: Sonarqube Scan | |
| needs: [ ci-lint, ci-lint-misc, ci-test ] | |
| runs-on: ubuntu-latest | |
| if: github.actor != 'dependabot[bot]' | |
| steps: | |
| - name: Scanning with Sonarqube | |
| uses: smartcontractkit/.github/actions/ci-sonarqube-go@01d931b0455a754d12e7143cc54a5a3521a8f6f6 # ci-sonarqube-go@0.3.1 | |
| with: | |
| # sonarqube inputs | |
| sonar-token: ${{ secrets.SONAR_TOKEN }} | |
| sonar-host-url: ${{ secrets.SONAR_HOST_URL }} | |
| include-lint: true |