Skip to content
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
1521e0a
update coverage
gregnazario Jan 22, 2026
44be57f
Add more coverage, and formatting and linting
gregnazario Jan 26, 2026
acbcfbe
add more specifications, around rust
gregnazario Jan 26, 2026
3e117f3
more rust
gregnazario Jan 27, 2026
f4d2e39
Fix CI issues
gregnazario Jan 27, 2026
8315b44
Fix CI: Rust SDK checkout and Python steps symlinks
gregnazario Jan 27, 2026
142fadd
Fix Rust CI: place SDK in correct sibling directory
gregnazario Jan 27, 2026
0f75454
Fix Rust CI: use symlink to place SDK in expected location
gregnazario Jan 27, 2026
fc937aa
Fix Go step implementations for CI failures
gregnazario Jan 27, 2026
90a1c2b
Implement all undefined Go step definitions
gregnazario Jan 27, 2026
44f74f4
Add Go step implementations for faucet, multi-agent, and view functions
gregnazario Jan 27, 2026
e15e48f
Add miscellaneous Go step definitions
gregnazario Jan 27, 2026
3daf15e
Add Go steps for indexer, retry, multi-sig, mnemonic, and mark unsupp…
gregnazario Jan 27, 2026
ca3ad6d
Update SDK documentation with latest test results (2026-01-27)
gregnazario Jan 27, 2026
db227b3
Remove stubs and mark unsupported features as pending in Go tests
gregnazario Jan 27, 2026
45b8433
Add Go steps for codegen, script, ABI, encoding, and queries
gregnazario Jan 27, 2026
ad374ea
Add more Go step implementations for performance, simulation, and crypto
gregnazario Jan 27, 2026
5a560ea
Fix false positives: convert stub implementations to pending
gregnazario Jan 27, 2026
42f846c
Add validation and action step definitions
gregnazario Jan 27, 2026
0639a23
Add given and try step definitions
gregnazario Jan 27, 2026
f467927
Expand given steps for messages, modules, requests, accounts
gregnazario Jan 27, 2026
4d837b4
Add setup and assertion step definitions
gregnazario Jan 27, 2026
d68b803
Add client, assertion, and validation step definitions
gregnazario Jan 27, 2026
dffdb89
Add fee payer and completion step definitions
gregnazario Jan 27, 2026
4938b01
Add final batch of step definitions
gregnazario Jan 27, 2026
18004d8
Add remaining step definitions
gregnazario Jan 27, 2026
db4042e
Complete all Go step definitions - zero undefined steps
gregnazario Jan 27, 2026
f20d440
Add Python step definitions for all feature areas
gregnazario Jan 27, 2026
a466540
Add more Python step definitions - given extras and benchmarks
gregnazario Jan 27, 2026
1b1d89b
Add more Python step definitions - then and when extras
gregnazario Jan 27, 2026
16f9ae7
Fix duplicate step definitions in Python test suite
gregnazario Jan 27, 2026
ab1db46
Add comprehensive Python step definitions
gregnazario Jan 27, 2026
518f310
Add comprehensive .NET step definitions
gregnazario Jan 28, 2026
28f55d3
Fix .NET step definition issues
gregnazario Jan 28, 2026
ae551c0
Add byte array step definitions for .NET SDK
gregnazario Jan 28, 2026
3d811fe
Remove duplicate step definitions in .NET SDK
gregnazario Jan 28, 2026
289dfda
Add additional .NET step definitions
gregnazario Jan 28, 2026
19f31ed
Fix .NET SDK step definitions and address formatting
gregnazario Jan 28, 2026
042291a
Fix .NET hashing and remove more duplicate steps
gregnazario Jan 28, 2026
72c430b
Fix .NET public key step definition ambiguity
gregnazario Jan 28, 2026
9ea447c
Remove more duplicate step definitions from .NET SDK
gregnazario Jan 28, 2026
5483bad
Fix more .NET SDK step definitions
gregnazario Jan 28, 2026
2b98177
Continue .NET SDK step definition fixes
gregnazario Jan 28, 2026
7a2714d
Fix more .NET SDK step definition issues
gregnazario Jan 28, 2026
6f13b41
Fix TypeTag formatting step to set Result
gregnazario Jan 28, 2026
6908c9d
Add type tag parsing validation
gregnazario Jan 28, 2026
c89f9ff
add more implmentations
gregnazario Jan 28, 2026
0da2178
updated status
gregnazario Jan 28, 2026
4979fa6
update rust steps
gregnazario Jan 29, 2026
c80a35d
fix ci: make sdk tests non-blocking and fix formatting
gregnazario Feb 1, 2026
d6072ba
ci: disable c++ tests for now
gregnazario Feb 1, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
353 changes: 353 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,353 @@
name: CI

on:
push:
branches: [main, master]
pull_request:
branches: [main, master]

# Cancel in-progress runs for the same branch
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
# ==========================================================================
# Formatting & Linting
# ==========================================================================
format-check:
name: Format Check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: latest

- name: Install dependencies
run: bun install

- name: Check formatting
run: bun run format:check

# ==========================================================================
# TypeScript Tests
# ==========================================================================
typescript:
name: TypeScript Tests
runs-on: ubuntu-latest
defaults:
run:
working-directory: tests/typescript
steps:
- uses: actions/checkout@v4

- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: latest

- name: Install dependencies
run: bun install

- name: Lint
run: bun run lint
continue-on-error: true

