Problem
The GitHub Actions workflow fails during the test phase because several tests require contract artifacts and files from the verifiers and circom-zkp-generator folders that cannot be committed to the repository due to licensing restrictions. When Hardhat attempts to run these tests, it fails with:
Code
HardhatError: HHE1000: Artifact for contract "VerifierM2" not found.
This affects four tests in the "DIDMultisigController – private publishing on marketplace" suite:
- Group of 4 admins can publish via ZKP
- Group of 2 admins can publish via ZKP
- Fails if valid admin includes non-admin (group of 4)
- Fails if invalid admin attempts to generate a proof for a group they do not belong to
Root Cause
The CI environment cannot build or access the required verifier contracts since they're not in the repository, making these tests impossible to run in the automated pipeline.
Recommended Solutions
-
Option (Simplest): Conditionally skip tests in CI using environment variables
Mark ZKP-dependent tests with conditional skip logic
Set CI=true in the GitHub Actions workflow
Option 2: Filter tests by pattern during CI runs
-
Create a test:ci script that excludes ZKP/verifier tests
Update the workflow to use this script instead of the standard test command
Option 3: Organize verifier tests separately
-
Move ZKP tests to a dedicated file/directory
Configure Hardhat to exclude these in CI environments
Problem
The GitHub Actions workflow fails during the test phase because several tests require contract artifacts and files from the verifiers and circom-zkp-generator folders that cannot be committed to the repository due to licensing restrictions. When Hardhat attempts to run these tests, it fails with:
Code
HardhatError: HHE1000: Artifact for contract "VerifierM2" not found.
This affects four tests in the "DIDMultisigController – private publishing on marketplace" suite:
Root Cause
The CI environment cannot build or access the required verifier contracts since they're not in the repository, making these tests impossible to run in the automated pipeline.
Recommended Solutions
Option (Simplest): Conditionally skip tests in CI using environment variables
Mark ZKP-dependent tests with conditional skip logic
Set CI=true in the GitHub Actions workflow
Option 2: Filter tests by pattern during CI runs
Create a test:ci script that excludes ZKP/verifier tests
Update the workflow to use this script instead of the standard test command
Option 3: Organize verifier tests separately
Move ZKP tests to a dedicated file/directory
Configure Hardhat to exclude these in CI environments