forked from firedancer-io/firedancer
-
Notifications
You must be signed in to change notification settings - Fork 0
88 lines (78 loc) · 2.26 KB
/
Copy pathbacktest.yml
File metadata and controls
88 lines (78 loc) · 2.26 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
name: Backtest
on:
workflow_call:
inputs:
machine:
type: string
default: linux_gcc_zen2
extras:
type: string
default: handholding
script:
type: string
default: src/flamenco/runtime/tests/run_backtest_ci.sh
timeout:
type: number
default: 90
workflow_dispatch:
inputs:
machine:
type: string
default: linux_gcc_zen2
extras:
type: string
default: handholding
script:
type: string
default: src/flamenco/runtime/tests/run_backtest_ci.sh
timeout:
type: number
default: 60
jobs:
backtest-ledger-replay:
timeout-minutes: ${{ fromJSON(inputs.timeout) }}
runs-on:
labels: [self-hosted, 512G]
group: fd-public-repo
env:
CC: gcc
MACHINE: ${{ inputs.machine }}
EXTRAS: ${{ inputs.extras }}
steps:
- name: cleanup
if: always()
run: |
sudo killall firedancer-dev || true
- uses: actions/checkout@v7
- uses: ./.github/actions/submodule-init
- uses: ./.github/actions/deps
with:
extras: +dev
- uses: ./.github/actions/hugepages
with:
# DO NOT CHANGE THESE VALUES - increasing the hugetlbfs reservations on the CI runners too high causes other jobs to be OOM-killed
count_gigantic: 398
count_huge: 1024
- uses: ./.github/actions/cpusonline
- name: build
run: |
make -j
- name: find OBJDIR
run: |
echo OBJDIR=$(make help | grep OBJDIR | awk '{print $4}') >> $GITHUB_ENV
- name: download ledgers
timeout-minutes: 45
run: |
DUMP_DIR=../dump DOWNLOAD_ONLY=true ${{ inputs.script }}
- name: run backtest
timeout-minutes: 45
run: |
sudo prlimit --pid=$$ --nofile=1048576
sudo prlimit --pid=$$ --memlock=unlimited
sudo $OBJDIR/bin/firedancer-dev configure fini all || true
DUMP_DIR=../dump ${{ inputs.script }}
- name: fini
if: always()
run: |
sudo killall firedancer-dev || true
sudo $OBJDIR/bin/firedancer-dev configure fini all --config ../dump/mainnet-308392063-v2.3.0_backtest.toml || true