-
Notifications
You must be signed in to change notification settings - Fork 37
137 lines (132 loc) · 4.93 KB
/
Copy pathtests.yml
File metadata and controls
137 lines (132 loc) · 4.93 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
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
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
name: RPC Tests
permissions:
contents: read
on:
workflow_dispatch:
push:
branches: [main, release/**]
pull_request:
paths-ignore:
- "docs/site/**"
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
build:
name: build
runs-on: ubuntu-latest
env:
SCCACHE_GHA_ENABLED: "true"
RUSTC_WRAPPER: "sccache"
PKG_CONFIG_PATH: /usr/lib/pkgconfig
CI_CACHE: "/tmp/.cache"
CI_BUILD: "--locked"
steps:
- uses: actions/checkout@v6
- name: Install system dependencies
run: |
sudo apt-get update
sudo apt-get install -y libdbus-1-dev pkg-config libudev-dev
- run: rustup update
- run: rustup target add wasm32v1-none
- uses: taiki-e/install-action@just
- uses: taiki-e/install-action@nextest
- uses: cargo-bins/cargo-binstall@main
- uses: stellar/stellar-cli@v26.0.0
- uses: mozilla-actions/sccache-action@v0.0.10
- run: just build
- run: just build-cli-test-contracts
- name: Create nextest archive
run: cargo nextest archive --archive-file nextest-archive.tar.zst --package stellar-scaffold-cli --package stellar-scaffold-reporter --features integration-tests
- name: Package runtime artifacts
run: |
tar -cf - \
target/debug/stellar-scaffold \
target/debug/stellar-scaffold-reporter \
crates/stellar-scaffold-test/fixtures/soroban-init-boilerplate/target/stellar/local/ \
| zstd -1 -o runtime-artifacts.tar.zst
- name: Upload nextest archive
uses: actions/upload-artifact@v7
with:
name: nextest-archive
path: nextest-archive.tar.zst
retention-days: 1
- name: Upload runtime artifacts
uses: actions/upload-artifact@v7
with:
name: runtime-artifacts
path: runtime-artifacts.tar.zst
retention-days: 1
test:
name: test ${{ matrix.name }}
needs: build
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- name: scaffold-cli (build_clients)
filter: "test-integration-scaffold-build-clients"
- name: scaffold-cli (features)
filter: "test-integration-scaffold-features"
- name: scaffold-cli (examples 1-14)
filter: "test-integration-scaffold-examples-1"
- name: scaffold-cli (examples 15-27)
filter: "test-integration-scaffold-examples-2"
- name: reporter
filter: "test-integration-reporter"
env:
STELLAR_RPC_URL: http://localhost:8000/soroban/rpc
STELLAR_NETWORK_PASSPHRASE: "Standalone Network ; February 2017"
STELLAR_ACCOUNT: default
STELLAR_CONTRACT_ID: core
services:
rpc:
image: stellar/quickstart:testing
ports:
- 8000:8000
env:
ENABLE_LOGS: true
NETWORK: local
ENABLE_SOROBAN_RPC: true
options: >-
--health-cmd "curl --no-progress-meter --fail-with-body -X POST \"http://localhost:8000/soroban/rpc\" -H 'Content-Type: application/json' -d '{\"jsonrpc\":\"2.0\",\"id\":8675309,\"method\":\"getNetwork\"}' && curl --no-progress-meter \"http://localhost:8000/friendbot\" | grep '\"invalid_field\": \"addr\"'"
--health-interval 2s
--health-timeout 5s
--health-retries 50
steps:
- uses: actions/checkout@v6
- uses: taiki-e/install-action@just
- uses: taiki-e/install-action@nextest
- uses: stellar/stellar-cli@v26.0.0
- name: Download nextest archive
uses: actions/download-artifact@v8
with:
name: nextest-archive
- name: Download runtime artifacts
uses: actions/download-artifact@v8
with:
name: runtime-artifacts
- name: Extract runtime artifacts
run: zstd -d runtime-artifacts.tar.zst --stdout | tar xf -
- run: stellar keys generate default --fund
- name: Extract nextest archive
run: |
mkdir -p /tmp/nextest-run
cargo nextest run --archive-file nextest-archive.tar.zst --extract-to /tmp/nextest-run --workspace-remap . --no-run
cp -a /tmp/nextest-run/target/* target/
# If this PR's branch name also exists on the UI monorepo, point the
# degit-based tests at that branch so coordinated cross-repo changes can
# go green before merging.
- name: Resolve UI repo ref
run: |
REF="${{ github.head_ref }}"
if [ -n "$REF" ] && git ls-remote --exit-code --heads \
https://github.com/stellar-scaffold/ui "$REF" >/dev/null 2>&1; then
echo "STELLAR_SCAFFOLD_UI_REPO=stellar-scaffold/ui#$REF" >> "$GITHUB_ENV"
echo "Pinned UI monorepo -> $REF"
else
echo "Using default UI monorepo (main)"
fi
- name: Run tests
run: just ${{ matrix.filter }} true