Skip to content

Commit 4867463

Browse files
authored
Merge branch 'main' into main
2 parents 251c83f + f214a04 commit 4867463

File tree

756 files changed

+52306
-292546
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

756 files changed

+52306
-292546
lines changed

.github/workflows/backtest.yml

Lines changed: 21 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,33 @@
1-
name: Replay Ledgers
1+
name: Backtest
22
on:
33
workflow_call:
44
inputs:
5-
coverage:
6-
type: boolean
7-
default: false
85
machine:
96
type: string
107
default: linux_gcc_zen2
118
extras:
129
type: string
1310
default: "handholding"
11+
script:
12+
type: string
13+
default: src/flamenco/runtime/tests/run_backtest_ci.sh
1414
workflow_dispatch:
15+
inputs:
16+
machine:
17+
type: string
18+
default: linux_gcc_zen2
19+
extras:
20+
type: string
21+
default: "handholding"
22+
script:
23+
type: string
24+
default: src/flamenco/runtime/tests/run_backtest_ci.sh
1525
jobs:
1626
backtest-ledger-replay:
1727
timeout-minutes: 15
18-
runs-on: [self-hosted, 512G]
28+
runs-on:
29+
labels: [self-hosted, 512G]
30+
group: fd-public-repo
1931
env:
2032
CC: gcc
2133
MACHINE: ${{ inputs.machine }}
@@ -33,11 +45,13 @@ jobs:
3345
- uses: ./.github/actions/deps
3446
with:
3547
extras: +dev
48+
3649
- uses: ./.github/actions/hugepages
3750
with:
3851
# DO NOT CHANGE THESE VALUES - increasing the hugetlbfs reservations on the CI runners too high causes other jobs to be OOM-killed
3952
count_gigantic: 398
4053
count_huge: 535
54+
4155
- uses: ./.github/actions/cpusonline
4256

4357
- name: build
@@ -48,12 +62,12 @@ jobs:
4862
run: |
4963
echo OBJDIR=$(make help | grep OBJDIR | awk '{print $4}') >> $GITHUB_ENV
5064
51-
- name: test replay ledgers
65+
- name: run backtest
5266
run: |
5367
sudo $OBJDIR/bin/firedancer-dev configure init keys
5468
sudo prlimit --pid=$$ --nofile=1048576
5569
sudo prlimit --pid=$$ --memlock=unlimited
56-
DUMP_DIR=../dump HUGE_TLBFS_ALLOW_HUGEPAGE_INCREASE=false make run-runtime-backtest
70+
DUMP_DIR=../dump HUGE_TLBFS_ALLOW_HUGEPAGE_INCREASE=false ${{ inputs.script }}
5771
5872
- name: fini
5973
if: always()

.github/workflows/benchmark.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,9 @@ permissions:
2121

2222
jobs:
2323
benchmark:
24-
runs-on: [self-hosted, 512G]
24+
runs-on:
25+
labels: [self-hosted, 512G]
26+
group: fd-public-repo
2527
timeout-minutes: 15
2628
env:
2729
CC: gcc
@@ -59,8 +61,7 @@ jobs:
5961
sudo $OBJDIR/bin/firedancer-dev configure init keys
6062
rm -rf baseline.log
6163
DUMP_DIR=../dump ./src/flamenco/runtime/tests/run_ledger_backtest.sh \
62-
-l mainnet-368528500-perf \
63-
-y 5 -m 2000000 -e 368529500 -c 3.0.0 \
64+
-l mainnet-368528500-perf -y 5 -m 2000000 -e 368529500 \
6465
--log baseline.log --skip-checksum
6566
SPS_BASELINE=$(grep "Backtest playback done." baseline.log | awk -F 'sec/slot: ' '{print $2}')
6667
TOTAL_ELAPSED_BASELINE=$(grep "Backtest playback done." baseline.log | awk -F 'elapsed: ' '{print $2}' | awk '{print $1}')
@@ -88,8 +89,7 @@ jobs:
8889
rm -rf new.log
8990
sudo $OBJDIR/bin/firedancer-dev configure init keys
9091
DUMP_DIR=../dump ./src/flamenco/runtime/tests/run_ledger_backtest.sh \
91-
-l mainnet-368528500-perf \
92-
-y 5 -m 2000000 -e 368529500 -c 3.0.0 \
92+
-l mainnet-368528500-perf -y 5 -m 2000000 -e 368529500 \
9393
--log new.log --skip-checksum
9494
SPS_NEWVAL=$(grep "Backtest playback done." new.log | awk -F 'sec/slot: ' '{print $2}')
9595
TOTAL_ELAPSED_NEWVAL=$(grep "Backtest playback done." new.log | awk -F 'elapsed: ' '{print $2}' | awk '{print $1}')

