Skip to content

Commit

Permalink
Build GNU C library for Arm and x86 in parallel
Browse files Browse the repository at this point in the history
  • Loading branch information
sgerrand committed Jun 25, 2024
1 parent c100914 commit cefd005
Showing 1 changed file with 39 additions and 19 deletions.
58 changes: 39 additions & 19 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -1,37 +1,55 @@
version: 2.1
commands:
build-glibc:
description: Compiles GNU C library against a given architecture.
steps:
- run:
command: mkdir -p artefacts
name: Create directory for storing artefacts
- run:
command: docker build . --tag sgerrand/glibc-builder:$CIRCLE_SHA1
name: Create Docker image
- run:
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
name: Build glibc package
- persist_to_workspace:
root: .
paths: artefacts
- store_artifacts:
path: artefacts
executors:
builder:
builder-arm:
docker:
- image: docker:git
environment:
GLIBC_VERSION: 2.39
resource_class: arm.large
working_directory: ~/docker-glibc-builder
builder-x86:
docker:
- image: docker:git
environment:
GLIBC_VERSION: 2.39
resource_class: large
working_directory: ~/docker-glibc-builder
artefact-uploader:
docker:
- image: golang:alpine
resource_class: small
working_directory: ~/docker-glibc-builder
jobs:
build:
executor: builder
build-aarch64:
executor: builder-arm
steps:
- checkout
- setup_remote_docker
- run:
command: mkdir -p artefacts
name: Create directory for storing artefacts
- run:
command: docker build . --tag sgerrand/glibc-builder:$CIRCLE_SHA1
name: Create Docker image
- run:
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
name: Build glibc package
- persist_to_workspace:
root: .
paths: artefacts
- store_artifacts:
path: artefacts
- build-glibc
build-x86_64:
executor: builder-x86
steps:
- checkout
- setup_remote_docker
- build-glibc
upload-main:
executor: artefact-uploader
steps:
Expand All @@ -49,12 +67,14 @@ jobs:
workflows:
build-compile-upload:
jobs:
- build
- build-aarch64
- build-x86_64
- upload-main:
filters:
branches:
only: main
tags:
ignore: /.*/
requires:
- build
- build-aarch64
- build-x86_64

0 comments on commit cefd005

Please sign in to comment.