diff --git a/.github/workflows-source/schedule-daily.yml b/.github/workflows-source/schedule-daily.yml index 810bcc61eb2..3e07b6f41fb 100644 --- a/.github/workflows-source/schedule-daily.yml +++ b/.github/workflows-source/schedule-daily.yml @@ -132,6 +132,36 @@ jobs: ZH2_DLL01_CSV_SECRETS: "${{ secrets.ZH2_DLL01_CSV_SECRETS }}" ZH2_FILE_SHARE_KEY: "${{ secrets.ZH2_FILE_SHARE_KEY }}" + fi-tests-nightly: + name: Bazel Test FI Nightly + <<: *dind-large-setup + timeout-minutes: 120 + steps: + - <<: *checkout + - <<: *before-script + - name: Run FI Tests Nightly + id: bazel-test-all + uses: ./.github/actions/bazel-test-all/ + with: + BAZEL_COMMAND: "test" + BAZEL_TARGETS: "//rs/rosetta-api/..." + BAZEL_CI_CONFIG: "--config=ci --repository_cache=/cache/bazel" + BAZEL_EXTRA_ARGS: "--keep_going --test_tag_filters=fi_tests_nightly --test_env=SSH_AUTH_SOCK" + HONEYCOMB_API_TOKEN: ${{ secrets.HONEYCOMB_API_TOKEN }} + SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }} + - name: Upload bazel-bep + if: always() + uses: actions/upload-artifact@v4 + if: always() + with: + name: ${{ github.job }}-bep + retention-days: 14 + if-no-files-found: ignore + compression-level: 9 + path: | + bazel-bep.pb + profile.json + nns-tests-nightly: name: Bazel Test NNS Nightly <<: *dind-large-setup diff --git a/.github/workflows/schedule-daily.yml b/.github/workflows/schedule-daily.yml index e5d11ab056b..e87074f6f90 100644 --- a/.github/workflows/schedule-daily.yml +++ b/.github/workflows/schedule-daily.yml @@ -112,6 +112,45 @@ jobs: BAZEL_CI_CONFIG: "--config=ci --repository_cache=/cache/bazel" ZH2_DLL01_CSV_SECRETS: "${{ secrets.ZH2_DLL01_CSV_SECRETS }}" ZH2_FILE_SHARE_KEY: "${{ secrets.ZH2_FILE_SHARE_KEY }}" + fi-tests-nightly: + name: Bazel Test FI Nightly + runs-on: + group: zh1 + labels: dind-large + container: + image: ghcr.io/dfinity/ic-build@sha256:2e888bc60c34a3654cd696982b3b662f033a9dc85fa2ca60697023afe5a4b02b + options: >- + -e NODE_NAME --privileged --cgroupns host -v /cache:/cache -v /var/sysimage:/var/sysimage -v /var/tmp:/var/tmp + timeout-minutes: 120 + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Before script + id: before-script + shell: bash + run: ./gitlab-ci/src/ci-scripts/before-script.sh + - name: Run FI Tests Nightly + id: bazel-test-all + uses: ./.github/actions/bazel-test-all/ + with: + BAZEL_COMMAND: "test" + BAZEL_TARGETS: "//rs/rosetta-api/..." + BAZEL_CI_CONFIG: "--config=ci --repository_cache=/cache/bazel" + BAZEL_EXTRA_ARGS: "--keep_going --test_tag_filters=fi_tests_nightly --test_env=SSH_AUTH_SOCK" + HONEYCOMB_API_TOKEN: ${{ secrets.HONEYCOMB_API_TOKEN }} + SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }} + - name: Upload bazel-bep + if: always() + uses: actions/upload-artifact@v4 + if: always() + with: + name: ${{ github.job }}-bep + retention-days: 14 + if-no-files-found: ignore + compression-level: 9 + path: | + bazel-bep.pb + profile.json nns-tests-nightly: name: Bazel Test NNS Nightly runs-on: diff --git a/bazel/conf/.bazelrc.build b/bazel/conf/.bazelrc.build index 95e523a6ed3..d879a99b897 100644 --- a/bazel/conf/.bazelrc.build +++ b/bazel/conf/.bazelrc.build @@ -54,7 +54,7 @@ test:alltests --test_tag_filters="" test:paritytests --test_tag_filters="-system_test" build:ci --build_tag_filters="-system_test,-fuzz_test" build:ci --verbose_failures -test:ci --test_tag_filters="-post_master,-system_test_hourly,-system_test_nightly,-system_test_nightly_nns,-system_test_staging,-system_test_hotfix,-system_test_benchmark,-fuzz_test,-nns_tests_nightly" +test:ci --test_tag_filters="-post_master,-system_test_hourly,-system_test_nightly,-system_test_nightly_nns,-system_test_staging,-system_test_hotfix,-system_test_benchmark,-fuzz_test,-fi_tests_nightly,-nns_tests_nightly" test --test_output=errors test --test_env=RUST_BACKTRACE=full diff --git a/rs/rosetta-api/icp_ledger/BUILD.bazel b/rs/rosetta-api/icp_ledger/BUILD.bazel index 5a8933192be..67a17794aec 100644 --- a/rs/rosetta-api/icp_ledger/BUILD.bazel +++ b/rs/rosetta-api/icp_ledger/BUILD.bazel @@ -200,7 +200,7 @@ rust_ic_test_suite( "MAINNET_ICP_LEDGER_CANISTER_WASM_PATH": "$(rootpath @mainnet_icp_ledger_canister//file)", }, tags = [ - "manual", # CI should not be downloading nns_state.tar.zst. + "fi_tests_nightly", # Run this test in the fi-tests-nightly GitHub Action job. "no-sandbox", # such that the test can access the file $SSH_AUTH_SOCK. "requires-network", # Because mainnet state is downloaded (and used). ], diff --git a/rs/rosetta-api/icrc1/BUILD.bazel b/rs/rosetta-api/icrc1/BUILD.bazel index bf2a7c7ba4e..fd18cce28dc 100644 --- a/rs/rosetta-api/icrc1/BUILD.bazel +++ b/rs/rosetta-api/icrc1/BUILD.bazel @@ -121,7 +121,8 @@ rust_test( "IC_ICRC1_LEDGER_WASM_PATH": "$(rootpath //rs/rosetta-api/icrc1/ledger:ledger_canister" + name_suffix + ".wasm)", }, tags = [ - "manual", # CI should not be downloading fiduciary_state.tar.zst or sns_state.tar.zst. + "fi_tests_nightly", # Run this test in the fi-tests-nightly GitHub Action job. + "no-sandbox", # such that the test can access the file $SSH_AUTH_SOCK. "requires-network", # Because mainnet state is downloaded (and used). ], deps = [