Skip to content

Commit 4b917ae

Browse files
committed
Add GitHub Actions workflow for Tornado-SVM testnet transactions with performance reporting
1 parent ba8c9fc commit 4b917ae

File tree

6 files changed

+785
-0
lines changed

6 files changed

+785
-0
lines changed

.github/workflows/README.md

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
# Tornado-SVM GitHub Actions Workflows
2+
3+
## Testnet Transaction Metrics Workflow
4+
5+
This workflow automates the process of running Tornado-SVM privacy solution transactions on Solana testnet and generating comprehensive metrics reports.
6+
7+
### Workflow: `tornado_testnet_transaction.yml`
8+
9+
**Purpose:** Execute the complete Tornado-SVM transaction flow on Solana testnet and collect detailed performance metrics.
10+
11+
### Trigger Methods:
12+
13+
1. **Manual Trigger:** Run the workflow on-demand via GitHub UI with configurable parameters
14+
2. **Scheduled Runs:** Automatically runs weekly on Sundays at midnight UTC
15+
3. **Pull Request Trigger:** Runs on PRs to the master branch that modify core files
16+
17+
### Configurable Parameters:
18+
19+
- **Denomination:** Amount of SOL to use in the transaction (default: 1 SOL)
20+
- **Merkle Tree Height:** Height of the Merkle tree for the Tornado instance (default: 20)
21+
- **RPC URL:** Custom Solana RPC URL (defaults to testnet)
22+
23+
### What the Workflow Does:
24+
25+
1. Sets up the Solana toolchain and required dependencies
26+
2. Creates a new Solana wallet and requests an airdrop
27+
3. Deploys the Tornado-SVM program to the Solana testnet
28+
4. Initializes a new Tornado instance
29+
5. Performs a complete deposit and withdrawal flow with zkSNARK proofs
30+
6. Captures detailed metrics at each step including:
31+
- Execution times for each phase
32+
- Transaction signatures
33+
- Compute unit consumption
34+
- Gas fees
35+
- Transaction details
36+
7. Generates a comprehensive markdown report with visualizations
37+
8. Creates a GitHub job summary
38+
9. Uploads all reports and raw metrics as artifacts
39+
40+
### Artifacts Generated:
41+
42+
- **transaction_report.md:** Complete markdown report with all metrics and visualizations
43+
- **metrics/*.json:** Raw JSON data for transaction details
44+
- **metrics/execution_times.txt:** Detailed timing measurements for each phase
45+
46+
### Using the Report:
47+
48+
1. Download the artifact from the completed workflow run
49+
2. Open the markdown report to view all metrics and visualizations
50+
3. The report includes:
51+
- Executive summary
52+
- Configuration details
53+
- Transaction logs
54+
- Detailed metrics for each transaction
55+
- Explorer links for all on-chain activity
56+
- Visualizations of the transaction flow and zkSNARK process
57+
- Solana network stats during the test
58+
59+
### Example Usage
60+
61+
To manually trigger the workflow with custom parameters:
62+
63+
1. Go to the "Actions" tab in the GitHub repository
64+
2. Select "Tornado SVM Testnet Transaction Test" workflow
65+
3. Click "Run workflow"
66+
4. Enter your desired parameters (denomination, Merkle tree height, RPC URL)
67+
5. Click "Run workflow"
68+
6. Once completed, download the artifacts from the workflow run

0 commit comments

Comments
 (0)