diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f558e4c05..8feb59fdf 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -6,7 +6,7 @@ on: pull_request: branches: [main] -env: +env: CARGO_TERM_COLOR: always RUSTFLAGS: "-Dwarnings" @@ -21,7 +21,7 @@ jobs: - nightly steps: - uses: actions/checkout@v3 - + - name: Init nigthly install for fmt run: rustup update nightly && rustup default nightly && rustup component add rustfmt @@ -30,7 +30,7 @@ jobs: - name: Init install run: rustup update ${{ matrix.toolchain }} && rustup default ${{ matrix.toolchain }} && rustup component add clippy - + - name: Clippy run: cargo clippy --all-targets --all-features @@ -38,4 +38,32 @@ jobs: run: cargo build - name: Tests - run: cargo test \ No newline at end of file + run: cargo test + + coverage: + name: Zombienet SDK - coverage + needs: build + runs-on: ubuntu-latest + if: github.event_name == 'pull_request' + + permissions: + issues: write + pull-requests: write + + steps: + - uses: actions/checkout@v3 + + - name: Install latest nextest release + uses: taiki-e/install-action@nextest + + - name: Install cargo-llvm-cov + uses: taiki-e/install-action@cargo-llvm-cov + + - name: Collect coverage data + run: cargo llvm-cov nextest --lcov --output-path lcov.info + + - name: Report code coverage + uses: Nef10/lcov-reporter-action@v0.4.0 + with: + lcov-file: lcov.info + pr-number: ${{ github.event.pull_request.number }} diff --git a/crates/configuration/src/network.rs b/crates/configuration/src/network.rs index 5bef574bd..1bb022371 100644 --- a/crates/configuration/src/network.rs +++ b/crates/configuration/src/network.rs @@ -133,7 +133,7 @@ impl NetworkConfigBuilder { match f(ParachainConfigBuilder::new()).build() { Ok(parachain) => Self::transition( NetworkConfig { - parachains: vec![self.config.parachains, vec![parachain]].concat(), + parachains: [self.config.parachains, vec![parachain]].concat(), ..self.config }, self.errors, @@ -152,7 +152,7 @@ impl NetworkConfigBuilder { Self::transition( NetworkConfig { - hrmp_channels: vec![self.config.hrmp_channels, vec![new_hrmp_channel]].concat(), + hrmp_channels: [self.config.hrmp_channels, vec![new_hrmp_channel]].concat(), ..self.config }, self.errors, diff --git a/crates/configuration/src/parachain.rs b/crates/configuration/src/parachain.rs index a0254c909..84dc81f2c 100644 --- a/crates/configuration/src/parachain.rs +++ b/crates/configuration/src/parachain.rs @@ -480,7 +480,7 @@ impl ParachainConfigBuilder { match f(NodeConfigBuilder::new(ChainDefaultContext::default())).build() { Ok(collator) => Self::transition( ParachainConfig { - collators: vec![self.config.collators, vec![collator]].concat(), + collators: [self.config.collators, vec![collator]].concat(), ..self.config }, self.errors, diff --git a/crates/configuration/src/relaychain.rs b/crates/configuration/src/relaychain.rs index 8bffcff9f..ad437f296 100644 --- a/crates/configuration/src/relaychain.rs +++ b/crates/configuration/src/relaychain.rs @@ -317,7 +317,7 @@ impl RelaychainConfigBuilder { match f(NodeConfigBuilder::new(self.default_context())).build() { Ok(node) => Self::transition( RelaychainConfig { - nodes: vec![self.config.nodes, vec![node]].concat(), + nodes: [self.config.nodes, vec![node]].concat(), ..self.config }, self.errors,