build(deps): bump wasmtime from 0.27.0 to 0.34.2 #5
This file contains 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: Continuous Integration | |
on: | |
push: | |
branches: [master] | |
pull_request: | |
types: [opened, synchronize, reopened] | |
env: | |
CARGO_TERM_COLOR: always | |
RUST_BACKTRACE: full | |
THEGRAPH_STORE_POSTGRES_DIESEL_URL: "postgresql://postgres:postgres@localhost:5432/graph_node_test" | |
jobs: | |
unit-tests: | |
name: Run unit tests | |
strategy: | |
fail-fast: false | |
matrix: | |
rust: ["stable"] | |
runs-on: ubuntu-latest | |
services: | |
ipfs: | |
image: ipfs/go-ipfs:v0.10.0 | |
ports: | |
- 5001:5001 | |
postgres: | |
image: postgres | |
env: | |
POSTGRES_PASSWORD: postgres | |
POSTGRES_DB: graph_node_test | |
options: >- | |
--health-cmd pg_isready | |
--health-interval 10s | |
--health-timeout 5s | |
--health-retries 5 | |
ports: | |
- 5432:5432 | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v2 | |
- name: Cache cargo registry | |
uses: actions/cache@v2 | |
with: | |
path: | | |
~/.cargo/registry | |
~/.cargo/git | |
key: test-cargo-${{ hashFiles('**/Cargo.toml') }} | |
- name: Install rust toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: ${{ matrix.rust }} | |
override: true | |
- name: Install lld | |
run: sudo apt-get install -y lld | |
- name: Run unit tests | |
uses: actions-rs/cargo@v1 | |
env: | |
RUSTFLAGS: "-C link-arg=-fuse-ld=lld -D warnings" | |
with: | |
command: test | |
args: --verbose --workspace --exclude graph-tests -- --nocapture | |
runner-tests: | |
name: Subgraph Runner integration tests | |
strategy: | |
fail-fast: false | |
matrix: | |
rust: ["stable"] | |
runs-on: ubuntu-latest | |
services: | |
ipfs: | |
image: ipfs/go-ipfs:v0.10.0 | |
ports: | |
- 5001:5001 | |
postgres: | |
image: postgres | |
env: | |
POSTGRES_PASSWORD: postgres | |
POSTGRES_DB: graph_node_test | |
options: >- | |
--health-cmd pg_isready | |
--health-interval 10s | |
--health-timeout 5s | |
--health-retries 5 | |
ports: | |
- 5432:5432 | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v2 | |
- name: Cache cargo registry | |
uses: actions/cache@v2 | |
with: | |
path: | | |
~/.cargo/registry | |
~/.cargo/git | |
key: test-cargo-${{ hashFiles('**/Cargo.toml') }} | |
- name: Install rust toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: ${{ matrix.rust }} | |
override: true | |
- name: Install lld | |
run: sudo apt-get install -y lld | |
- name: Run runner tests | |
id: runner-tests-1 | |
uses: actions-rs/cargo@v1 | |
env: | |
RUSTFLAGS: "-C link-arg=-fuse-ld=lld -D warnings" | |
TESTS_GANACHE_HARD_WAIT_SECONDS: "30" | |
with: | |
command: test | |
args: --verbose --package graph-tests -- --skip parallel_integration_tests | |
integration-tests: | |
name: Run integration tests | |
strategy: | |
fail-fast: false | |
matrix: | |
rust: ["stable"] | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v2 | |
- name: Cache cargo registry | |
uses: actions/cache@v2 | |
with: | |
path: | | |
~/.cargo/registry | |
~/.cargo/git | |
key: test-cargo-${{ hashFiles('**/Cargo.toml') }} | |
- name: Install Node 14 | |
uses: actions/setup-node@v2 | |
with: | |
node-version: "14" | |
- name: Install rust toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: ${{ matrix.rust }} | |
override: true | |
- name: Install lld and jq | |
run: sudo apt-get install -y lld jq | |
- name: Build graph-node | |
env: | |
RUSTFLAGS: "-C link-arg=-fuse-ld=lld -D warnings" | |
uses: actions-rs/cargo@v1 | |
with: | |
command: build | |
# Integration tests are a bit flaky, running them twice increases the | |
# chances of one run succeeding | |
- name: Run integration tests (round 1) | |
id: integration-tests-1 | |
uses: actions-rs/cargo@v1 | |
env: | |
RUSTFLAGS: "-C link-arg=-fuse-ld=lld -D warnings" | |
N_CONCURRENT_TESTS: "1" | |
TESTS_GANACHE_HARD_WAIT_SECONDS: "30" | |
with: | |
command: test | |
args: --verbose --package graph-tests parallel_integration_tests -- --nocapture | |
continue-on-error: true | |
- name: Run integration tests (round 2) | |
id: integration-tests-2 | |
uses: actions-rs/cargo@v1 | |
if: ${{ steps.integration-tests-1.outcome == 'failure' }} | |
env: | |
RUSTFLAGS: "-C link-arg=-fuse-ld=lld -D warnings" | |
N_CONCURRENT_TESTS: "1" | |
TESTS_GANACHE_HARD_WAIT_SECONDS: "30" | |
with: | |
command: test | |
args: --verbose --package graph-tests parallel_integration_tests -- --nocapture | |
rustfmt: | |
name: Check rustfmt style | |
strategy: | |
matrix: | |
rust: ["stable"] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: ${{ matrix.rust }} | |
components: rustfmt | |
override: true | |
- name: Check formatting | |
uses: actions-rs/cargo@v1 | |
env: | |
RUSTFLAGS: "-D warnings" | |
with: | |
command: fmt | |
args: --all -- --check | |
clippy: | |
name: Report Clippy warnings | |
strategy: | |
matrix: | |
rust: ["stable"] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: ${{ matrix.rust }} | |
components: clippy | |
override: true | |
# Unlike rustfmt, Clippy actually compiles stuff so it benefits from | |
# caching. | |
- name: Cache cargo registry | |
uses: actions/cache@v2 | |
with: | |
path: | | |
~/.cargo/registry | |
~/.cargo/git | |
key: check-cargo-${{ hashFiles('**/Cargo.toml') }} | |
- name: Run Clippy | |
uses: actions-rs/cargo@v1 | |
# We do *not* block builds if Clippy complains. It's just here to let us | |
# keep an eye out on the warnings it produces. | |
continue-on-error: true | |
with: | |
command: clippy | |
release-check: | |
name: Build in release mode | |
strategy: | |
matrix: | |
rust: ["stable"] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: ${{ matrix.rust }} | |
override: true | |
- name: Cache cargo registry | |
uses: actions/cache@v2 | |
with: | |
path: | | |
~/.cargo/registry | |
~/.cargo/git | |
key: check-cargo-${{ hashFiles('**/Cargo.toml') }} | |
- name: Install dependencies | |
run: | | |
sudo apt-get update | |
sudo apt-get -y install libpq-dev | |
- name: Cargo check (debug) | |
uses: actions-rs/cargo@v1 | |
env: | |
RUSTFLAGS: "-D warnings" | |
with: | |
command: check | |
args: --tests | |
- name: Cargo check (release) | |
env: | |
RUSTFLAGS: "-D warnings" | |
uses: actions-rs/cargo@v1 | |
with: | |
command: check | |
args: --release |