Skip to content

Commit 85ebad3

Browse files
authored
Merge pull request #61 from sgerrand/ci-build-with-arm
CI: build artefacts for Arm
2 parents 8d56b1d + cefd005 commit 85ebad3

File tree

1 file changed

+39
-19
lines changed

1 file changed

+39
-19
lines changed

.circleci/config.yml

Lines changed: 39 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,31 @@
11
version: 2.1
2+
commands:
3+
build-glibc:
4+
description: Compiles GNU C library against a given architecture.
5+
steps:
6+
- run:
7+
command: mkdir -p artefacts
8+
name: Create directory for storing artefacts
9+
- run:
10+
command: docker build . --tag sgerrand/glibc-builder:$CIRCLE_SHA1
11+
name: Create Docker image
12+
- run:
13+
command: docker run --rm --env GLIBC_VERSION --env STDOUT=1 sgerrand/glibc-builder:$CIRCLE_SHA1 > artefacts/glibc-bin-$GLIBC_VERSION-0-$(uname -m).tar.gz
14+
name: Build glibc package
15+
- persist_to_workspace:
16+
root: .
17+
paths: artefacts
18+
- store_artifacts:
19+
path: artefacts
220
executors:
3-
builder:
21+
builder-arm:
22+
docker:
23+
- image: docker:git
24+
environment:
25+
GLIBC_VERSION: 2.39
26+
resource_class: arm.large
27+
working_directory: ~/docker-glibc-builder
28+
builder-x86:
429
docker:
530
- image: docker:git
631
environment:
@@ -13,25 +38,18 @@ executors:
1338
resource_class: small
1439
working_directory: ~/docker-glibc-builder
1540
jobs:
16-
build:
17-
executor: builder
41+
build-aarch64:
42+
executor: builder-arm
1843
steps:
1944
- checkout
2045
- setup_remote_docker
21-
- run:
22-
command: mkdir -p artefacts
23-
name: Create directory for storing artefacts
24-
- run:
25-
command: docker build . --tag sgerrand/glibc-builder:$CIRCLE_SHA1
26-
name: Create Docker image
27-
- run:
28-
command: docker run --rm --env GLIBC_VERSION --env STDOUT=1 sgerrand/glibc-builder:$CIRCLE_SHA1 > artefacts/glibc-bin-$GLIBC_VERSION-0-$(uname -m).tar.gz
29-
name: Build glibc package
30-
- persist_to_workspace:
31-
root: .
32-
paths: artefacts
33-
- store_artifacts:
34-
path: artefacts
46+
- build-glibc
47+
build-x86_64:
48+
executor: builder-x86
49+
steps:
50+
- checkout
51+
- setup_remote_docker
52+
- build-glibc
3553
upload-main:
3654
executor: artefact-uploader
3755
steps:
@@ -49,12 +67,14 @@ jobs:
4967
workflows:
5068
build-compile-upload:
5169
jobs:
52-
- build
70+
- build-aarch64
71+
- build-x86_64
5372
- upload-main:
5473
filters:
5574
branches:
5675
only: main
5776
tags:
5877
ignore: /.*/
5978
requires:
60-
- build
79+
- build-aarch64
80+
- build-x86_64

0 commit comments

Comments
 (0)