Skip to content
Closed
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
8d1f52a
use quickstart build pipeline and refined system test build
sreuland Oct 13, 2025
252f48b
use multiple jobs for system-test cache detection
sreuland Oct 13, 2025
20a8b1f
get dynamic repo name for rpc to handle forks
sreuland Oct 13, 2025
8dcc72a
fix gha script error
sreuland Oct 13, 2025
79e442b
fix images json typo
sreuland Oct 13, 2025
c032c12
fix cli ref to be full url
sreuland Oct 13, 2025
62e24fd
fix cli ref url delimiter for remote hash check
sreuland Oct 13, 2025
9327951
split the cli ref url on backslash as delimiter
sreuland Oct 13, 2025
a26a3b1
use ghcr.io for system test image cache
sreuland Oct 13, 2025
65f1d1c
use ghcr.io with tag denoting the system-test cached image
sreuland Oct 13, 2025
e3530f2
revert back to ghcr.io for cache, use read only when forked pr
sreuland Oct 14, 2025
7d70ad5
only allow cache image push to ghcr when non-pr or non-fork pr
sreuland Oct 14, 2025
6254447
only access the ghcr.io for cache image if not a fork or pr
sreuland Oct 14, 2025
c8a12fd
don't include registry name in image name for forked pr's, docker run…
sreuland Oct 14, 2025
a3144e8
refactored e2e to use system-test callable workflow
sreuland Oct 14, 2025
e5d6bac
use system-test branch ref for callable workflow version
sreuland Oct 14, 2025
b7e0255
fixed typo on path to workflow job file
sreuland Oct 14, 2025
394f325
fixed typo on parameter name to workflow for examples repo
sreuland Oct 14, 2025
fa13be6
use callable system-test/test-workflow
sreuland Oct 15, 2025
0498dc4
use dockerhub creds if present to system-test workflow
sreuland Oct 15, 2025
0ceedda
include all possible system-test workflow input variables on e2e config
sreuland Oct 16, 2025
4b65fbc
use udpated input names for soroban examples on workflow
sreuland Oct 16, 2025
c98518a
fixed typo on soroban examples repo input to workflow
sreuland Oct 16, 2025
76becb3
Merge remote-tracking branch 'upstream/main' into use_quickstart_pipe
sreuland Oct 24, 2025
d6b6cce
removed dockerhub secrets
sreuland Oct 25, 2025
bf6bf0b
enable cache write permission on ci workflow for system-test
sreuland Nov 4, 2025
b1bc71c
revert explicit cache write permission, not effective
sreuland Nov 5, 2025
828fe55
update the horizon/friendbot refs for quickstart flow
sreuland Nov 15, 2025
c3655be
update to p24 component versions for e2e
sreuland Nov 17, 2025
7b3c48d
Merge remote-tracking branch 'upstream/main' into use_quickstart_pipe
sreuland Nov 17, 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
141 changes: 25 additions & 116 deletions .github/workflows/e2e.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,126 +2,35 @@ name: Soroban Tools e2e

on:
push:
branches: [ main, release/** ]
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_STELLAR_CLI_REF: https://github.com/stellar/stellar-cli.git\#main
SYSTEM_TEST_STELLAR_RPC_REF: ${{ github.workspace }}/stellar-rpc
SYSTEM_TEST_GO_GIT_REF: https://github.com/stellar/go.git

# 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:23.0.1-2670.050eacf11.focal
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: 14.0.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: v23.0.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#main

# 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: "v22.0.1"
SYSTEM_TEST_SOROBAN_EXAMPLES_GIT_REPO: "https://github.com/stellar/soroban-examples.git"

PROTOCOL_VERSION_DEFAULT: 23
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 stellar cli
with:
repository: stellar/stellar-cli
path: stellar-cli
- 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 \
PROTOCOL_VERSION_DEFAULT=$PROTOCOL_VERSION_DEFAULT \
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 \
STELLAR_CLI_GIT_REF=$SYSTEM_TEST_STELLAR_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 \
GO_GIT_REF=$SYSTEM_TEST_GO_GIT_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
run-system-test:
uses: stellar/system-test/.github/workflows/test-workflow.yml@no_quickstart
with:
stellar-rpc-repo: "${{ github.repository }}"
stellar-rpc-ref: "${{ github.ref }}"
system-test-git-ref: no_quickstart
stellar-cli-repo: stellar/stellar-cli
stellar-cli-ref: v23.2.0
stellar-cli-crate-version: ""
rust-toolchain-version: stable
js-stellar-sdk-npm-version: 14.3.2
js-stellar-sdk-repo: ""
js-stellar-sdk-ref: ""
stellar-xdr-ref: v24.0.0
stellar-core-ref: v24.0.0
# pinned version to stellar-horizon main on Nov 13, 2025 until a rel tag is needed.
horizon-ref: f699b44b41ba8caf15152c99d6cc657123f000ba
# pinned version to friendbot main on Nov 10, 2025 until a rel tag is needed.
friendbot-ref: 46dda42ae8ab0d98dfaeee11e1e026f91ca1f7a4
lab-ref: main
protocol-version: 24
soroban-examples-ref: v23.0.0
soroban-examples-repo: stellar/soroban-examples
test-filter: "^TestDappDevelop$/^.*$"
Loading