Skip to content

test: e2e#9

Merged
fmorency merged 8 commits intomanifest-network:mainfrom
fmorency:e2e
Oct 29, 2025
Merged

test: e2e#9
fmorency merged 8 commits intomanifest-network:mainfrom
fmorency:e2e

Conversation

@fmorency
Copy link
Contributor

@fmorency fmorency commented Oct 28, 2025

This pull request introduces a comprehensive end-to-end (E2E) testing framework for the converter contract, modernizes the build process, and improves project configuration and maintainability. The most significant changes are the addition of E2E tests using Dockerized environments and Bats, streamlining of WASM build and optimization, and several updates to Rust toolchain and workflow automation.

End-to-End Testing Infrastructure:

  • Added a full E2E test suite using Bats, including test scripts (e2e/tests/converter.bats), helper functions (e2e/test_helper/common.sh), and Bats assertion libraries as submodules. Tests are run in a Docker Compose environment simulating a blockchain ledger, with all necessary environment variables and scripts for chain initialization. [1] [2] [3] [4] [5] [6] [7] [8]

  • Introduced a new e2e job in the GitHub Actions CI workflow to automate E2E testing, including installation of dependencies and orchestration of the test environment.

Build and Workflow Improvements:

  • Refactored WASM build and optimization steps to use a new build-opt target in the Makefile, which checks for dependencies, builds, optimizes, and verifies WASM binaries, replacing ad-hoc shell commands in the CI workflow. [1] [2]

  • Updated the Rust toolchain to version 1.86.0 and specified required components and targets for consistent development and CI environments. [1] [2]

Contract and Codebase Updates:

  • Added a Migrate {} variant to the MigrateMsg enum in the converter contract for future-proofing migrations.

CI and Dependency Updates:

  • Updated the version of cargo-tarpaulin used for code coverage in CI to 1.90.0 for improved compatibility and reliability.

References:
[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14]

@fmorency fmorency self-assigned this Oct 28, 2025
@codecov
Copy link

codecov bot commented Oct 29, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@fmorency fmorency requested a review from Copilot October 29, 2025 15:03
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR adds comprehensive end-to-end testing infrastructure for the converter contract, including Docker-based blockchain setup and BATS test framework integration. The changes enable automated testing of the complete converter contract lifecycle from deployment to execution in a controlled blockchain environment.

  • Adds Docker Compose setup for running a local Manifest blockchain with custom configuration
  • Implements BATS test suite with helper functions for contract interactions and blockchain queries
  • Integrates E2E tests into the CI/CD pipeline with proper dependency management

Reviewed Changes

Copilot reviewed 13 out of 14 changed files in this pull request and generated no comments.

Show a summary per file
File Description
rust-toolchain.toml Specifies Rust 1.86.0 toolchain with required components for WASM builds
e2e/tests/converter.bats Main E2E test script covering converter contract deployment, execution, and edge cases
e2e/test_helper/common.sh Helper functions for blockchain transactions, queries, and contract operations
e2e/test_helper/bats-support Git submodule for BATS testing framework support utilities
e2e/test_helper/bats-assert Git submodule for BATS assertion helpers
e2e/scripts/init_manifest_ledger.sh Blockchain initialization script with genesis configuration
e2e/docker-compose.yml Docker Compose configuration for local blockchain environment
e2e/.env Environment variables for blockchain and test configuration
contracts/converter/src/msg.rs Adds Migrate message variant to support contract migration testing
Makefile Build targets for optimized WASM compilation and E2E environment management
Cargo.toml Updates Rust version requirement to 1.86.0
.gitmodules Git submodule configuration for BATS dependencies
.gitignore Excludes artifacts directory from version control
.github/workflows/ci.yml Adds E2E testing job to CI pipeline with proper toolchain setup

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@fmorency fmorency marked this pull request as ready for review October 29, 2025 15:38
@fmorency fmorency merged commit 4049e92 into manifest-network:main Oct 29, 2025
11 of 12 checks passed
@fmorency fmorency deleted the e2e branch October 29, 2025 17:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants