Skip to content

Commit bac5960

Browse files
test: Initial integration tests setup (#564)
* chore: Add simple storage contract * chore: Create client for integration tests * chore: Add registry parsing * chore: Add registry * chore: Add mod file * chore: Add integration mod * feat: Add network tags and readiness validation * chore: Apply fmt * feat: Add network selection utils for integration tests * chore: Use openzeppelin_relayer package * feat: Create confirmation receipt helper * feat: Implement basic transfer * feat: Implement common api tests * fix: Resolve relayer test race conditions with cleanup and serialization * refactor: Clean up integration tests and extract EVM helpers * feat: Add integration testing Docker setup and reorganize contracts * chore: clean up broadcast logs and vendor dependencies in test fixtures * chore: remove git submodules for vendor dependencies * chore: Add integration test key * fix: Update .env.integration.example with defaults * chore: Moving TESTING.md file to README * fix: Ignoring signer files * fix: CodeRabbit suggestion * fix: CodeRabbit suggestion * fix: Improving logs for test cases * fix: Docker fixes * chore: Adding base sepolia * fix: Fixing CI * fix: Fixing test case * fix: Splitting tests in different jobs * fix: Fixing tests * fix: Fixing CI report * fix: Applying review suggestions * chore: Adding feature flags for running tests * chore: Adding job for integration tests * chore: Adding aws kms key logic * fix: Removing unnecessary test files * fix: Improvements * chore: Config files and readme improvements * chore: Fix integration test workflow * fix: Removing unused code * fix: Settings for connecting to aws from actions * fix: Fixing account id * fix: Fixing actions * fix: Fixing GH actions * fix: Fixing actions * fix: Fixing secrets * fix: Fixing GH secrets * fix: Fixing actions * fix: Fixing error * fix: Fixing docker compose * fix: API_KEY improvements * chore: Codecov fix * chore: Fix integratio test yaml file * fix: Improving registry logic to be branch agnostic * fix: Creating configs files * fix: Fixing workflow * fix: Fixing config example * fix: Re-organizing folder structure * fix: Fixing config files * fix: Removing tags and fixing workflow * feat: Adding basic tests for apis * fix: Trigger tests manually * chore: Renaming file * fix: Fix CI unit tests * fix: Fix codecov config --------- Co-authored-by: Nicolas Molina <[email protected]>
1 parent 92ecd88 commit bac5960

37 files changed

+3568
-229
lines changed

.env.integration.example

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# Integration Test Environment Variables
2+
# Copy this file to .env.integration and fill in your values
3+
4+
# ==============================================================================
5+
# Required Variables
6+
# ==============================================================================
7+
8+
# API key for the relayer service
9+
API_KEY=your-api-key-here
10+
11+
# Keystore passphrase for local signer
12+
KEYSTORE_PASSPHRASE=your-keystore-passphrase-here
13+
14+
# Webhook signing key (can be any UUID)
15+
WEBHOOK_SIGNING_KEY=your-webhook-signing-key-here
16+
17+
# ==============================================================================
18+
# Network Selection
19+
# ==============================================================================
20+
# Network selection is controlled via tests/integration/registry.json
21+
# Enable/disable networks by setting "enabled": true/false in registry.json
22+
23+
# ==============================================================================
24+
# Optional Configuration
25+
# ==============================================================================
26+
27+
# Relayer API URL (automatically set in docker-compose, override if needed)
28+
# RELAYER_API_URL=http://relayer:8080/api/v1

.github/actions/oidc/action.yml

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
---
2+
name: AWS OIDC Credentials via Role Assume Chaining
3+
description: Retrieve AWS credentials by chaining role assumes
4+
inputs:
5+
role-for-oidc:
6+
description: The role that should be used for GitHub OIDC authentication
7+
required: true
8+
role-to-assume:
9+
description: The role that should be finally assumed
10+
required: true
11+
role-session-name:
12+
description: The session name that should be used when assuming roles
13+
required: true
14+
default: github-actions
15+
role-duration-seconds:
16+
description: duration of the credentials validity
17+
required: true
18+
default: 3600
19+
aws-region:
20+
description: The AWS region
21+
required: false
22+
default: us-east-1
23+
runs:
24+
using: composite
25+
steps:
26+
- name: assume oidc role
27+
uses: aws-actions/configure-aws-credentials@ececac1a45f3b08a01d2dd070d28d111c5fe6722 # v4.1.0
28+
with:
29+
aws-region: us-east-1
30+
role-to-assume: ${{ inputs.role-for-oidc }}
31+
role-session-name: ${{ inputs.role-session-name }}
32+
role-duration-seconds: 900
33+
- name: assume target role
34+
uses: aws-actions/configure-aws-credentials@ececac1a45f3b08a01d2dd070d28d111c5fe6722 # v4.1.0
35+
id: assume-target-role
36+
with:
37+
aws-access-key-id: ${{ env.AWS_ACCESS_KEY_ID }}
38+
aws-secret-access-key: ${{ env.AWS_SECRET_ACCESS_KEY }}
39+
aws-session-token: ${{ env.AWS_SESSION_TOKEN }}
40+
aws-region: ${{ inputs.aws-region }}
41+
role-chaining: true
42+
role-to-assume: ${{ inputs.role-to-assume }}
43+
role-session-name: ${{ inputs.role-session-name }}
44+
role-duration-seconds: ${{ inputs.role-duration-seconds }}

.github/codecov.yml

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,38 @@
1+
---
2+
codecov:
3+
notify:
4+
after_n_builds: 3 # Wait for all 3 flag uploads (ai, dev, properties)
5+
wait_for_ci: true # Wait for CI to complete before sending status
16
coverage:
27
precision: 2
38
round: down
49
range: 70..100
5-
610
status:
711
project:
812
default:
913
target: 85%
1014
threshold: 2%
15+
flags:
16+
- ai
17+
- dev
18+
- properties
1119
patch:
1220
default:
1321
target: auto
1422
threshold: 1%
15-
1623
flags:
1724
ai:
1825
paths:
19-
- "src/"
26+
- src/
2027
carryforward: true
21-
2228
dev:
2329
paths:
24-
- "src/"
30+
- src/
2531
carryforward: true
26-
2732
comment:
28-
layout: "flags, diff, files"
33+
layout: flags, diff, files
2934
require_changes: false
3035
behavior: default
31-
3236
ignore:
33-
- "tests/*"
34-
- "target/*"
37+
- tests/*
38+
- target/*

0 commit comments

Comments
 (0)