Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
178fa5a
feat: (PRO-203) Implement TurnkeyError handling and enhance PrivySign…
dev-jodee Sep 18, 2025
4c26c27
chore: (PRO-271) Update / cleanup Makefile and add debug commands and…
dev-jodee Sep 22, 2025
ad5d81f
Removed privy and turnkey tests from CI
dev-jodee Sep 22, 2025
ed44607
docs: add runner to ADDING_SIGNERS.md and CLAUDE.md
amilz Sep 22, 2025
cbf7225
feat: (PRO-255) add adversarial tests for fee payer policy violations…
dev-jodee Sep 23, 2025
01f69c2
feat: Some fixes post discussions with Audit & others (#225)
dev-jodee Sep 25, 2025
06de9a0
docs: add x402 kora demo (#227)
amilz Sep 26, 2025
0a1bfcc
chore: guide cleanup
amilz Sep 26, 2025
ec05044
feat: (PRO-343) Improve estimate fee efficiency for different Price T…
dev-jodee Sep 29, 2025
d2db3f6
feat: (PRO-345) Fixed inner instructions (#228)
dev-jodee Sep 30, 2025
8d4f172
feat: (PRO-412) Cap max body size per request to prevent potential ov…
dev-jodee Oct 9, 2025
99af386
feat: (PRO-407) Use solana-signers crate instead of custom Kora Signe…
dev-jodee Oct 10, 2025
ef8fc5a
chore: (PRO-411) (PRO-415) Clean up and sanitize DEBUG macros, logger…
dev-jodee Oct 10, 2025
5a61ea1
feat: (PRO-413) Enhance fee payer outflow calculation to include SPL …
dev-jodee Oct 15, 2025
4319320
feat: (PRO-439) (PRO-440) Method validation for allowed methods to er…
dev-jodee Oct 16, 2025
33837b7
Allowed methods middleware is (#235)
dev-jodee Oct 17, 2025
8a46b97
feat: (PRO-414) Extend fee payer policy to include additional SPL and…
dev-jodee Oct 21, 2025
6881923
chore: Updated Kora signers crate (#237)
dev-jodee Oct 23, 2025
6b1dd87
feat: Enhance payment instruction analysis and transfer fee calculati…
dev-jodee Oct 23, 2025
5af3b80
Bugfix/audit report missing fixes (#240)
dev-jodee Oct 27, 2025
3806a88
refactor: Removed sign_transaction_if_paid, and now sign_transaction …
dev-jodee Oct 28, 2025
def0e43
chore: Update dependencies and refactor token interfaces (update to v…
dev-jodee Oct 28, 2025
d1bf945
chore: audit documentation (#243)
amilz Oct 29, 2025
b39c36e
Feat/improved warnings for cli configs (#244)
dev-jodee Oct 29, 2025
26ff2e1
bgufix: Update uncompile_instructions to prevent index out of bounds …
dev-jodee Oct 29, 2025
3b6e988
chore: docs updates (#246)
amilz Oct 31, 2025
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
46 changes: 4 additions & 42 deletions .github/actions/cleanup-test-env/action.yml
Original file line number Diff line number Diff line change
@@ -1,53 +1,15 @@
name: 'Cleanup Test Environment'
description: 'Stop all test processes (Kora RPC, Solana validator, etc.)'
description: 'Kill any remaining test processes (safety net for test runner failures)'

runs:
using: 'composite'
steps:
- name: Stop test processes
- name: Kill remaining processes
shell: bash
if: always()
run: |
echo "🧹 Cleaning up test environment..."

# Stop Kora RPC server using saved PID
if [ -f /tmp/kora_pid ]; then
KORA_PID=$(cat /tmp/kora_pid)
if [ ! -z "$KORA_PID" ]; then
echo "Stopping Kora RPC server (PID: $KORA_PID)"
kill $KORA_PID 2>/dev/null || true
fi
rm -f /tmp/kora_pid
fi

# Stop using environment variable as fallback
if [ ! -z "$KORA_PID" ]; then
echo "Stopping Kora RPC server (ENV PID: $KORA_PID)"
kill $KORA_PID 2>/dev/null || true
fi

# Stop Solana validator using saved PID
if [ -f /tmp/validator_pid ]; then
VALIDATOR_PID=$(cat /tmp/validator_pid)
if [ ! -z "$VALIDATOR_PID" ]; then
echo "Stopping Solana validator (PID: $VALIDATOR_PID)"
kill $VALIDATOR_PID 2>/dev/null || true
fi
rm -f /tmp/validator_pid
fi

# Stop using environment variable as fallback
if [ ! -z "$VALIDATOR_PID" ]; then
echo "Stopping Solana validator (ENV PID: $VALIDATOR_PID)"
kill $VALIDATOR_PID 2>/dev/null || true
fi

# Kill any remaining processes by name (nuclear option)
echo "Killing any remaining test processes..."
echo "🧹 Safety cleanup of any remaining processes..."
pkill -f "solana-test-validator" 2>/dev/null || true
pkill -f "kora" 2>/dev/null || true

# Wait a moment for processes to stop
sleep 2

sleep 1
echo "✅ Cleanup completed"
45 changes: 45 additions & 0 deletions .github/actions/run-test-runner/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
name: "Run Test Runner"
description: "Execute Kora integration tests using the test runner with specified filters"

inputs:
filters:
description: "Test filters to apply (e.g., '--filter regular --filter auth')"
required: true
verbose:
description: "Enable verbose output"
required: false
default: "true"
rpc-url:
description: "Solana RPC URL to use"
required: false
default: "http://127.0.0.1:8899"
force-refresh:
description: "Force refresh of test accounts"
required: false
default: "false"

runs:
using: "composite"
steps:
- name: Run integration tests with test runner
shell: bash
run: |
echo "🧪 Running integration tests with filters: ${{ inputs.filters }}"

# Build command arguments
ARGS=""
if [ "${{ inputs.verbose }}" = "true" ]; then
ARGS="$ARGS --verbose"
fi
if [ "${{ inputs.force-refresh }}" = "true" ]; then
ARGS="$ARGS --force-refresh"
fi
if [ "${{ inputs.rpc-url }}" != "http://127.0.0.1:8899" ]; then
ARGS="$ARGS --rpc-url ${{ inputs.rpc-url }}"
fi

# Add filters
ARGS="$ARGS ${{ inputs.filters }}"

# Run the test runner
cargo run -p tests --bin test_runner -- $ARGS
112 changes: 0 additions & 112 deletions .github/actions/setup-kora-rpc/action.yml

This file was deleted.

56 changes: 0 additions & 56 deletions .github/actions/setup-solana-validator/action.yml

This file was deleted.

2 changes: 1 addition & 1 deletion .github/badges/coverage.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"schemaVersion": 1, "label": "coverage", "message": "85.5%", "color": "green"}
{"schemaVersion": 1, "label": "coverage", "message": "85.7%", "color": "green"}
52 changes: 52 additions & 0 deletions .github/workflows/build-rust.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
name: Build Rust Artifacts

on:
workflow_call:
inputs:
cache-key:
description: "Cache key suffix for rust cache"
required: true
type: string
artifact-name:
description: "Base name for the uploaded artifact"
required: true
type: string
outputs:
artifact-name:
description: "The actual artifact name with hash suffix"
value: ${{ jobs.build.outputs.artifact-name }}

jobs:
build:
name: Build Rust Artifacts
runs-on: ubuntu-latest
timeout-minutes: 15
outputs:
artifact-name: ${{ inputs.artifact-name }}-${{ steps.source-hash.outputs.hash }}
steps:
- uses: actions/checkout@v4

- uses: dtolnay/rust-toolchain@stable

- uses: Swatinem/rust-cache@v2
with:
shared-key: ${{ inputs.cache-key }}

- name: Calculate source files hash
id: source-hash
run: |
SOURCE_HASH=$(find crates tests Cargo.toml Cargo.lock Makefile makefiles -type f \( -name "*.rs" -o -name "*.toml" -o -name "Makefile" \) -exec sha256sum {} \; | sort | sha256sum | cut -d' ' -f1 | head -c 8)
echo "hash=$SOURCE_HASH" >> $GITHUB_OUTPUT
echo "Source files hash: $SOURCE_HASH"

- name: Build workspace
run: make build

- name: Upload build artifacts
uses: actions/upload-artifact@v4
with:
name: ${{ inputs.artifact-name }}-${{ steps.source-hash.outputs.hash }}
path: |
target/debug/kora
target/debug/test_runner
retention-days: 1
Loading
Loading