diff --git a/.github/workflows/build-test-fmt.yml b/.github/workflows/build-test-fmt.yml new file mode 100644 index 00000000..9fe63ac5 --- /dev/null +++ b/.github/workflows/build-test-fmt.yml @@ -0,0 +1,37 @@ +name: Build-Test-Fmt + +on: + [push] + +jobs: + build-test-fmt: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + + - run: rustup show + + - uses: Swatinem/rust-cache@v2 + + - name: Setup Node.js + uses: actions/setup-node@v3 + with: + node-version: 18 + cache: "yarn" + + - name: Install dependencies + run: yarn install --frozen-lockfile + + - name: Install Foundry + uses: foundry-rs/foundry-toolchain@v1 + + - name: Run tests + working-directory: packages/contracts + run: forge build + + - name: Build + run: cargo build + + - name: Test + run: cargo test diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml new file mode 100644 index 00000000..254c86b6 --- /dev/null +++ b/.github/workflows/unit-tests.yml @@ -0,0 +1,60 @@ +name: unit-tests + +on: [push] + +jobs: + circuits: + name: circuits + runs-on: macos-latest + steps: + - uses: actions/checkout@v3 + + - name: Setup Node.js + uses: actions/setup-node@v3 + with: + node-version: 18 + + - name: Setup Rust + uses: actions-rs/toolchain@v1 + with: + toolchain: stable + override: true + components: rustfmt, clippy + + - name: Download circom (Linux) + run: git clone https://github.com/iden3/circom.git && cd circom && cargo build --release && cargo install --path circom + + - name: Print circom version + run: circom --version + + - name: Install yarn + run: npm install -g yarn + + - name: Install dependencies + run: yarn install --frozen-lockfile + + - name: Run tests + working-directory: packages/circuits + run: yarn test --runInBand --no-cache + + contracts: + name: contracts + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + + - name: Install Node.js + uses: actions/setup-node@v2 + with: + node-version: 18 + cache: "yarn" + + - name: Install dependencies + run: yarn install --frozen-lockfile + + - name: Install Foundry + uses: foundry-rs/foundry-toolchain@v1 + + - name: Run tests + working-directory: packages/contracts + run: forge test --no-match-test "testIntegration"