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 diff --git a/.circleci/config.yml b/.circleci/config.yml index 526cdff2ee..72ae740ee1 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: 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: cimg/base:current + - 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: cimg/base:current + - 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: cimg/base:current - resource_class: arm.large + - image: ghcr.io/apollographql/ci-utility-docker-images/apollo-rust-builder:0.1.0 + resource_class: arm.xlarge environment: CARGO_BUILD_JOBS: 8 arm_linux_test: &arm_linux_test_executor docker: - - image: cimg/base:current + - image: ghcr.io/apollographql/ci-utility-docker-images/apollo-rust-builder:0.1.0 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 @@ -223,24 +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: | - 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: @@ -932,7 +913,7 @@ jobs: publish_github_release: docker: - - image: cimg/base:current + - image: ghcr.io/apollographql/ci-utility-docker-images/apollo-rust-builder:0.1.0 resource_class: small environment: <<: *common_job_environment