-
Notifications
You must be signed in to change notification settings - Fork 13
78 lines (66 loc) · 2.41 KB
/
Copy pathcross-sdk.yml
File metadata and controls
78 lines (66 loc) · 2.41 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
name: Cross-SDK and load scenarios
# Runs integration-testing/ (interop with the TypeScript, Rust and Python SDKs, plus load runs)
# against this checkout. Deliberately not on push or pull_request: it needs Node, Rust and Python
# toolchains, clones the peer SDKs and takes minutes. It never gates the release workflow.
on:
workflow_dispatch:
inputs:
peers-ref:
description: 'Branch, tag or SHA to test every peer SDK at'
required: false
default: 'main'
peer-overrides:
description: 'Per-peer refs, space separated, e.g. "typescript-sdk=v0.5.0 rust-sdk=v1.2.0"'
required: false
default: ''
schedule:
- cron: '17 4 * * *'
permissions:
contents: read
concurrency:
group: cross-sdk-${{ github.ref }}
cancel-in-progress: false
jobs:
scenarios:
runs-on: ubuntu-latest
timeout-minutes: 45
steps:
- uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4
- name: Set up JDK 17
uses: actions/setup-java@cf277c60eb25467037889841efdb72551f06f6c3 # v4
with:
java-version: '17'
distribution: 'temurin'
cache: maven
- name: Set up Node 20
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
with:
node-version: '20'
- name: Set up Rust stable
uses: dtolnay/rust-toolchain@02cb101ec7c40f2c49e1d9714d64511d8e1b74de # v1
with:
toolchain: stable
- name: Set up Python 3.12
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
with:
python-version: '3.12'
- name: Set up JBang
uses: jbangdev/setup-jbang@2b1b465a7b75f4222b81426f23a01e013aa7b95c # v0.1.1
with:
version: '0.135.1'
setup-java: 'false'
- name: Run every scenario
env:
PEERS_REF: ${{ github.event.inputs.peers-ref || 'main' }}
PEER_OVERRIDES: ${{ github.event.inputs.peer-overrides || '' }}
run: |
args=(--peers-ref "$PEERS_REF")
for o in $PEER_OVERRIDES; do args+=(--peer "$o"); done
integration-testing/scripts/run-all.sh "${args[@]}"
- name: Upload scenario logs
if: always()
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
with:
name: cross-sdk-logs
path: integration-testing/logs/
retention-days: 14