From 904162f5e89f83eaf0b174123fd83606f633c746 Mon Sep 17 00:00:00 2001 From: Basit <1305718+mabaasit@users.noreply.github.com> Date: Mon, 3 Jun 2024 16:42:20 +0200 Subject: [PATCH] feat: add support for oraclelinux9 and ubuntu24.04 MONGOSH-1785 (#2003) --- .evergreen.yml | 60 ++++++++++++++++++++++ config/release-package-matrix.js | 10 ++-- scripts/docker/oraclelinux9-rpm.Dockerfile | 11 ++++ scripts/docker/ubuntu24.04-deb.Dockerfile | 13 +++++ 4 files changed, 89 insertions(+), 5 deletions(-) create mode 100644 scripts/docker/oraclelinux9-rpm.Dockerfile create mode 100644 scripts/docker/ubuntu24.04-deb.Dockerfile diff --git a/.evergreen.yml b/.evergreen.yml index 5ecbd412a..36541c031 100644 --- a/.evergreen.yml +++ b/.evergreen.yml @@ -15497,6 +15497,25 @@ tasks: vars: node_js_version: "20.12.2" dockerfile: ubuntu22.04-qemu-deb + - name: pkg_test_docker_deb_x64_ubuntu24_04_deb + tags: ["smoke-test"] + depends_on: + - name: sign_artifact_deb_x64 + variant: "*" + commands: + - func: checkout + - func: get_artifact_url + vars: + package_variant: deb-x64 + signature_tag: signed + - func: write_preload_script + - func: install + vars: + node_js_version: "20.12.2" + - func: test_artifact_docker + vars: + node_js_version: "20.12.2" + dockerfile: ubuntu24.04-deb - name: pkg_test_docker_deb_x64_debian10_deb tags: ["smoke-test"] depends_on: @@ -15706,6 +15725,25 @@ tasks: vars: node_js_version: "20.12.2" dockerfile: suse15-rpm + - name: pkg_test_docker_rpm_x64_oraclelinux9_rpm + tags: ["smoke-test"] + depends_on: + - name: sign_artifact_rpm_x64 + variant: "*" + commands: + - func: checkout + - func: get_artifact_url + vars: + package_variant: rpm-x64 + signature_tag: signed + - func: write_preload_script + - func: install + vars: + node_js_version: "20.12.2" + - func: test_artifact_docker + vars: + node_js_version: "20.12.2" + dockerfile: oraclelinux9-rpm - name: pkg_test_docker_deb_x64_openssl11_ubuntu20_04_deb tags: ["smoke-test"] depends_on: @@ -16105,6 +16143,25 @@ tasks: vars: node_js_version: "20.12.2" dockerfile: ubuntu22.04-qemu-deb + - name: pkg_test_docker_deb_arm64_ubuntu24_04_deb + tags: ["smoke-test"] + depends_on: + - name: sign_artifact_deb_arm64 + variant: "*" + commands: + - func: checkout + - func: get_artifact_url + vars: + package_variant: deb-arm64 + signature_tag: signed + - func: write_preload_script + - func: install + vars: + node_js_version: "20.12.2" + - func: test_artifact_docker + vars: + node_js_version: "20.12.2" + dockerfile: ubuntu24.04-deb - name: pkg_test_docker_deb_arm64_debian10_deb tags: ["smoke-test"] depends_on: @@ -17602,6 +17659,7 @@ buildvariants: - name: pkg_test_docker_deb_x64_ubuntu22_04_deb - name: pkg_test_docker_deb_x64_ubuntu22_04_nohome_deb - name: pkg_test_docker_deb_x64_ubuntu22_04_qemu_deb + - name: pkg_test_docker_deb_x64_ubuntu24_04_deb - name: pkg_test_docker_deb_x64_debian10_deb - name: pkg_test_docker_deb_x64_debian11_deb - name: pkg_test_docker_deb_x64_debian12_deb @@ -17613,6 +17671,7 @@ buildvariants: - name: pkg_test_docker_rpm_x64_fedora34_rpm - name: pkg_test_docker_rpm_x64_suse12_rpm - name: pkg_test_docker_rpm_x64_suse15_rpm + - name: pkg_test_docker_rpm_x64_oraclelinux9_rpm - name: pkg_test_docker_deb_x64_openssl11_ubuntu20_04_deb - name: pkg_test_docker_deb_x64_openssl11_debian10_deb - name: pkg_test_docker_deb_x64_openssl11_debian11_deb @@ -17639,6 +17698,7 @@ buildvariants: - name: pkg_test_docker_deb_arm64_ubuntu22_04_deb - name: pkg_test_docker_deb_arm64_ubuntu22_04_nohome_deb - name: pkg_test_docker_deb_arm64_ubuntu22_04_qemu_deb + - name: pkg_test_docker_deb_arm64_ubuntu24_04_deb - name: pkg_test_docker_deb_arm64_debian10_deb - name: pkg_test_docker_deb_arm64_debian11_deb - name: pkg_test_docker_deb_arm64_debian12_deb diff --git a/config/release-package-matrix.js b/config/release-package-matrix.js index d8348d272..593ca2e93 100644 --- a/config/release-package-matrix.js +++ b/config/release-package-matrix.js @@ -4,8 +4,8 @@ const rhel81AndAbove = ['rhel81', 'rhel82', 'rhel83', 'rhel90'] const rhel80AndAbove = ['rhel80', ...rhel81AndAbove] const rhel72AndAbove = ['rhel72', ...rhel80AndAbove] const al2AndAbove = ['amazon2', 'amazon2023', ...rhel81AndAbove] -const rhel70AndAboveAndRpmBased = ['rhel70', 'rhel71', ...rhel72AndAbove, 'amazon', ...al2AndAbove, 'suse12', 'suse15'] -const ubuntu1804AndAboveAndDebBased = ['ubuntu1804', 'ubuntu1804', 'ubuntu2004', 'ubuntu2204', 'debian10', 'debian11', 'debian12'] +const rhel70AndAboveAndRpmBased = ['rhel70', 'rhel71', ...rhel72AndAbove, 'amazon', ...al2AndAbove, 'suse12', 'suse15', 'oraclelinux9'] +const ubuntu1804AndAboveAndDebBased = ['ubuntu1804', 'ubuntu1804', 'ubuntu2004', 'ubuntu2204', 'ubuntu2404', 'debian10', 'debian11', 'debian12'] const allLinux = [...rhel70AndAboveAndRpmBased, ...ubuntu1804AndAboveAndDebBased] const publicDescriptions = { @@ -48,8 +48,8 @@ exports.RELEASE_PACKAGE_MATRIX = [ kerberosConnectivityTestDockerfiles: [...krbConnTestsOpenSSL11, ...krbConnTestsOpenSSL3], packages: [ { name: 'linux-x64', description: publicDescriptions.linux_x64, packageType: 'tgz', packageOn: 'linux_package', smokeTestKind: 'docker', smokeTestDockerfiles: ['ubuntu20.04-tgz'], serverLikeTargetList: [...allLinux] }, - { name: 'deb-x64', description: publicDescriptions.debian_x64, packageType: 'deb', packageOn: 'linux_package', smokeTestKind: 'docker', smokeTestDockerfiles: ['ubuntu18.04-deb', 'ubuntu20.04-deb', 'ubuntu22.04-deb', 'ubuntu22.04-nohome-deb', 'ubuntu22.04-qemu-deb', 'debian10-deb', 'debian11-deb', 'debian12-deb'], serverLikeTargetList: [...ubuntu1804AndAboveAndDebBased] }, - { name: 'rpm-x64', description: publicDescriptions.rhel_x64, packageType: 'rpm', packageOn: 'linux_package', smokeTestKind: 'docker', smokeTestDockerfiles: ['centos7-rpm', 'amazonlinux2-rpm', 'amazonlinux2023-rpm', 'rocky8-rpm', 'rocky9-rpm', 'fedora34-rpm', 'suse12-rpm', 'suse15-rpm'], serverLikeTargetList: [...rhel70AndAboveAndRpmBased] } + { name: 'deb-x64', description: publicDescriptions.debian_x64, packageType: 'deb', packageOn: 'linux_package', smokeTestKind: 'docker', smokeTestDockerfiles: ['ubuntu18.04-deb', 'ubuntu20.04-deb', 'ubuntu22.04-deb', 'ubuntu22.04-nohome-deb', 'ubuntu22.04-qemu-deb', 'ubuntu24.04-deb', 'debian10-deb', 'debian11-deb', 'debian12-deb'], serverLikeTargetList: [...ubuntu1804AndAboveAndDebBased] }, + { name: 'rpm-x64', description: publicDescriptions.rhel_x64, packageType: 'rpm', packageOn: 'linux_package', smokeTestKind: 'docker', smokeTestDockerfiles: ['centos7-rpm', 'amazonlinux2-rpm', 'amazonlinux2023-rpm', 'rocky8-rpm', 'rocky9-rpm', 'fedora34-rpm', 'suse12-rpm', 'suse15-rpm', 'oraclelinux9-rpm'], serverLikeTargetList: [...rhel70AndAboveAndRpmBased] } ] }, { @@ -78,7 +78,7 @@ exports.RELEASE_PACKAGE_MATRIX = [ kerberosConnectivityTestDockerfiles: [...krbConnTestsOpenSSL11, ...krbConnTestsOpenSSL3], packages: [ { name: 'linux-arm64', description: publicDescriptions.linux_arm64, packageType: 'tgz', packageOn: 'linux_package', smokeTestKind: 'docker', smokeTestDockerfiles: ['ubuntu20.04-tgz'], serverLikeTargetList: [...al2AndAbove] }, - { name: 'deb-arm64', description: publicDescriptions.debian_arm64, packageType: 'deb', packageOn: 'linux_package', smokeTestKind: 'docker', smokeTestDockerfiles: ['ubuntu18.04-deb', 'ubuntu20.04-deb', 'ubuntu22.04-deb', 'ubuntu22.04-nohome-deb', 'ubuntu22.04-qemu-deb', 'debian10-deb', 'debian11-deb', 'debian12-deb'], serverLikeTargetList: [...ubuntu1804AndAboveAndDebBased] }, + { name: 'deb-arm64', description: publicDescriptions.debian_arm64, packageType: 'deb', packageOn: 'linux_package', smokeTestKind: 'docker', smokeTestDockerfiles: ['ubuntu18.04-deb', 'ubuntu20.04-deb', 'ubuntu22.04-deb', 'ubuntu22.04-nohome-deb', 'ubuntu22.04-qemu-deb', 'ubuntu24.04-deb', 'debian10-deb', 'debian11-deb', 'debian12-deb'], serverLikeTargetList: [...ubuntu1804AndAboveAndDebBased] }, { name: 'rpm-arm64', description: publicDescriptions.rhel_arm64, packageType: 'rpm', packageOn: 'linux_package', smokeTestKind: 'docker', smokeTestDockerfiles: ['rocky8-rpm', 'rocky9-rpm', 'fedora34-rpm', 'amazonlinux2-rpm', 'amazonlinux2023-rpm'], serverLikeTargetList: [...al2AndAbove] } ] }, diff --git a/scripts/docker/oraclelinux9-rpm.Dockerfile b/scripts/docker/oraclelinux9-rpm.Dockerfile new file mode 100644 index 000000000..dd3ac2afe --- /dev/null +++ b/scripts/docker/oraclelinux9-rpm.Dockerfile @@ -0,0 +1,11 @@ +FROM oraclelinux:9 + +ARG artifact_url="" +ADD ${artifact_url} /tmp +ADD node_modules /usr/share/mongodb-crypt-library-version/node_modules +RUN yum repolist +RUN yum install -y man +RUN yum install -y /tmp/*mongosh*.rpm +RUN /usr/bin/mongosh --build-info +RUN env MONGOSH_RUN_NODE_SCRIPT=1 mongosh /usr/share/mongodb-crypt-library-version/node_modules/.bin/mongodb-crypt-library-version /usr/lib64/mongosh_crypt_v1.so | grep -Eq '^mongo_(crypt|csfle)_v1-' +ENTRYPOINT [ "mongosh" ] diff --git a/scripts/docker/ubuntu24.04-deb.Dockerfile b/scripts/docker/ubuntu24.04-deb.Dockerfile new file mode 100644 index 000000000..312350b8a --- /dev/null +++ b/scripts/docker/ubuntu24.04-deb.Dockerfile @@ -0,0 +1,13 @@ +FROM ubuntu:24.04 + +ARG artifact_url="" +ADD ${artifact_url} /tmp +ADD node_modules /usr/share/mongodb-crypt-library-version/node_modules +RUN apt-get update +RUN yes | unminimize +RUN apt-get install -y man-db +RUN apt-get install -y /tmp/*mongosh*.deb +RUN /usr/bin/mongosh --build-info +RUN env MONGOSH_RUN_NODE_SCRIPT=1 mongosh /usr/share/mongodb-crypt-library-version/node_modules/.bin/mongodb-crypt-library-version /usr/lib/mongosh_crypt_v1.so | grep -Eq '^mongo_(crypt|csfle)_v1-' +RUN man mongosh | grep -q tlsAllowInvalidCertificates +ENTRYPOINT [ "mongosh" ]