-
Notifications
You must be signed in to change notification settings - Fork 44
133 lines (132 loc) · 4.15 KB
/
framework-golden-tests.yml
File metadata and controls
133 lines (132 loc) · 4.15 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
name: Framework Golden Tests Examples
on:
push:
jobs:
test:
defaults:
run:
working-directory: framework/examples/myproject
env:
LOKI_TENANT_ID: promtail
LOKI_URL: http://localhost:3030/loki/api/v1/push
runs-on: ubuntu-latest
permissions:
id-token: write
contents: read
strategy:
fail-fast: false
matrix:
test:
- name: TestSmoke
config: smoke.toml
count: 1
timeout: 10m
- name: TestSmokeLimitedResources
config: smoke_limited_resources.toml
count: 1
timeout: 10m
# Sui client starts to flake and do not respond to healthcheck properly, need to be fixed
# - name: TestSuiSmoke
# config: smoke_sui.toml
# count: 1
# timeout: 10m
- name: TestAptosSmoke
config: smoke_aptos.toml
count: 1
timeout: 10m
- name: TestTRONSmoke
config: smoke_tron.toml
count: 1
timeout: 10m
- name: TestSolanaSmoke
config: smoke_solana.toml
count: 1
timeout: 10m
- name: TestTonSmoke
config: smoke_ton.toml
count: 1
timeout: 10m
- name: TestTonParallel
config: parallel_ton.toml
count: 1
timeout: 10m
- name: TestUpgrade
config: upgrade.toml
count: 1
timeout: 10m
- name: TestPerformanceBaseline
config: performance_baseline.toml
count: 1
timeout: 10m
- name: TestChaos
config: chaos.toml
count: 1
timeout: 10m
- name: TestScalability
config: scalability.toml
count: 1
timeout: 10m
- name: TestLocalS3
config: local_s3.toml
count: 1
timeout: 10m
- name: TestFakes
config: fake.toml
count: 1
timeout: 10m
# TODO: sdlc auth
# - name: TestDockerFakes
# config: fake_docker.toml
# count: 1
# timeout: 10m
name: ${{ matrix.test.name }}
steps:
- name: Checkout repo
uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
- name: Configure AWS credentials using OIDC
uses: aws-actions/configure-aws-credentials@e3dd6a429d7300a6a4c196c26e071d42e0343502 # v4.0.2
with:
role-to-assume: ${{ secrets.PUBLIC_AWS_ECR_ROLE }}
aws-region: us-east-1
- name: Authenticate to ECR Public
id: login-ecr-public
uses: aws-actions/amazon-ecr-login@062b18b96a7aff071d4dc91bc00c4c1a7945b076 # v2.0.1
with:
registry-type: public
- name: Check for changes in Framework
uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
with:
filters: |
src:
- 'framework/**'
- '.github/workflows/framework-golden-tests.yml'
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: '1.24.0'
- name: Cache Go modules
uses: actions/cache@v4
with:
path: |
~/.cache/go-build
~/go/pkg/mod
key: go-modules-${{ hashFiles('framework/examples/myproject/go.sum') }}-${{ runner.os }}-framework-golden-examples
restore-keys: |
go-modules-${{ runner.os }}-framework-golden-examples
go-modules-${{ runner.os }}
- name: Install dependencies
run: go mod download
- name: Run System Tests
if: steps.changes.outputs.src == 'true'
env:
CTF_CONFIGS: ${{ matrix.test.config }}
run: |
go test -timeout ${{ matrix.test.timeout }} -v -count ${{ matrix.test.count }} -run ${{ matrix.test.name }}
- name: Upload Logs
if: always()
uses: actions/upload-artifact@v4
with:
name: container-logs-${{ matrix.test.name }}
path: framework/examples/myproject/logs
retention-days: 1