Skip to content

feat: Update full test to use tycho-test and test on stream of updates #1111

feat: Update full test to use tycho-test and test on stream of updates

feat: Update full test to use tycho-test and test on stream of updates #1111

Workflow file for this run

name: Substreams CI
on:
pull_request:
jobs:
lint:
name: Substreams Lint
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- uses: actions/checkout@v3
with:
submodules: false
- name: Check if any Substreams files changed
id: substreams-files-changed
uses: tj-actions/changed-files@v35
with:
files: substreams/**
- name: Setup toolchain
if: steps.substreams-files-changed.outputs.any_changed == 'true'
uses: dtolnay/rust-toolchain@v1
with:
toolchain: nightly
components: clippy, rustfmt
- name: Setup Rust Cache
if: steps.substreams-files-changed.outputs.any_changed == 'true'
uses: Swatinem/rust-cache@v2
with:
cache-on-failure: true
- name: Get changed Substreams package names
if: steps.substreams-files-changed.outputs.any_changed == 'true'
id: changed_packages
uses: ./.github/actions/substreams-check
with:
changed-files: ${{ steps.substreams-files-changed.outputs.all_changed_files }}
- name: Run checks
if: steps.substreams-files-changed.outputs.any_changed == 'true'
shell: bash
run: |
cd substreams
if [ -n "${{ steps.changed_packages.outputs.package_names }}" ]; then
for package in ${{ steps.changed_packages.outputs.package_names }}; do
echo "Running checks for package: $package"
cargo +nightly fmt --package "$package" -- --check
cargo +nightly clippy --package "$package" -- -D warnings
done
else
echo "No packages to check"
fi
- name: Skip check
if: steps.substreams-files-changed.outputs.any_changed != 'true'
run: echo "No changes to substreams directory, skipping lint check"
test:
name: Substreams Test
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- uses: actions/checkout@v3
with:
submodules: false
- name: Check if any Substreams files changed
id: substreams-files-changed
uses: tj-actions/changed-files@v35
with:
files: substreams/**
- name: Setup toolchain
if: steps.substreams-files-changed.outputs.any_changed == 'true'
uses: dtolnay/rust-toolchain@v1
with:
toolchain: stable
targets: wasm32-unknown-unknown
- name: Setup Rust Cache
if: steps.substreams-files-changed.outputs.any_changed == 'true'
uses: Swatinem/rust-cache@v2
with:
cache-on-failure: true
- name: Get changed Substreams package names
if: steps.substreams-files-changed.outputs.any_changed == 'true'
id: changed_packages
uses: ./.github/actions/substreams-check
with:
changed-files: ${{ steps.substreams-files-changed.outputs.all_changed_files }}
- name: Run checks
if: steps.substreams-files-changed.outputs.any_changed == 'true'
shell: bash
run: |
cd substreams
if [ -n "${{ steps.changed_packages.outputs.package_names }}" ]; then
for package in ${{ steps.changed_packages.outputs.package_names }}; do
echo "Running checks for package: $package"
cargo build --package "$package" --target wasm32-unknown-unknown
cargo test --package "$package"
done
else
echo "No packages to check"
fi
- name: Skip check
if: steps.substreams-files-changed.outputs.any_changed != 'true'
run: echo "No changes to substreams directory, skipping test check"