From f00e47ce7749e7987ee9929ab86d013dc9a4ba25 Mon Sep 17 00:00:00 2001 From: Gary Pennington Date: Wed, 12 Mar 2025 11:48:35 +0000 Subject: [PATCH 01/15] Experiment with 20.04 --- .circleci/config.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 25f8e6174b..f10ccb00c2 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -12,18 +12,18 @@ orbs: executors: amd_linux_build: &amd_linux_build_executor docker: - - image: cimg/base:current + - image: cimg/base:current-20.04 resource_class: xlarge environment: CARGO_BUILD_JOBS: 4 RUST_TEST_THREADS: 6 amd_linux_helm: &amd_linux_helm_executor docker: - - image: cimg/base:current + - image: cimg/base:current-20.04 resource_class: small amd_linux_test: &amd_linux_test_executor docker: - - image: cimg/base:current + - image: cimg/base:current-20.04 - image: cimg/redis:7.4.2 - image: openzipkin/zipkin:3.5.0 - image: ghcr.io/datadog/dd-apm-test-agent/ddapm-test-agent:v1.20.0 @@ -32,13 +32,13 @@ executors: CARGO_BUILD_JOBS: 4 arm_linux_build: &arm_linux_build_executor docker: - - image: cimg/base:current + - image: cimg/base:current-20.04 resource_class: arm.large environment: CARGO_BUILD_JOBS: 8 arm_linux_test: &arm_linux_test_executor docker: - - image: cimg/base:current + - image: cimg/base:current-20.04 resource_class: arm.xlarge environment: CARGO_BUILD_JOBS: 8 @@ -932,7 +932,7 @@ jobs: publish_github_release: docker: - - image: cimg/base:current + - image: cimg/base:current-20.04 resource_class: small environment: <<: *common_job_environment From e1a07b147990cb5a2e6a50a877d29f1964131c7e Mon Sep 17 00:00:00 2001 From: Gary Pennington Date: Wed, 12 Mar 2025 12:17:50 +0000 Subject: [PATCH 02/15] Try using UBI to build on circleCI --- .circleci/config.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index f10ccb00c2..47ce199416 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -12,18 +12,18 @@ orbs: executors: amd_linux_build: &amd_linux_build_executor docker: - - image: cimg/base:current-20.04 + - image: registry.access.redhat.com/ubi9/ubi:9.5-1741600006 resource_class: xlarge environment: CARGO_BUILD_JOBS: 4 RUST_TEST_THREADS: 6 amd_linux_helm: &amd_linux_helm_executor docker: - - image: cimg/base:current-20.04 + - image: registry.access.redhat.com/ubi9/ubi:9.5-1741600006 resource_class: small amd_linux_test: &amd_linux_test_executor docker: - - image: cimg/base:current-20.04 + - image: registry.access.redhat.com/ubi9/ubi:9.5-1741600006 - image: cimg/redis:7.4.2 - image: openzipkin/zipkin:3.5.0 - image: ghcr.io/datadog/dd-apm-test-agent/ddapm-test-agent:v1.20.0 @@ -32,13 +32,13 @@ executors: CARGO_BUILD_JOBS: 4 arm_linux_build: &arm_linux_build_executor docker: - - image: cimg/base:current-20.04 + - image: registry.access.redhat.com/ubi9/ubi:9.5-1741600006 resource_class: arm.large environment: CARGO_BUILD_JOBS: 8 arm_linux_test: &arm_linux_test_executor docker: - - image: cimg/base:current-20.04 + - image: registry.access.redhat.com/ubi9/ubi:9.5-1741600006 resource_class: arm.xlarge environment: CARGO_BUILD_JOBS: 8 @@ -932,7 +932,7 @@ jobs: publish_github_release: docker: - - image: cimg/base:current-20.04 + - image: registry.access.redhat.com/ubi9/ubi:9.5-1741600006 resource_class: small environment: <<: *common_job_environment From 870408f3a4bb41a1ced4cbb6596f0d3f045738d9 Mon Sep 17 00:00:00 2001 From: Gary Pennington Date: Wed, 12 Mar 2025 13:30:20 +0000 Subject: [PATCH 03/15] Try providing a build image based on ubi9 and circle's advice Has various documented utilities: git, make, etc... --- .circleci/config.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 47ce199416..e7c27a2669 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -12,18 +12,18 @@ orbs: executors: amd_linux_build: &amd_linux_build_executor docker: - - image: registry.access.redhat.com/ubi9/ubi:9.5-1741600006 + - image: ghcr.io/apollographql/nightly/router:build resource_class: xlarge environment: CARGO_BUILD_JOBS: 4 RUST_TEST_THREADS: 6 amd_linux_helm: &amd_linux_helm_executor docker: - - image: registry.access.redhat.com/ubi9/ubi:9.5-1741600006 + - image: ghcr.io/apollographql/nightly/router:build resource_class: small amd_linux_test: &amd_linux_test_executor docker: - - image: registry.access.redhat.com/ubi9/ubi:9.5-1741600006 + - image: ghcr.io/apollographql/nightly/router:build - image: cimg/redis:7.4.2 - image: openzipkin/zipkin:3.5.0 - image: ghcr.io/datadog/dd-apm-test-agent/ddapm-test-agent:v1.20.0 @@ -32,13 +32,13 @@ executors: CARGO_BUILD_JOBS: 4 arm_linux_build: &arm_linux_build_executor docker: - - image: registry.access.redhat.com/ubi9/ubi:9.5-1741600006 + - image: ghcr.io/apollographql/nightly/router:build resource_class: arm.large environment: CARGO_BUILD_JOBS: 8 arm_linux_test: &arm_linux_test_executor docker: - - image: registry.access.redhat.com/ubi9/ubi:9.5-1741600006 + - image: ghcr.io/apollographql/nightly/router:build resource_class: arm.xlarge environment: CARGO_BUILD_JOBS: 8 @@ -932,7 +932,7 @@ jobs: publish_github_release: docker: - - image: registry.access.redhat.com/ubi9/ubi:9.5-1741600006 + - image: ghcr.io/apollographql/nightly/router:build resource_class: small environment: <<: *common_job_environment From 8ddb1c4b6b952a4bd612707c2bf39c5743354c49 Mon Sep 17 00:00:00 2001 From: Gary Pennington Date: Wed, 12 Mar 2025 13:55:06 +0000 Subject: [PATCH 04/15] Comment out debian/ubuntu specific stuff --- .circleci/config.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index e7c27a2669..a980222ffd 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -234,12 +234,12 @@ commands: - run: name: Update and install dependencies command: | - if [[ ! -d "$HOME/.deb" ]]; then - mkdir $HOME/.deb - sudo apt-get update - sudo apt-get --download-only -o Dir::Cache="$HOME/.deb" -o Dir::Cache::archives="$HOME/.deb" install build-essential libssl-dev libdw-dev - fi - sudo dpkg -i $HOME/.deb/*.deb + # if [[ ! -d "$HOME/.deb" ]]; then + # mkdir $HOME/.deb + # sudo apt-get update + # sudo apt-get --download-only -o Dir::Cache="$HOME/.deb" -o Dir::Cache::archives="$HOME/.deb" install build-essential libssl-dev libdw-dev + # fi + # sudo dpkg -i $HOME/.deb/*.deb - when: condition: From 965e6adbb5ddbd2cd3c273a95c85b838fafa25ff Mon Sep 17 00:00:00 2001 From: Gary Pennington Date: Wed, 12 Mar 2025 16:12:45 +0000 Subject: [PATCH 05/15] set arm steps to use the arm64 build image It would be nice to have a multi-arch image at some point --- .circleci/config.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index a980222ffd..dd2dd48cd6 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -32,13 +32,13 @@ executors: CARGO_BUILD_JOBS: 4 arm_linux_build: &arm_linux_build_executor docker: - - image: ghcr.io/apollographql/nightly/router:build + - image: ghcr.io/apollographql/nightly/router:build-arm64 resource_class: arm.large environment: CARGO_BUILD_JOBS: 8 arm_linux_test: &arm_linux_test_executor docker: - - image: ghcr.io/apollographql/nightly/router:build + - image: ghcr.io/apollographql/nightly/router:build-arm64 resource_class: arm.xlarge environment: CARGO_BUILD_JOBS: 8 From baa901f2e06101681fda08314f809375f2116074 Mon Sep 17 00:00:00 2001 From: Gary Pennington Date: Wed, 12 Mar 2025 16:18:24 +0000 Subject: [PATCH 06/15] Add dockerfile and fake PC file --- dockerfiles/Dockerfile.builder | 8 ++++++++ dockerfiles/libdw.pc | 18 ++++++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 dockerfiles/Dockerfile.builder create mode 100644 dockerfiles/libdw.pc diff --git a/dockerfiles/Dockerfile.builder b/dockerfiles/Dockerfile.builder new file mode 100644 index 0000000000..5aea1ed1e6 --- /dev/null +++ b/dockerfiles/Dockerfile.builder @@ -0,0 +1,8 @@ +FROM registry.access.redhat.com/ubi9:latest + +RUN dnf -y install git make openssh-clients ca-certificates sudo unzip jq wget gcc g++ elfutils + +RUN wget https://github.com/mikefarah/yq/releases/latest/download/yq_linux_amd64 -O /usr/bin/yq && chmod +x /usr/bin/yq + +# There is no elfutils-devel any longer, so fake a pkgconfig file... :) +ADD libdw.pc /usr/lib64/pkgconfig/libdw.pc diff --git a/dockerfiles/libdw.pc b/dockerfiles/libdw.pc new file mode 100644 index 0000000000..2096900d4f --- /dev/null +++ b/dockerfiles/libdw.pc @@ -0,0 +1,18 @@ +############################################# +##### Pkg-Config file for libdw ##### +############################################# + +prefix=/usr +exec_prefix=${prefix} + +libdir=/usr/lib64 +includedir=/usr/include + +Name: libdw +Version: 0.191-4.el9 +Description: Fake PC file for libdw +Libs: -L${libdir} -ldw-0.191 +Cflags: -I${includedir} + + + From bcf9aa46c16edaf8157a7952a111cef68536a2cc Mon Sep 17 00:00:00 2001 From: Gary Pennington Date: Thu, 17 Apr 2025 15:39:57 +0100 Subject: [PATCH 07/15] Try using the new builder image This will need a bit of tweaking, but we have to start somewhere... --- .circleci/config.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 6c0efe6937..7e5e858251 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -12,18 +12,18 @@ orbs: executors: amd_linux_build: &amd_linux_build_executor docker: - - image: ghcr.io/apollographql/nightly/router:build + - image: ghcr.io/apollographql/ci-utility-docker-images/binary-builder-glibc:0.1.4-PR113.b297b9652835c3bb7735af8eb248f67989dc9737 resource_class: xlarge environment: CARGO_BUILD_JOBS: 4 RUST_TEST_THREADS: 6 amd_linux_helm: &amd_linux_helm_executor docker: - - image: ghcr.io/apollographql/nightly/router:build + - image: ghcr.io/apollographql/ci-utility-docker-images/binary-builder-glibc:0.1.4-PR113.b297b9652835c3bb7735af8eb248f67989dc9737 resource_class: small amd_linux_test: &amd_linux_test_executor docker: - - image: ghcr.io/apollographql/nightly/router:build + - image: ghcr.io/apollographql/ci-utility-docker-images/binary-builder-glibc:0.1.4-PR113.b297b9652835c3bb7735af8eb248f67989dc9737 - image: cimg/redis:7.4.2 - image: openzipkin/zipkin:3.5.0 - image: ghcr.io/datadog/dd-apm-test-agent/ddapm-test-agent:v1.21.1 @@ -32,13 +32,13 @@ executors: CARGO_BUILD_JOBS: 4 arm_linux_build: &arm_linux_build_executor docker: - - image: ghcr.io/apollographql/nightly/router:build-arm64 + - image: ghcr.io/apollographql/ci-utility-docker-images/binary-builder-glibc:0.1.4-PR113.b297b9652835c3bb7735af8eb248f67989dc9737-arm64 resource_class: arm.large environment: CARGO_BUILD_JOBS: 8 arm_linux_test: &arm_linux_test_executor docker: - - image: ghcr.io/apollographql/nightly/router:build-arm64 + - image: ghcr.io/apollographql/ci-utility-docker-images/binary-builder-glibc:0.1.4-PR113.b297b9652835c3bb7735af8eb248f67989dc9737-arm64 resource_class: arm.xlarge environment: CARGO_BUILD_JOBS: 8 @@ -130,7 +130,6 @@ commands: - save_cache: key: "<< pipeline.parameters.toolchain_version >>" paths: - - ~/.deb - ~/.cargo - ~/.rustup - ~/.local @@ -234,6 +233,7 @@ commands: - run: name: Update and install dependencies command: | + echo "nothing to do now" # if [[ ! -d "$HOME/.deb" ]]; then # mkdir $HOME/.deb # sudo apt-get update @@ -932,7 +932,7 @@ jobs: publish_github_release: docker: - - image: ghcr.io/apollographql/nightly/router:build + - image: ghcr.io/apollographql/ci-utility-docker-images/binary-builder-glibc:0.1.4-PR113.b297b9652835c3bb7735af8eb248f67989dc9737 resource_class: small environment: <<: *common_job_environment From 240ef03c0b36043f68ca29dfc0ff192f63b70f12 Mon Sep 17 00:00:00 2001 From: Gary Pennington Date: Thu, 17 Apr 2025 16:09:24 +0100 Subject: [PATCH 08/15] Be careful when using sed to update the name of images :) --- .circleci/config.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 7e5e858251..7d2d5034bd 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -32,13 +32,13 @@ executors: CARGO_BUILD_JOBS: 4 arm_linux_build: &arm_linux_build_executor docker: - - image: ghcr.io/apollographql/ci-utility-docker-images/binary-builder-glibc:0.1.4-PR113.b297b9652835c3bb7735af8eb248f67989dc9737-arm64 + - image: ghcr.io/apollographql/ci-utility-docker-images/binary-builder-glibc:0.1.4-PR113.b297b9652835c3bb7735af8eb248f67989dc9737 resource_class: arm.large environment: CARGO_BUILD_JOBS: 8 arm_linux_test: &arm_linux_test_executor docker: - - image: ghcr.io/apollographql/ci-utility-docker-images/binary-builder-glibc:0.1.4-PR113.b297b9652835c3bb7735af8eb248f67989dc9737-arm64 + - image: ghcr.io/apollographql/ci-utility-docker-images/binary-builder-glibc:0.1.4-PR113.b297b9652835c3bb7735af8eb248f67989dc9737 resource_class: arm.xlarge environment: CARGO_BUILD_JOBS: 8 From f008102117323abe17aa4ef703812b1c6fcd4a76 Mon Sep 17 00:00:00 2001 From: Gary Pennington Date: Tue, 22 Apr 2025 09:30:23 +0100 Subject: [PATCH 09/15] Now with added docker --- .circleci/config.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 7d2d5034bd..00cdb9b50b 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -12,18 +12,18 @@ orbs: executors: amd_linux_build: &amd_linux_build_executor docker: - - image: ghcr.io/apollographql/ci-utility-docker-images/binary-builder-glibc:0.1.4-PR113.b297b9652835c3bb7735af8eb248f67989dc9737 + - image: ghcr.io/apollographql/ci-utility-docker-images/binary-builder-glibc:4652bf6 resource_class: xlarge environment: CARGO_BUILD_JOBS: 4 RUST_TEST_THREADS: 6 amd_linux_helm: &amd_linux_helm_executor docker: - - image: ghcr.io/apollographql/ci-utility-docker-images/binary-builder-glibc:0.1.4-PR113.b297b9652835c3bb7735af8eb248f67989dc9737 + - image: ghcr.io/apollographql/ci-utility-docker-images/binary-builder-glibc:4652bf6 resource_class: small amd_linux_test: &amd_linux_test_executor docker: - - image: ghcr.io/apollographql/ci-utility-docker-images/binary-builder-glibc:0.1.4-PR113.b297b9652835c3bb7735af8eb248f67989dc9737 + - image: ghcr.io/apollographql/ci-utility-docker-images/binary-builder-glibc:4652bf6 - image: cimg/redis:7.4.2 - image: openzipkin/zipkin:3.5.0 - image: ghcr.io/datadog/dd-apm-test-agent/ddapm-test-agent:v1.21.1 @@ -32,13 +32,13 @@ executors: CARGO_BUILD_JOBS: 4 arm_linux_build: &arm_linux_build_executor docker: - - image: ghcr.io/apollographql/ci-utility-docker-images/binary-builder-glibc:0.1.4-PR113.b297b9652835c3bb7735af8eb248f67989dc9737 + - image: ghcr.io/apollographql/ci-utility-docker-images/binary-builder-glibc:4652bf6 resource_class: arm.large environment: CARGO_BUILD_JOBS: 8 arm_linux_test: &arm_linux_test_executor docker: - - image: ghcr.io/apollographql/ci-utility-docker-images/binary-builder-glibc:0.1.4-PR113.b297b9652835c3bb7735af8eb248f67989dc9737 + - image: ghcr.io/apollographql/ci-utility-docker-images/binary-builder-glibc:4652bf6 resource_class: arm.xlarge environment: CARGO_BUILD_JOBS: 8 @@ -932,7 +932,7 @@ jobs: publish_github_release: docker: - - image: ghcr.io/apollographql/ci-utility-docker-images/binary-builder-glibc:0.1.4-PR113.b297b9652835c3bb7735af8eb248f67989dc9737 + - image: ghcr.io/apollographql/ci-utility-docker-images/binary-builder-glibc:4652bf6 resource_class: small environment: <<: *common_job_environment From cb42d70748f278b27d0ae50111ebb04f1a742da1 Mon Sep 17 00:00:00 2001 From: Gary Pennington Date: Fri, 25 Apr 2025 13:11:35 +0100 Subject: [PATCH 10/15] Try out the slimmed down image Reduced, I believe, from 5GB to 2GB. --- .circleci/config.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 00cdb9b50b..3d21254123 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -12,18 +12,18 @@ orbs: executors: amd_linux_build: &amd_linux_build_executor docker: - - image: ghcr.io/apollographql/ci-utility-docker-images/binary-builder-glibc:4652bf6 + - image: ghcr.io/apollographql/ci-utility-docker-images/apollo-rust-builder:4720fb1 resource_class: xlarge environment: CARGO_BUILD_JOBS: 4 RUST_TEST_THREADS: 6 amd_linux_helm: &amd_linux_helm_executor docker: - - image: ghcr.io/apollographql/ci-utility-docker-images/binary-builder-glibc:4652bf6 + - image: ghcr.io/apollographql/ci-utility-docker-images/apollo-rust-builder:4720fb1 resource_class: small amd_linux_test: &amd_linux_test_executor docker: - - image: ghcr.io/apollographql/ci-utility-docker-images/binary-builder-glibc:4652bf6 + - image: ghcr.io/apollographql/ci-utility-docker-images/apollo-rust-builder:4720fb1 - image: cimg/redis:7.4.2 - image: openzipkin/zipkin:3.5.0 - image: ghcr.io/datadog/dd-apm-test-agent/ddapm-test-agent:v1.21.1 @@ -32,13 +32,13 @@ executors: CARGO_BUILD_JOBS: 4 arm_linux_build: &arm_linux_build_executor docker: - - image: ghcr.io/apollographql/ci-utility-docker-images/binary-builder-glibc:4652bf6 + - image: ghcr.io/apollographql/ci-utility-docker-images/apollo-rust-builder:4720fb1 resource_class: arm.large environment: CARGO_BUILD_JOBS: 8 arm_linux_test: &arm_linux_test_executor docker: - - image: ghcr.io/apollographql/ci-utility-docker-images/binary-builder-glibc:4652bf6 + - image: ghcr.io/apollographql/ci-utility-docker-images/apollo-rust-builder:4720fb1 resource_class: arm.xlarge environment: CARGO_BUILD_JOBS: 8 @@ -932,7 +932,7 @@ jobs: publish_github_release: docker: - - image: ghcr.io/apollographql/ci-utility-docker-images/binary-builder-glibc:4652bf6 + - image: ghcr.io/apollographql/ci-utility-docker-images/apollo-rust-builder:4720fb1 resource_class: small environment: <<: *common_job_environment From 89849b87a44c27c225a22fdd657106f5fc33a75a Mon Sep 17 00:00:00 2001 From: Gary Pennington Date: Mon, 28 Apr 2025 17:36:58 +0100 Subject: [PATCH 11/15] Update our docker image to release 0.1.0 of the builder We are ready for review if this builds correctly --- .circleci/config.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 3d21254123..53b8030314 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -12,18 +12,18 @@ orbs: executors: amd_linux_build: &amd_linux_build_executor docker: - - image: ghcr.io/apollographql/ci-utility-docker-images/apollo-rust-builder:4720fb1 + - image: ghcr.io/apollographql/ci-utility-docker-images/apollo-rust-builder:0.1.0 resource_class: xlarge environment: CARGO_BUILD_JOBS: 4 RUST_TEST_THREADS: 6 amd_linux_helm: &amd_linux_helm_executor docker: - - image: ghcr.io/apollographql/ci-utility-docker-images/apollo-rust-builder:4720fb1 + - image: ghcr.io/apollographql/ci-utility-docker-images/apollo-rust-builder:0.1.0 resource_class: small amd_linux_test: &amd_linux_test_executor docker: - - image: ghcr.io/apollographql/ci-utility-docker-images/apollo-rust-builder:4720fb1 + - image: ghcr.io/apollographql/ci-utility-docker-images/apollo-rust-builder:0.1.0 - image: cimg/redis:7.4.2 - image: openzipkin/zipkin:3.5.0 - image: ghcr.io/datadog/dd-apm-test-agent/ddapm-test-agent:v1.21.1 @@ -32,13 +32,13 @@ executors: CARGO_BUILD_JOBS: 4 arm_linux_build: &arm_linux_build_executor docker: - - image: ghcr.io/apollographql/ci-utility-docker-images/apollo-rust-builder:4720fb1 + - image: ghcr.io/apollographql/ci-utility-docker-images/apollo-rust-builder:0.1.0 resource_class: arm.large environment: CARGO_BUILD_JOBS: 8 arm_linux_test: &arm_linux_test_executor docker: - - image: ghcr.io/apollographql/ci-utility-docker-images/apollo-rust-builder:4720fb1 + - image: ghcr.io/apollographql/ci-utility-docker-images/apollo-rust-builder:0.1.0 resource_class: arm.xlarge environment: CARGO_BUILD_JOBS: 8 @@ -932,7 +932,7 @@ jobs: publish_github_release: docker: - - image: ghcr.io/apollographql/ci-utility-docker-images/apollo-rust-builder:4720fb1 + - image: ghcr.io/apollographql/ci-utility-docker-images/apollo-rust-builder:0.1.0 resource_class: small environment: <<: *common_job_environment From 9ecf54c4e9f22b0daf06c76da5d27363bc307223 Mon Sep 17 00:00:00 2001 From: Gary Pennington Date: Mon, 28 Apr 2025 19:29:06 +0100 Subject: [PATCH 12/15] Remove the no longer required dockerfile components --- dockerfiles/Dockerfile.builder | 8 -------- dockerfiles/libdw.pc | 18 ------------------ 2 files changed, 26 deletions(-) delete mode 100644 dockerfiles/Dockerfile.builder delete mode 100644 dockerfiles/libdw.pc diff --git a/dockerfiles/Dockerfile.builder b/dockerfiles/Dockerfile.builder deleted file mode 100644 index 5aea1ed1e6..0000000000 --- a/dockerfiles/Dockerfile.builder +++ /dev/null @@ -1,8 +0,0 @@ -FROM registry.access.redhat.com/ubi9:latest - -RUN dnf -y install git make openssh-clients ca-certificates sudo unzip jq wget gcc g++ elfutils - -RUN wget https://github.com/mikefarah/yq/releases/latest/download/yq_linux_amd64 -O /usr/bin/yq && chmod +x /usr/bin/yq - -# There is no elfutils-devel any longer, so fake a pkgconfig file... :) -ADD libdw.pc /usr/lib64/pkgconfig/libdw.pc diff --git a/dockerfiles/libdw.pc b/dockerfiles/libdw.pc deleted file mode 100644 index 2096900d4f..0000000000 --- a/dockerfiles/libdw.pc +++ /dev/null @@ -1,18 +0,0 @@ -############################################# -##### Pkg-Config file for libdw ##### -############################################# - -prefix=/usr -exec_prefix=${prefix} - -libdir=/usr/lib64 -includedir=/usr/include - -Name: libdw -Version: 0.191-4.el9 -Description: Fake PC file for libdw -Libs: -L${libdir} -ldw-0.191 -Cflags: -I${includedir} - - - From 93c2ebc7cf24f6099c69535761dbd82e36bdd6a1 Mon Sep 17 00:00:00 2001 From: Gary Pennington Date: Mon, 28 Apr 2025 19:30:32 +0100 Subject: [PATCH 13/15] Remove no longer required dynamic installation of components --- .circleci/config.yml | 19 ------------------- 1 file changed, 19 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 53b8030314..f64151d7b7 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -222,25 +222,6 @@ commands: platform: type: executor steps: - - when: - condition: - or: - - equal: [ *amd_linux_build_executor, << parameters.platform >> ] - - equal: [ *amd_linux_test_executor, << parameters.platform >> ] - - equal: [ *arm_linux_build_executor, << parameters.platform >> ] - - equal: [ *arm_linux_test_executor, << parameters.platform >> ] - steps: - - run: - name: Update and install dependencies - command: | - echo "nothing to do now" - # if [[ ! -d "$HOME/.deb" ]]; then - # mkdir $HOME/.deb - # sudo apt-get update - # sudo apt-get --download-only -o Dir::Cache="$HOME/.deb" -o Dir::Cache::archives="$HOME/.deb" install build-essential libssl-dev libdw-dev - # fi - # sudo dpkg -i $HOME/.deb/*.deb - - when: condition: or: From ba582b5034bf02228d1ae764ac4757eabc1c1126 Mon Sep 17 00:00:00 2001 From: Gary Pennington Date: Tue, 29 Apr 2025 07:44:32 +0100 Subject: [PATCH 14/15] Add a changeset --- .changesets/maint_garypen_build_base_image.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 .changesets/maint_garypen_build_base_image.md diff --git a/.changesets/maint_garypen_build_base_image.md b/.changesets/maint_garypen_build_base_image.md new file mode 100644 index 0000000000..9f3847ee6e --- /dev/null +++ b/.changesets/maint_garypen_build_base_image.md @@ -0,0 +1,7 @@ +### On linux the router is now compatible with GLIBC 2.28 or newer ([PR #7355](https://github.com/apollographql/router/pull/7355)) + +The default build images provided in our CI environment have a relatively modern version of GLIBC (2.35). This means that on some distributions, notably those based around RedHat, it wasn't possible to use our binaries since the version of GLIBC was older than 2.35. + +We now maintain a build image which is based on a distribution with GLIBC version of 2.28. This is old enough that recent releases of either of the main linux distribution familes (Debian and RedHat) can make use of our binary releases. + +By [@garypen](https://github.com/garypen) in https://github.com/apollographql/router/pull/7355 \ No newline at end of file From 31b13b8c80c79a8e6d869530e7573e3bf73c5abf Mon Sep 17 00:00:00 2001 From: Gary Pennington Date: Tue, 29 Apr 2025 08:26:22 +0100 Subject: [PATCH 15/15] ARM build is 2x slow as other platforms Let's use xlarge to build arm and see if that helps it finish in 10 mins (like the other platforms) rather than 23 mins as it does on large. --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index f64151d7b7..72ae740ee1 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -33,7 +33,7 @@ executors: arm_linux_build: &arm_linux_build_executor docker: - image: ghcr.io/apollographql/ci-utility-docker-images/apollo-rust-builder:0.1.0 - resource_class: arm.large + resource_class: arm.xlarge environment: CARGO_BUILD_JOBS: 8 arm_linux_test: &arm_linux_test_executor