.github/workflows/builds.yml

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,9 @@ concurrency:
9191
cancel-in-progress: true
9292
jobs:
9393
build_gcc:
94-
runs-on: rocky8
94+
runs-on:
95+
labels: rocky8
96+
group: fd-public-repo
9597
if: ${{ inputs.gcc != 'none' }}
9698
steps:
9799
- uses: actions/checkout@v5
@@ -144,7 +146,9 @@ jobs:
144146
contrib/build.sh --no-rust --no-clang ${{ env.BUILD_ARGS }}
145147
146148
build_clang:
147-
runs-on: rocky9
149+
runs-on:
150+
labels: rocky9
151+
group: fd-public-repo
148152
if: ${{ inputs.clang != 'none' }}
149153
steps:
150154
- uses: actions/checkout@v5
@@ -197,7 +201,9 @@ jobs:
197201
contrib/build.sh --no-rust --no-gcc ${{ env.BUILD_ARGS }}
198202
199203
build_arm:
200-
runs-on: ARM64
204+
runs-on:
205+
labels: ARM64
206+
group: fd-public-repo
201207
if: ${{ inputs.build_arm }}
202208
strategy:
203209
matrix:
@@ -214,5 +220,6 @@ jobs:
214220
if [ "${{ matrix.gcc_version }}" != "8" ]; then
215221
source /opt/rh/gcc-toolset-${{ matrix.gcc_version }}/enable
216222
fi
223+
./deps.sh +dev fetch install
217224
make -j clean
218225
make -j all
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
name: Check Generated Seccomp Files
2+
on:
3+
pull_request:
4+
5+
permissions: {}
6+
7+
jobs:
8+
check-seccomp:
9+
runs-on: ubuntu-latest
10+
timeout-minutes: 2
11+
12+
steps:
13+
- name: Checkout current commit
14+
uses: actions/checkout@v5
15+
with:
16+
fetch-depth: 0
17+
18+
- name: Setup Python environment
19+
run: |
20+
python -m venv venv && venv/bin/pip install edn_format
21+
22+
- name: Check generated seccomp files
23+
run: |
24+
set -e
25+
source venv/bin/activate
26+
make seccomp-policies
27+
if [ -n "$(git status --porcelain)" ]; then
28+
echo "Generated seccomp files are out of date. Please run 'make seccomp-policies' and commit the changes."
29+
git --no-pager diff
30+
exit 1
31+
else
32+
echo "All generated seccomp files are up to date."
33+
fi

.github/workflows/clusterfuzz.yml

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,10 @@ on:
55
jobs:
66
solfuzz-build-and-publish:
77
timeout-minutes: 30
8-
runs-on:
9-
group: github-v1
8+
runs-on: ubuntu-latest
109
env:
11-
MACHINE: linux_clang_haswell
12-
OBJ_DIR: build/linux/clang/haswell
10+
MACHINE: linux_clang_icelake
11+
OBJ_DIR: build/linux/clang/icelake
1312
COV_BUILD_DIR: cov
1413
COV_OBJ_DIR: build/cov
1514
EXTRAS: fuzz # asan
@@ -35,7 +34,7 @@ jobs:
3534
env:
3635
BUILDDIR: ${{ env.COV_BUILD_DIR }}
3736
EXTRAS: fuzz llvm-cov
38-
MACHINE: linux_clang_haswell
37+
MACHINE: linux_clang_icelake
3938
with:
4039
command: cd src && pwd > buildpwd && cd - && make -j -Otarget lib && llvm-config --version | cut -d '.' -f 1 > llvm_version
4140

