Skip to content

Commit 6dc3fd4

Browse files
committed
ci: build linux arm static binaries
1 parent 8cb16a1 commit 6dc3fd4

File tree

1 file changed

+68
-0
lines changed

1 file changed

+68
-0
lines changed

.circleci/config.yml

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,10 @@ parameters:
1515
type: string
1616
# ghcr.io/argotorg/solidity-buildpack-deps:ubuntu2404-6
1717
default: "ghcr.io/argotorg/solidity-buildpack-deps@sha256:c0412c53e59ce0c96bde4c08e7332ea12e4cadba9bbac829621947897fa21272"
18+
ubuntu-2404-arm-docker-image:
19+
type: string
20+
# ghcr.io/argotorg/solidity-buildpack-deps:ubuntu2404.arm-1
21+
default: "ghcr.io/argotorg/solidity-buildpack-deps@sha256:6cdb928fa8743d0b5d515c2c489b8d545c541f2370af28d5d3a71532056a0f22"
1822
ubuntu-2404-clang-docker-image:
1923
type: string
2024
# ghcr.io/argotorg/solidity-buildpack-deps:ubuntu2404.clang-7
@@ -606,6 +610,24 @@ defaults:
606610
MAKEFLAGS: -j 5
607611
CPUs: 5
608612

613+
- base_ubuntu2404_arm_medium: &base_ubuntu2404_arm_medium
614+
docker:
615+
- image: << pipeline.parameters.ubuntu-2404-arm-docker-image >>
616+
resource_class: arm.medium
617+
environment: &base_ubuntu2404_arm_medium_env
618+
TERM: xterm
619+
MAKEFLAGS: -j 2
620+
CPUs: 2
621+
622+
- base_ubuntu2404_arm_large: &base_ubuntu2404_arm_large
623+
docker:
624+
- image: << pipeline.parameters.ubuntu-2404-arm-docker-image >>
625+
resource_class: arm.large
626+
environment: &base_ubuntu2404_arm_large_env
627+
TERM: xterm
628+
MAKEFLAGS: -j 7
629+
CPUs: 7
630+
609631
- base_ubuntu2404_xlarge: &base_ubuntu2404_xlarge
610632
<<: *base_ubuntu2404
611633
resource_class: xlarge
@@ -1072,6 +1094,29 @@ jobs:
10721094
- solc/solc-static-linux
10731095
- matrix_notify_failure_unless_pr
10741096

1097+
b_ubu_static_arm:
1098+
<<: *base_ubuntu2404_arm_large
1099+
environment:
1100+
<<: *base_ubuntu2404_arm_large_env
1101+
CMAKE_OPTIONS: -DCMAKE_BUILD_TYPE=Release -DSOLC_LINK_STATIC=ON
1102+
steps:
1103+
- checkout
1104+
- run_build
1105+
- run:
1106+
name: strip binary
1107+
command: strip build/solc/solc
1108+
- store_artifacts:
1109+
path: build/solc/solc
1110+
destination: solc-static-linux-arm
1111+
- run: mv build/solc/solc build/solc/solc-static-linux-arm
1112+
- persist_to_workspace:
1113+
root: build
1114+
paths:
1115+
- solc/solc-static-linux-arm
1116+
- test/soltest
1117+
- test/tools/solfuzzer
1118+
- matrix_notify_failure_unless_pr
1119+
10751120
b_ubu_min_req:
10761121
<<: *base_ubuntu2404_large
10771122
steps:
@@ -1770,6 +1815,22 @@ jobs:
17701815
binary_path: "build/solc/Release/solc.exe"
17711816
preset: "<< parameters.preset >>"
17721817

1818+
b_bytecode_ubu_arm:
1819+
parameters:
1820+
preset:
1821+
type: string
1822+
<<: *base_ubuntu2404_arm_medium
1823+
parallelism: 2 # For prepare_bytecode_report
1824+
steps:
1825+
- checkout
1826+
- attach_workspace:
1827+
at: build
1828+
- prepare_bytecode_report:
1829+
label: "ubuntu_arm"
1830+
binary_type: native
1831+
binary_path: "build/solc/solc-static-linux-arm"
1832+
preset: "<< parameters.preset >>"
1833+
17731834
b_bytecode_ems:
17741835
parameters:
17751836
preset:
@@ -1910,6 +1971,7 @@ workflows:
19101971

19111972
# Static build
19121973
- b_ubu_static: *requires_nothing
1974+
- b_ubu_static_arm: *requires_nothing
19131975

19141976
# Ubuntu build and tests
19151977
- b_ubu: *requires_nothing
@@ -1990,6 +2052,11 @@ workflows:
19902052
matrix: *bytecode_compare_preset_matrix
19912053
requires:
19922054
- b_ubu
2055+
- b_bytecode_ubu_arm:
2056+
<<: *on_all_tags_and_branches
2057+
matrix: *bytecode_compare_preset_matrix
2058+
requires:
2059+
- b_ubu_static_arm
19932060
- b_bytecode_win:
19942061
<<: *on_all_tags_and_branches
19952062
matrix: *bytecode_compare_preset_matrix
@@ -2015,6 +2082,7 @@ workflows:
20152082
requires:
20162083
- b_bytecode_ubu_static
20172084
- b_bytecode_ubu
2085+
- b_bytecode_ubu_arm
20182086
- b_bytecode_win
20192087
- b_bytecode_osx
20202088
- b_bytecode_osx_intel

0 commit comments

Comments
 (0)