-
Notifications
You must be signed in to change notification settings - Fork 21
119 lines (108 loc) · 5.13 KB
/
e2e.yml
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
name: Soroban Tools e2e
on:
push:
branches: [ main, release/** ]
pull_request:
concurrency:
group: ${{ github.workflow }}-${{ github.ref_protected == 'true' && github.sha || github.ref }}
cancel-in-progress: true
jobs:
integration:
name: System tests
strategy:
matrix:
scenario-filter: [ "^TestDappDevelop$/^.*$" ]
runs-on: ubuntu-latest-4-cores
env:
# the gh tag of system-test repo version to run
SYSTEM_TEST_GIT_REF: master
# the soroban CLI & RPC source code to compile and run from system test
# refers to checked out source of current git hub ref context
SYSTEM_TEST_SOROBAN_CLI_REF: https://github.com/stellar/soroban-cli.git\#main
SYSTEM_TEST_STELLAR_RPC_REF: ${{ github.workspace }}/stellar-rpc
# core git ref should be latest commit for stable soroban functionality
# the core bin can either be compiled in-line here as part of ci,
SYSTEM_TEST_CORE_GIT_REF:
SYSTEM_TEST_CORE_COMPILE_CONFIGURE_FLAGS: "--disable-tests"
# or set SYSTEM_TEST_CORE_GIT_REF to empty, and set SYSTEM_TEST_CORE_IMAGE
# to pull a pre-compiled image from dockerhub instead
SYSTEM_TEST_CORE_IMAGE: stellar/stellar-core:21
SYSTEM_TEST_CORE_IMAGE_BIN_PATH: /usr/bin/stellar-core
# sets the version of rust toolchain that will be pre-installed in the
# test runtime environment, tests invoke rustc/cargo
SYSTEM_TEST_RUST_TOOLCHAIN_VERSION: stable
# set the version of js-stellar-sdk to use, need to choose one of either
# resolution options, using npm release or a gh ref:
#
# option #1, set the version of stellar-sdk based on a npm release version
SYSTEM_TEST_JS_STELLAR_SDK_NPM_VERSION: 12.3.0
# option #2, set the version of stellar-sdk used as a ref to a gh repo if
# a value is set on SYSTEM_TEST_JS_STELLAR_SDK_GH_REPO, it takes
# precedence over any SYSTEM_TEST_JS_STELLAR_SDK_NPM_VERSION
SYSTEM_TEST_JS_STELLAR_SDK_GH_REPO:
SYSTEM_TEST_JS_STELLAR_SDK_GH_REF:
# the version of rs-stellar-xdr to use for quickstart
SYSTEM_TEST_RS_XDR_GIT_REF: v21.2.0
# system test will build quickstart image internally to use for running the service stack
# configured in standalone network mode(core, rpc)
SYSTEM_TEST_QUICKSTART_GIT_REF: https://github.com/stellar/quickstart.git#1a831b2350dd3928b60eb745d0862ee19dd2aaaa
# triggers system test to log out details from quickstart's logs and test steps
SYSTEM_TEST_VERBOSE_OUTPUT: "true"
# the soroban test cases will compile various contracts from the examples repo
SYSTEM_TEST_SOROBAN_EXAMPLES_GIT_HASH: "v21.6.0"
SYSTEM_TEST_SOROBAN_EXAMPLES_GIT_REPO: "https://github.com/stellar/soroban-examples.git"
steps:
- uses: actions/checkout@v4
name: checkout system-test
with:
repository: stellar/system-test
ref: ${{ env.SYSTEM_TEST_GIT_REF }}
path: system-test
- uses: actions/checkout@v4
name: checkout soroban-tools
with:
repository: stellar/soroban-tools
path: soroban-tools
- uses: actions/checkout@v4
name: checkout stellar-rpc
with:
repository: stellar/stellar-rpc
path: stellar-rpc
- if: ${{ env.SYSTEM_TEST_JS_STELLAR_SDK_GH_REPO != ''}}
name: prepare local js-stellar-sdk
run: |
rm -rf $GITHUB_WORKSPACE/system-test/js-stellar-sdk;
- if: ${{ env.SYSTEM_TEST_JS_STELLAR_SDK_GH_REPO != ''}}
uses: actions/checkout@v4
with:
repository: ${{ env.SYSTEM_TEST_JS_STELLAR_SDK_GH_REPO }}
ref: ${{ env.SYSTEM_TEST_JS_STELLAR_SDK_GH_REF }}
path: system-test/js-stellar-sdk
- uses: stellar/actions/rust-cache@main
- name: Build system test with component versions
run: |
cd $GITHUB_WORKSPACE/system-test
if [ -z "$SYSTEM_TEST_JS_STELLAR_SDK_GH_REPO" ]; then \
JS_STELLAR_SDK_REF="$SYSTEM_TEST_JS_STELLAR_SDK_NPM_VERSION"; \
else \
JS_STELLAR_SDK_REF="file:/home/tester/js-stellar-sdk"; \
fi
make \
CORE_GIT_REF=$SYSTEM_TEST_CORE_GIT_REF \
CORE_COMPILE_CONFIGURE_FLAGS="$SYSTEM_TEST_CORE_COMPILE_CONFIGURE_FLAGS" \
CORE_IMAGE=$SYSTEM_TEST_CORE_IMAGE \
CORE_IMAGE_BIN_PATH=$SYSTEM_TEST_CORE_IMAGE_BIN_PATH \
STELLAR_RPC_GIT_REF=$SYSTEM_TEST_STELLAR_RPC_REF \
SOROBAN_CLI_GIT_REF=$SYSTEM_TEST_SOROBAN_CLI_REF \
RUST_TOOLCHAIN_VERSION=$SYSTEM_TEST_RUST_TOOLCHAIN_VERSION \
RS_XDR_GIT_REF=$SYSTEM_TEST_RS_XDR_GIT_REF \
QUICKSTART_GIT_REF=$SYSTEM_TEST_QUICKSTART_GIT_REF \
JS_STELLAR_SDK_NPM_VERSION=$JS_STELLAR_SDK_REF \
build
- name: Run system test scenarios
run: |
docker run --rm -t --name e2e_test stellar/system-test:dev \
--VerboseOutput $SYSTEM_TEST_VERBOSE_OUTPUT \
--TestFilter "${{ matrix.scenario-filter }}" \
--SorobanExamplesGitHash $SYSTEM_TEST_SOROBAN_EXAMPLES_GIT_HASH \
--SorobanExamplesRepoURL $SYSTEM_TEST_SOROBAN_EXAMPLES_GIT_REPO