@@ -56,14 +55,14 @@ jobs:
5655
5756
5857
- name: upload so artifacts
59-
uses: actions/upload-artifact@v4
58+
uses: actions/upload-artifact@v5
6059
with:
6160
path: ${{ env.OBJ_DIR }}/lib/libfd_exec_sol_compat*.so
6261
name: libfd_exec_sol_compat
6362
retention-days: 14
6463

6564
- name: upload .so with cov
66-
uses: actions/upload-artifact@v4
65+
uses: actions/upload-artifact@v5
6766
with:
6867
path: ${{ env.COV_OBJ_DIR }}/lib/libfd_exec_sol_compat* # includes ${{ env.COV_OBJ_DIR}}/lib/libfd_exec_sol_compat_src/
6968
name: libfd_exec_sol_compat_cov
@@ -84,8 +83,7 @@ jobs:
8483
# - machine: linux_clang_icelake
8584
# artifact_dir: build/linux/clang/icelake
8685
# qualifier: highend
87-
runs-on:
88-
group: github-v1
86+
runs-on: ubuntu-latest
8987
env:
9088
MACHINE: ${{ matrix.machine }}
9189
EXTRAS: fuzz asan ubsan
@@ -110,7 +108,7 @@ jobs:
110108
ls ${{ matrix.artifact_dir }}/fuzz-test
111109
ls ${{ matrix.artifact_dir }}/lib
112110
113-
- uses: actions/upload-artifact@v4
111+
- uses: actions/upload-artifact@v5
114112
name: Zip and upload to GitHub Artifacts
115113
id: artifact-zip-m1
116114
with:

.github/workflows/codeql.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ permissions:
1010
jobs:
1111
analyze:
1212
name: Analyze (${{ matrix.language }})
13-
runs-on: 1T
14-
13+
runs-on:
14+
group: fd-public-repo-codeql
1515
strategy:
1616
fail-fast: false
1717
matrix:

.github/workflows/coverage_report.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,9 @@ jobs:
1010
coverage-report:
1111
timeout-minutes: 60
1212
name: Coverage Report
13-
runs-on: icelake
13+
runs-on:
14+
labels: icelake
15+
group: fd-public-repo
1416
environment:
1517
name: coverage-report
1618
url: ${{ vars.COVERAGE_URL }}

.github/workflows/doxygen.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,9 @@ jobs:
77
doxygen:
88
timeout-minutes: 20
99
name: Doxygen
10-
runs-on: rocky810
10+
runs-on:
11+
labels: rocky810
12+
group: fd-public-repo
1113
environment:
1214
name: doxygen
1315
url: ${{ vars.DOXYGEN_URL }}

.github/workflows/on_nightly.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,3 +64,8 @@ jobs:
6464
build_arm: false
6565
clang: none
6666
cid: 6
67+
backtest:
68+
uses: ./.github/workflows/backtest.yml
69+
with:
70+
script: src/flamenco/runtime/tests/run_backtest_all.sh
71+
secrets: inherit

.github/workflows/test_firedancer_localnet.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,9 @@ on:
99
jobs:
1010
firedancer-localnet:
1111
timeout-minutes: 30
12-
runs-on: [self-hosted, 512G]
12+
runs-on:
13+
labels: [self-hosted, 512G]
14+
group: fd-public-repo
1315
env:
1416
CC: gcc
1517
MACHINE: ${{ inputs.machine }}

0 commit comments

Comments
 (0)