Skip to content

Add duration to snapshot compute-state json output #5583

Add duration to snapshot compute-state json output

Add duration to snapshot compute-state json output #5583

Workflow file for this run

name: Integration tests
# Cancel workflow if there is a new change to the branch.
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}
on:
workflow_dispatch:
merge_group:
pull_request:
branches:
- main
push:
branches:
- main
schedule:
- cron: "0 0 * * *"
env:
CI: 1
CARGO_INCREMENTAL: 0
CACHE_TIMEOUT_MINUTES: 5
SCCACHE_ENDPOINT: ${{ vars.SCCACHE_ENDPOINT }}
SCCACHE_BUCKET: ${{ vars.SCCACHE_BUCKET }}
SCCACHE_REGION: ${{ vars.SCCACHE_REGION }}
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
RUSTC_WRAPPER: "sccache"
CC: "sccache clang"
CXX: "sccache clang++"
jobs:
build-macos:
name: Build MacOS
runs-on: macos-latest
steps:
- name: Checkout Sources
uses: actions/checkout@v4
- name: Setup sccache
uses: mozilla-actions/sccache-action@v0.0.3
timeout-minutes: ${{ fromJSON(env.CACHE_TIMEOUT_MINUTES) }}
continue-on-error: true
- name: Cargo Check
run: cargo check
build-ubuntu:
name: Build Ubuntu
runs-on: ubuntu-latest
steps:
# To help investigate transient test failures
- run: lscpu
# find the nearest S3 space for storing cache files
- name: Show IP
run: curl ifconfig.me
continue-on-error: true
- name: Checkout Sources
uses: actions/checkout@v4
- name: Setup sccache
uses: mozilla-actions/sccache-action@v0.0.3
timeout-minutes: ${{ fromJSON(env.CACHE_TIMEOUT_MINUTES) }}
continue-on-error: true
- name: Install Apt Dependencies
run: |
sudo make install-deps
- name: Cargo Install
run: make install
- uses: actions/upload-artifact@v3
with:
name: forest-${{ runner.os }}
path: |
~/.cargo/bin/forest*
if-no-files-found: error
cargo-publish-dry-run:
runs-on: ubuntu-latest
steps:
- name: Checkout Sources
uses: actions/checkout@v4
- name: Setup sccache
uses: mozilla-actions/sccache-action@v0.0.3
timeout-minutes: ${{ fromJSON(env.CACHE_TIMEOUT_MINUTES) }}
continue-on-error: true
- name: Install Apt Dependencies
run: |
sudo make install-deps
- run: cargo publish --dry-run
# cli-specific tests
forest-cli-check:
needs:
- build-ubuntu
name: Forest CLI checks
runs-on: ubuntu-latest
steps:
# To help investigate transient test failures
- run: lscpu
- name: Checkout Sources
uses: actions/checkout@v4
- uses: actions/download-artifact@v3
with:
name: forest-${{ runner.os }}
path: ~/.cargo/bin
# Permissions are lost during artifact-upload
# https://github.com/actions/upload-artifact#permission-loss
- name: Set permissions
run: |
chmod +x ~/.cargo/bin/forest*
- name: forest-cli check
run: ./scripts/tests/forest_cli_check.sh
# tool-specific tests
forest-tool-check:
needs:
- build-ubuntu
name: Forest TOOL checks
runs-on: ubuntu-latest
steps:
# To help investigate transient test failures
- run: lscpu
- name: Checkout Sources
uses: actions/checkout@v4
- uses: actions/download-artifact@v3
with:
name: forest-${{ runner.os }}
path: ~/.cargo/bin
# Permissions are lost during artifact-upload
# https://github.com/actions/upload-artifact#permission-loss
- name: Set permissions
run: |
chmod +x ~/.cargo/bin/forest*
# miscallenous tests done on calibnet
calibnet-check:
needs:
- build-ubuntu
name: Calibnet check
runs-on: ubuntu-latest
steps:
# To help investigate transient test failures
- run: lscpu
- name: Checkout Sources
uses: actions/checkout@v4
- uses: actions/download-artifact@v3
with:
name: forest-${{ runner.os }}
path: ~/.cargo/bin
- uses: actions/download-artifact@v3
with:
name: forest-${{ runner.os }}
path: ~/.cargo/bin
# Permissions are lost during artifact-upload
# https://github.com/actions/upload-artifact#permission-loss
- name: Set permissions
run: |
chmod +x ~/.cargo/bin/forest*
- name: Other commands check
run: ./scripts/tests/calibnet_other_check.sh
# state migration regression tests
state-migrations-check:
needs:
- build-ubuntu
name: State migrations
runs-on: ubuntu-latest
steps:
# To help investigate transient test failures
- run: lscpu
- name: Checkout Sources
uses: actions/checkout@v4
- uses: actions/download-artifact@v3
with:
name: forest-${{ runner.os }}
path: ~/.cargo/bin
# Permissions are lost during artifact-upload
# https://github.com/actions/upload-artifact#permission-loss
- name: Set permissions
run: |
chmod +x ~/.cargo/bin/forest*
- name: Migration Regression Tests
run: ./scripts/tests/calibnet_migration_regression_tests.sh
# Wallet checks (sending, exporting key, balances...)
calibnet-wallet-check:
needs:
- build-ubuntu
name: Wallet tests
runs-on: ubuntu-latest
steps:
# To help investigate transient test failures
- run: lscpu
- name: Checkout Sources
uses: actions/checkout@v4
- uses: actions/download-artifact@v3
with:
name: forest-${{ runner.os }}
path: ~/.cargo/bin
# Permissions are lost during artifact-upload
# https://github.com/actions/upload-artifact#permission-loss
- name: Set permissions
run: |
chmod +x ~/.cargo/bin/forest*
- name: Wallet commands check
env:
CALIBNET_WALLET: ${{ secrets.CALIBNET_WALLET }}
run: ./scripts/tests/calibnet_wallet_check.sh "$CALIBNET_WALLET"
# Snapshot export checks
calibnet-export-check:
needs:
- build-ubuntu
name: Snapshot export checks
runs-on: ubuntu-latest
steps:
# To help investigate transient test failures
- run: lscpu
- name: Checkout Sources
uses: actions/checkout@v4
- uses: actions/download-artifact@v3
with:
name: forest-${{ runner.os }}
path: ~/.cargo/bin
# Permissions are lost during artifact-upload
# https://github.com/actions/upload-artifact#permission-loss
- name: Set permissions
run: |
chmod +x ~/.cargo/bin/forest*
- name: Snapshot export check
run: ./scripts/tests/calibnet_export_check.sh
# Calibnet checks with discovery disabled
calibnet-no-discovery-checks:
needs:
- build-ubuntu
name: Calibnet no discovery checks
runs-on: ubuntu-latest
steps:
# To help investigate transient test failures
- run: lscpu
- name: Checkout Sources
uses: actions/checkout@v4
- uses: actions/download-artifact@v3
with:
name: forest-${{ runner.os }}
path: ~/.cargo/bin
# Permissions are lost during artifact-upload
# https://github.com/actions/upload-artifact#permission-loss
- name: Set permissions
run: |
chmod +x ~/.cargo/bin/forest*
- run: ./scripts/tests/calibnet_no_discovery_check.sh
timeout-minutes: 10
# Calibnet kademlia discovery checks
calibnet-kademlia-checks:
# Disable until stateless mode is back
if: false
needs:
- build-ubuntu
name: Calibnet kademlia checks
runs-on: ubuntu-latest
steps:
# To help investigate transient test failures
- run: lscpu
- name: Checkout Sources
uses: actions/checkout@v4
- uses: actions/download-artifact@v3
with:
name: forest-${{ runner.os }}
path: ~/.cargo/bin
# Permissions are lost during artifact-upload
# https://github.com/actions/upload-artifact#permission-loss
- name: Set permissions
run: |
chmod +x ~/.cargo/bin/forest*
- run: ./scripts/tests/calibnet_kademlia_check.sh
timeout-minutes: 10
db-migration-checks:
needs:
- build-ubuntu
runs-on: ubuntu-latest
steps:
- name: Checkout Sources
uses: actions/checkout@v4
- uses: actions/download-artifact@v3
with:
name: forest-${{ runner.os }}
path: ~/.cargo/bin
# Permissions are lost during artifact-upload
# https://github.com/actions/upload-artifact#permission-loss
- name: Set permissions
run: |
chmod +x ~/.cargo/bin/forest*
- name: Database migration checks
run: ./scripts/tests/calibnet_db_migration.sh
db-migration-checks-car-db:
needs:
- build-ubuntu
runs-on: ubuntu-latest
steps:
- name: Checkout Sources
uses: actions/checkout@v4
- uses: actions/download-artifact@v3
with:
name: forest-${{ runner.os }}
path: ~/.cargo/bin
# Permissions are lost during artifact-upload
# https://github.com/actions/upload-artifact#permission-loss
- name: Set permissions
run: |
chmod +x ~/.cargo/bin/forest*
- name: Database migration checks with car_db folder
run: ./scripts/tests/calibnet_db_migration_car_db.sh
local-devnet-check:
name: Devnet checks
runs-on: ubuntu-latest
needs:
- build-ubuntu
steps:
- name: Checkout Sources
uses: actions/checkout@v4
- uses: actions/download-artifact@v3
with:
name: forest-${{ runner.os }}
- name: Devnet setup
run: ./scripts/devnet/ci_setup.sh
- name: Devnet check
run: ./scripts/devnet/ci_check.sh
- name: Dump docker logs
uses: jwalton/gh-docker-logs@v2