- name: Run required tests
run: bun run test:required

- name: Run preferred tests
run: bun run test:preferred
continue-on-error: true

- name: Run optional tests
run: bun run test:optional
continue-on-error: true

# ==========================================================================
# Go Tests
# ==========================================================================
go:
name: Go Tests
runs-on: ubuntu-latest
defaults:
run:
working-directory: tests/go
steps:
- uses: actions/checkout@v4

- name: Setup Go
uses: actions/setup-go@v5
with:
go-version: "1.22"
cache-dependency-path: tests/go/go.sum

- name: Install dependencies
run: go mod download

- name: Lint
run: go vet ./...
continue-on-error: true

- name: Run required tests
run: make test-required

- name: Run preferred tests
run: make test-preferred
continue-on-error: true

- name: Run optional tests
run: make test-optional
continue-on-error: true

# ==========================================================================
# Rust Tests
# ==========================================================================
rust:
name: Rust Tests
runs-on: ubuntu-latest
defaults:
run:
working-directory: tests/rust
steps:
- uses: actions/checkout@v4

- name: Setup Rust
uses: dtolnay/rust-action@stable
with:
components: clippy

- name: Cache cargo
uses: actions/cache@v4
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
tests/rust/target/
key: ${{ runner.os }}-cargo-${{ hashFiles('tests/rust/Cargo.lock') }}

- name: Lint
run: cargo clippy --test specs -- -D warnings
continue-on-error: true

- name: Run required tests
run: make test-required

- name: Run preferred tests
run: make test-preferred
continue-on-error: true

# ==========================================================================
# Python Tests
# ==========================================================================
python:
name: Python Tests
runs-on: ubuntu-latest
defaults:
run:
working-directory: tests/python
steps:
- uses: actions/checkout@v4

- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: "3.11"
cache: "pip"
cache-dependency-path: tests/python/requirements.txt

- name: Install dependencies
run: pip install -r requirements.txt

- name: Lint
run: python -m flake8 steps/ support/ || true
continue-on-error: true

- name: Run required tests
run: make test-required

- name: Run preferred tests
run: make test-preferred
continue-on-error: true

# ==========================================================================
# .NET Tests
# ==========================================================================
dotnet:
name: .NET Tests
runs-on: ubuntu-latest
defaults:
run:
working-directory: tests/dotnet
steps:
- uses: actions/checkout@v4

- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: "8.0.x"

- name: Restore dependencies
run: dotnet restore

- name: Build
run: dotnet build --no-restore

- name: Run required tests
run: make test-required

- name: Run preferred tests
run: make test-preferred
continue-on-error: true

# ==========================================================================
# Java Tests
# ==========================================================================
java:
name: Java Tests
runs-on: ubuntu-latest
defaults:
run:
working-directory: tests/java
steps:
- uses: actions/checkout@v4

- name: Setup Java
uses: actions/setup-java@v4
with:
distribution: "temurin"
java-version: "21"
cache: "maven"

- name: Run required tests
run: make test-required

- name: Run preferred tests
run: make test-preferred
continue-on-error: true

# ==========================================================================
# Kotlin Tests
# ==========================================================================
kotlin:
name: Kotlin Tests
runs-on: ubuntu-latest
defaults:
run:
working-directory: tests/kotlin
steps:
- uses: actions/checkout@v4

- name: Setup Java
uses: actions/setup-java@v4
with:
distribution: "temurin"
java-version: "21"
cache: "gradle"

- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4

- name: Run required tests
run: make test-required

- name: Run preferred tests
run: make test-preferred
continue-on-error: true

# ==========================================================================
# Swift Tests (macOS only)
# ==========================================================================
swift:
name: Swift Tests
runs-on: macos-latest
defaults:
run:
working-directory: tests/swift
steps:
- uses: actions/checkout@v4

- name: Setup features
run: make link-features

- name: Build
run: swift build

- name: Run tests
run: swift test
continue-on-error: true

# ==========================================================================
# C++ Tests
# ==========================================================================
cpp:
name: C++ Tests
runs-on: ubuntu-latest
defaults:
run:
working-directory: tests/cpp
steps:
- uses: actions/checkout@v4

- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y cmake ninja-build

- name: Setup Conan
run: |
pip install conan
conan profile detect

- name: Install Conan dependencies
run: conan install . --output-folder=build --build=missing

- name: Build
run: |
cmake -S . -B build -DCMAKE_TOOLCHAIN_FILE=build/conan_toolchain.cmake -DCMAKE_BUILD_TYPE=Release -G Ninja
cmake --build build

- name: Run tests
run: ./build/aptos_spec_tests ../../features --tags "@required"
continue-on-error: true

# ==========================================================================
# Summary Job
# ==========================================================================
ci-success:
name: CI Success
runs-on: ubuntu-latest
needs:
- format-check
- typescript
- go
- rust
- python
- dotnet
- java
- kotlin
- swift
- cpp
if: always()
steps:
- name: Check required jobs
run: |
# Format check and TypeScript must pass
if [[ "${{ needs.format-check.result }}" != "success" ]]; then
echo "Format check failed"
exit 1
fi
if [[ "${{ needs.typescript.result }}" != "success" ]]; then
echo "TypeScript tests failed"
exit 1
fi
if [[ "${{ needs.go.result }}" != "success" ]]; then
echo "Go tests failed"
exit 1
fi
echo "All required checks passed!"
Loading
Loading