-
Notifications
You must be signed in to change notification settings - Fork 4
102 lines (96 loc) · 3.45 KB
/
upgrade-gaia-v17-fresh-interchain.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
---
name: Gaia v17 Upgrade - Fresh State Interchain
on:
# push:
# repository_dispatch:
# types: [new_main_build]
# schedule:
# - cron: '0 10 * * 1-6'
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
# Versions
VERSION_CUTOFF: v16.0.0
TARGET_VERSION: v17
HEIGHLINER_VERSION: "1.5.4"
jobs:
set-version-matrix:
runs-on: ubuntu-22.04
steps:
# Get system info
- run: ifconfig
- run: arp -a
- run: sudo dmidecode
- run: df -h
- run: free -m
- run: uname -a
- run: lsb_release -a
- run: echo "GitHub branch is ${{ github.ref }}"
- run: whoami
- run: pwd
- name: Check out repository code
uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v3
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install requests
- name: Generate starting versions
id: generate-start
run: |
start=$(scripts/generate_version_matrix.py $VERSION_CUTOFF)
echo $start
echo "start_versions=$start" >> $GITHUB_OUTPUT
- name: Setup go
uses: actions/setup-go@v5
with:
cache-dependency-path: |
interchaintests/go.sum
- name: Generate the list of tests
id: generate-tests
run: |
cd interchaintests
test_names=$(go test -list=. ./fresh/... | grep '^Test' | jq -c --raw-input --slurp 'split("\n") | map(select(. != ""))')
echo "$test_names" | tee ../tests.json
- name: Generate upgrade versions
id: generate-upgrade
run: |
upgrade=$(scripts/generate_upgrade_matrix_fresh_interchaintest.py $VERSION_CUTOFF)
echo "upgrade_versions=$upgrade" | tee -a $GITHUB_OUTPUT
outputs:
upgrade_versions: ${{ steps.generate-upgrade.outputs.upgrade_versions }}
test:
needs: set-version-matrix
runs-on: ubuntu-22.04
name: "${{ matrix.test_name }} (${{ matrix.gaia_version }} -> ${{ matrix.upgrade_version }}, ${{ matrix.upgrade_mechanism}}, ${{ matrix.cv_version }})"
strategy:
matrix:
${{fromJson(needs.set-version-matrix.outputs.upgrade_versions)}}
fail-fast: false
max-parallel: 10
steps:
- name: start-version
run: echo ${{matrix.gaia_version}}
- name: target-version
run: echo ${{matrix.upgrade_version}}
- name: Check out repository code
uses: actions/checkout@v3
- name: Setup go
uses: actions/setup-go@v5
with:
cache-dependency-path: |
interchaintests/go.sum
- name: Test ${{ matrix.test_name }}
env:
TEST_START_VERSION: ${{ matrix.gaia_version }}
TEST_UPGRADE_VERSION: ${{ matrix.upgrade_version }}
TEST_TARGET_VERSION: ${{ env.TARGET_VERSION }}
CONTAINER_LOG_TAIL: "150"
run: |
# Horrid hack. It's not in the strangelove repo, and I haven't implemented making it configurable for genesis-transform.
docker pull ghcr.io/hyphacoop/ics:v4.2.0 && docker tag ghcr.io/hyphacoop/ics:v4.2.0 ghcr.io/strangelove-ventures/heighliner/ics:v4.2.0 && docker tag ghcr.io/hyphacoop/ics:v4.2.0 ghcr.io/strangelove-ventures/heighliner/ics:v4.1.1
cd interchaintests
go test -failfast -p 1 -v -timeout 5h -run="^${{ matrix.test_name }}$" ./fresh/...