Skip to content

Commit e4ce5ad

Browse files
committed
ci: build linux arm static binaries
1 parent 0344851 commit e4ce5ad

File tree

1 file changed

+66
-0
lines changed

1 file changed

+66
-0
lines changed

.circleci/config.yml

Lines changed: 66 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_small: &base_ubuntu2404_arm_small
614+
docker:
615+
- image: << pipeline.parameters.ubuntu-2404-arm-docker-image >>
616+
resource_class: arm.small
617+
environment: &base_ubuntu2404_arm_small_env
618+
TERM: xterm
619+
MAKEFLAGS: -j 5
620+
CPUs: 5
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 5
629+
CPUs: 5
630+
609631
- base_ubuntu2404_xlarge: &base_ubuntu2404_xlarge
610632
<<: *base_ubuntu2404
611633
resource_class: xlarge
@@ -1072,6 +1094,27 @@ 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-arm-linux
1111+
- run: mv build/solc/solc build/solc/solc-static-arm-linux
1112+
- persist_to_workspace:
1113+
root: build
1114+
paths:
1115+
- solc/solc-static-arm-linux
1116+
- matrix_notify_failure_unless_pr
1117+
10751118
b_ubu_min_req:
10761119
<<: *base_ubuntu2404_large
10771120
steps:
@@ -1770,6 +1813,22 @@ jobs:
17701813
binary_path: "build/solc/Release/solc.exe"
17711814
preset: "<< parameters.preset >>"
17721815

1816+
b_bytecode_ubu_arm:
1817+
parameters:
1818+
preset:
1819+
type: string
1820+
<<: *base_ubuntu2404_arm_small
1821+
parallelism: 2 # For prepare_bytecode_report
1822+
steps:
1823+
- checkout
1824+
- attach_workspace:
1825+
at: build
1826+
- prepare_bytecode_report:
1827+
label: "ubuntu_arm"
1828+
binary_type: native
1829+
binary_path: "build/solc/solc-static-arm-linux"
1830+
preset: "<< parameters.preset >>"
1831+
17731832
b_bytecode_ems:
17741833
parameters:
17751834
preset:
@@ -1910,6 +1969,7 @@ workflows:
19101969

19111970
# Static build
19121971
- b_ubu_static: *requires_nothing
1972+
- b_ubu_static_arm: *requires_nothing
19131973

19141974
# Ubuntu build and tests
19151975
- b_ubu: *requires_nothing
@@ -1990,6 +2050,11 @@ workflows:
19902050
matrix: *bytecode_compare_preset_matrix
19912051
requires:
19922052
- b_ubu
2053+
- b_bytecode_ubu_arm:
2054+
<<: *on_all_tags_and_branches
2055+
matrix: *bytecode_compare_preset_matrix
2056+
requires:
2057+
- b_ubu_static_arm
19932058
- b_bytecode_win:
19942059
<<: *on_all_tags_and_branches
19952060
matrix: *bytecode_compare_preset_matrix
@@ -2015,6 +2080,7 @@ workflows:
20152080
requires:
20162081
- b_bytecode_ubu_static
20172082
- b_bytecode_ubu
2083+
- b_bytecode_ubu_arm
20182084
- b_bytecode_win
20192085
- b_bytecode_osx
20202086
- b_bytecode_osx_intel

0 commit comments

Comments
 (0)