From 7617412bb86cf029998c22b2818e863aa32c3adb Mon Sep 17 00:00:00 2001 From: Anna Henningsen Date: Wed, 18 May 2022 19:01:03 +0200 Subject: [PATCH] feat(build): package shared-openssl mongosh binaries MONGOSH-1224 Adjust the build configuration, and the package build steps, to account for different package names being used in package creation. Extend the packaging and package test matrices to cover shared-openssl artifacts. This does *not* include publishing them as part of the release steps. This also addresses MONGOSH-1213 (Linux arm64 smoke tests are done inside docker now, just like x64) since it proves convenient for testing rpm/deb packages that come with extra dependencies (such as specific OpenSSL versions). Additionally, as a drive-by fix, add Linux x64 and arm64 package smoke testing for the regular (static-OpenSSL) .tgz tarballs. --- .evergreen.yml | 1108 ++++++++++++++--- .evergreen/evergreen.yml.in | 126 +- config/build.conf.js | 30 +- packages/build/src/config/build-variant.ts | 8 +- .../build/src/packaging/package/debian.ts | 13 +- .../packaging/package/package-information.ts | 1 + .../build/src/packaging/package/redhat.ts | 3 +- .../deb-template/{foobar => }/DEBIAN/control | 0 packages/build/test/fixtures/pkgconf.js | 1 + .../{mongodb-mongosh => }/DEBIAN/control | 5 +- .../mongodb-mongosh-shared-openssl11.spec | 1 + .../mongodb-mongosh-shared-openssl3.spec | 1 + .../rpm-template/SPECS/mongodb-mongosh.spec | 2 +- scripts/docker/amazonlinux1-rpm.Dockerfile | 2 +- scripts/docker/amazonlinux2-rpm.Dockerfile | 2 +- scripts/docker/centos7-epel-rpm.Dockerfile | 13 + scripts/docker/centos7-rpm.Dockerfile | 2 +- scripts/docker/debian10-deb.Dockerfile | 2 +- scripts/docker/debian11-deb.Dockerfile | 2 +- scripts/docker/debian9-deb.Dockerfile | 2 +- scripts/docker/fedora34-rpm.Dockerfile | 2 +- scripts/docker/rocky8-epel-rpm.Dockerfile | 15 + scripts/docker/rocky8-rpm.Dockerfile | 6 +- scripts/docker/suse12-rpm.Dockerfile | 2 +- scripts/docker/suse15-rpm.Dockerfile | 2 +- scripts/docker/ubuntu18.04-deb.Dockerfile | 2 +- scripts/docker/ubuntu20.04-deb.Dockerfile | 2 +- scripts/docker/ubuntu20.04-tgz.Dockerfile | 15 +- scripts/docker/ubuntu22.04-deb.Dockerfile | 13 + 29 files changed, 1119 insertions(+), 264 deletions(-) rename packages/build/test/fixtures/deb-template/{foobar => }/DEBIAN/control (100%) rename packaging/deb-template/{mongodb-mongosh => }/DEBIAN/control (60%) create mode 120000 packaging/rpm-template/SPECS/mongodb-mongosh-shared-openssl11.spec create mode 120000 packaging/rpm-template/SPECS/mongodb-mongosh-shared-openssl3.spec create mode 100644 scripts/docker/centos7-epel-rpm.Dockerfile create mode 100644 scripts/docker/rocky8-epel-rpm.Dockerfile create mode 100644 scripts/docker/ubuntu22.04-deb.Dockerfile diff --git a/.evergreen.yml b/.evergreen.yml index 096ea61acd..90716a6cbb 100644 --- a/.evergreen.yml +++ b/.evergreen.yml @@ -7940,6 +7940,78 @@ tasks: vars: node_js_version: "16.15.0" mongosh_server_test_version: "unstable" + - name: e2e_tests_linux_x64_openssl11 + tags: ["e2e-test"] + depends_on: + - name: compile_artifact + variant: linux_x64_build_openssl11 + commands: + - func: checkout + - func: install + vars: + node_js_version: "16.15.0" + npm_deps_mode: cli_build + - func: download_compiled_artifact + vars: + executable_os_id: linux-x64-openssl11 + - func: run_e2e_tests + vars: + node_js_version: "16.15.0" + mongosh_server_test_version: "stable" + - name: e2e_tests_linux_x64_openssl11_unstable + tags: ["e2e-test"] + depends_on: + - name: compile_artifact + variant: linux_x64_build_openssl11 + commands: + - func: checkout + - func: install + vars: + node_js_version: "16.15.0" + npm_deps_mode: cli_build + - func: download_compiled_artifact + vars: + executable_os_id: linux-x64-openssl11 + - func: run_e2e_tests + vars: + node_js_version: "16.15.0" + mongosh_server_test_version: "unstable" + - name: e2e_tests_linux_x64_openssl3 + tags: ["e2e-test"] + depends_on: + - name: compile_artifact + variant: linux_x64_build_openssl3 + commands: + - func: checkout + - func: install + vars: + node_js_version: "16.15.0" + npm_deps_mode: cli_build + - func: download_compiled_artifact + vars: + executable_os_id: linux-x64-openssl3 + - func: run_e2e_tests + vars: + node_js_version: "16.15.0" + mongosh_server_test_version: "stable" + - name: e2e_tests_linux_x64_openssl3_unstable + tags: ["e2e-test"] + depends_on: + - name: compile_artifact + variant: linux_x64_build_openssl3 + commands: + - func: checkout + - func: install + vars: + node_js_version: "16.15.0" + npm_deps_mode: cli_build + - func: download_compiled_artifact + vars: + executable_os_id: linux-x64-openssl3 + - func: run_e2e_tests + vars: + node_js_version: "16.15.0" + mongosh_server_test_version: "unstable" - name: e2e_tests_linux_arm64 tags: ["e2e-test"] depends_on: @@ -7976,6 +8048,42 @@ tasks: vars: node_js_version: "16.15.0" mongosh_server_test_version: "unstable" + - name: e2e_tests_linux_arm64_openssl11 + tags: ["e2e-test"] + depends_on: + - name: compile_artifact + variant: linux_arm64_build_openssl11 + commands: + - func: checkout + - func: install + vars: + node_js_version: "16.15.0" + npm_deps_mode: cli_build + - func: download_compiled_artifact + vars: + executable_os_id: linux-arm64-openssl11 + - func: run_e2e_tests + vars: + node_js_version: "16.15.0" + mongosh_server_test_version: "stable" + - name: e2e_tests_linux_arm64_openssl11_unstable + tags: ["e2e-test"] + depends_on: + - name: compile_artifact + variant: linux_arm64_build_openssl11 + commands: + - func: checkout + - func: install + vars: + node_js_version: "16.15.0" + npm_deps_mode: cli_build + - func: download_compiled_artifact + vars: + executable_os_id: linux-arm64-openssl11 + - func: run_e2e_tests + vars: + node_js_version: "16.15.0" + mongosh_server_test_version: "unstable" - name: e2e_tests_linux_ppc64le tags: ["e2e-test"] depends_on: @@ -8208,6 +8316,111 @@ tasks: node_js_version: "16.15.0" distribution_build_variant: amzn1-x64 executable_os_id: linux-x64 + - name: package_and_upload_artifact_linux_x64_openssl11 + depends_on: + - name: compile_artifact + variant: linux_x64_build_openssl11 + commands: + - func: checkout + - func: install + vars: + npm_deps_mode: cli_build + node_js_version: "16.15.0" + - func: package_and_upload_artifact + vars: + node_js_version: "16.15.0" + distribution_build_variant: linux-x64-openssl11 + executable_os_id: linux-x64-openssl11 + - name: package_and_upload_artifact_debian_x64_openssl11 + depends_on: + - name: compile_artifact + variant: linux_x64_build_openssl11 + commands: + - func: checkout + - func: install + vars: + npm_deps_mode: cli_build + node_js_version: "16.15.0" + - func: package_and_upload_artifact + vars: + node_js_version: "16.15.0" + distribution_build_variant: debian-x64-openssl11 + executable_os_id: linux-x64-openssl11 + - name: package_and_upload_artifact_rhel7_x64_openssl11 + depends_on: + - name: compile_artifact + variant: linux_x64_build_openssl11 + commands: + - func: checkout + - func: install + vars: + npm_deps_mode: cli_build + node_js_version: "16.15.0" + - func: package_and_upload_artifact + vars: + node_js_version: "16.15.0" + distribution_build_variant: rhel7-x64-openssl11 + executable_os_id: linux-x64-openssl11 + - name: package_and_upload_artifact_rhel8_x64_openssl11 + depends_on: + - name: compile_artifact + variant: linux_x64_build_openssl11 + commands: + - func: checkout + - func: install + vars: + npm_deps_mode: cli_build + node_js_version: "16.15.0" + - func: package_and_upload_artifact + vars: + node_js_version: "16.15.0" + distribution_build_variant: rhel8-x64-openssl11 + executable_os_id: linux-x64-openssl11 + - name: package_and_upload_artifact_linux_x64_openssl3 + depends_on: + - name: compile_artifact + variant: linux_x64_build_openssl3 + commands: + - func: checkout + - func: install + vars: + npm_deps_mode: cli_build + node_js_version: "16.15.0" + - func: package_and_upload_artifact + vars: + node_js_version: "16.15.0" + distribution_build_variant: linux-x64-openssl3 + executable_os_id: linux-x64-openssl3 + - name: package_and_upload_artifact_debian_x64_openssl3 + depends_on: + - name: compile_artifact + variant: linux_x64_build_openssl3 + commands: + - func: checkout + - func: install + vars: + npm_deps_mode: cli_build + node_js_version: "16.15.0" + - func: package_and_upload_artifact + vars: + node_js_version: "16.15.0" + distribution_build_variant: debian-x64-openssl3 + executable_os_id: linux-x64-openssl3 + - name: package_and_upload_artifact_rhel8_x64_openssl3 + depends_on: + - name: compile_artifact + variant: linux_x64_build_openssl3 + commands: + - func: checkout + - func: install + vars: + npm_deps_mode: cli_build + node_js_version: "16.15.0" + - func: package_and_upload_artifact + vars: + node_js_version: "16.15.0" + distribution_build_variant: rhel8-x64-openssl3 + executable_os_id: linux-x64-openssl3 - name: package_and_upload_artifact_linux_arm64 depends_on: - name: compile_artifact @@ -8233,169 +8446,685 @@ tasks: vars: npm_deps_mode: cli_build node_js_version: "16.15.0" - - func: package_and_upload_artifact + - func: package_and_upload_artifact + vars: + node_js_version: "16.15.0" + distribution_build_variant: debian-arm64 + executable_os_id: linux-arm64 + - name: package_and_upload_artifact_rhel8_arm64 + depends_on: + - name: compile_artifact + variant: linux_arm64_build + commands: + - func: checkout + - func: install + vars: + npm_deps_mode: cli_build + node_js_version: "16.15.0" + - func: package_and_upload_artifact + vars: + node_js_version: "16.15.0" + distribution_build_variant: rhel8-arm64 + executable_os_id: linux-arm64 + - name: package_and_upload_artifact_amzn2_arm64 + depends_on: + - name: compile_artifact + variant: linux_arm64_build + commands: + - func: checkout + - func: install + vars: + npm_deps_mode: cli_build + node_js_version: "16.15.0" + - func: package_and_upload_artifact + vars: + node_js_version: "16.15.0" + distribution_build_variant: amzn2-arm64 + executable_os_id: linux-arm64 + - name: package_and_upload_artifact_linux_arm64_openssl11 + depends_on: + - name: compile_artifact + variant: linux_arm64_build_openssl11 + commands: + - func: checkout + - func: install + vars: + npm_deps_mode: cli_build + node_js_version: "16.15.0" + - func: package_and_upload_artifact + vars: + node_js_version: "16.15.0" + distribution_build_variant: linux-arm64-openssl11 + executable_os_id: linux-arm64-openssl11 + - name: package_and_upload_artifact_debian_arm64_openssl11 + depends_on: + - name: compile_artifact + variant: linux_arm64_build_openssl11 + commands: + - func: checkout + - func: install + vars: + npm_deps_mode: cli_build + node_js_version: "16.15.0" + - func: package_and_upload_artifact + vars: + node_js_version: "16.15.0" + distribution_build_variant: debian-arm64-openssl11 + executable_os_id: linux-arm64-openssl11 + - name: package_and_upload_artifact_rhel8_arm64_openssl11 + depends_on: + - name: compile_artifact + variant: linux_arm64_build_openssl11 + commands: + - func: checkout + - func: install + vars: + npm_deps_mode: cli_build + node_js_version: "16.15.0" + - func: package_and_upload_artifact + vars: + node_js_version: "16.15.0" + distribution_build_variant: rhel8-arm64-openssl11 + executable_os_id: linux-arm64-openssl11 + - name: package_and_upload_artifact_amzn2_arm64_openssl11 + depends_on: + - name: compile_artifact + variant: linux_arm64_build_openssl11 + commands: + - func: checkout + - func: install + vars: + npm_deps_mode: cli_build + node_js_version: "16.15.0" + - func: package_and_upload_artifact + vars: + node_js_version: "16.15.0" + distribution_build_variant: amzn2-arm64-openssl11 + executable_os_id: linux-arm64-openssl11 + - name: package_and_upload_artifact_linux_ppc64le + depends_on: + - name: compile_artifact + variant: linux_ppc64le_build + commands: + - func: checkout + - func: install + vars: + npm_deps_mode: cli_build + node_js_version: "16.15.0" + - func: package_and_upload_artifact + vars: + node_js_version: "16.15.0" + distribution_build_variant: linux-ppc64le + executable_os_id: linux-ppc64le + - name: package_and_upload_artifact_rhel8_ppc64le + depends_on: + - name: compile_artifact + variant: linux_ppc64le_build + commands: + - func: checkout + - func: install + vars: + npm_deps_mode: cli_build + node_js_version: "16.15.0" + - func: package_and_upload_artifact + vars: + node_js_version: "16.15.0" + distribution_build_variant: rhel8-ppc64le + executable_os_id: linux-ppc64le + - name: package_and_upload_artifact_linux_s390x + depends_on: + - name: compile_artifact + variant: linux_s390x_build + commands: + - func: checkout + - func: install + vars: + npm_deps_mode: cli_build + node_js_version: "16.15.0" + - func: package_and_upload_artifact + vars: + node_js_version: "16.15.0" + distribution_build_variant: linux-s390x + executable_os_id: linux-s390x + - name: package_and_upload_artifact_rhel7_s390x + depends_on: + - name: compile_artifact + variant: linux_s390x_build + commands: + - func: checkout + - func: install + vars: + npm_deps_mode: cli_build + node_js_version: "16.15.0" + - func: package_and_upload_artifact + vars: + node_js_version: "16.15.0" + distribution_build_variant: rhel7-s390x + executable_os_id: linux-s390x + - name: package_and_upload_artifact_win32_x64 + depends_on: + - name: compile_artifact + variant: win32_build + commands: + - func: checkout + - func: install + vars: + npm_deps_mode: cli_build + node_js_version: "16.15.0" + - func: package_and_upload_artifact + vars: + node_js_version: "16.15.0" + distribution_build_variant: win32-x64 + executable_os_id: win32 + - name: package_and_upload_artifact_win32msi_x64 + depends_on: + - name: compile_artifact + variant: win32_build + commands: + - func: checkout + - func: install + vars: + npm_deps_mode: cli_build + node_js_version: "16.15.0" + - func: package_and_upload_artifact + vars: + node_js_version: "16.15.0" + distribution_build_variant: win32msi-x64 + executable_os_id: win32 + + ### + # SMOKE TESTS + ### + - name: pkg_test_macos_darwin_x64 + tags: ["smoke-test"] + depends_on: + - name: package_and_upload_artifact_darwin_x64 + variant: darwin + commands: + - func: checkout + - func: get_artifact_url + vars: + source_distribution_build_variant: darwin-x64 + - func: write_preload_script + - func: test_artifact_macos + - name: pkg_test_macos_darwin_arm64 + tags: ["smoke-test"] + depends_on: + - name: package_and_upload_artifact_darwin_arm64 + variant: darwin + commands: + - func: checkout + - func: get_artifact_url + vars: + source_distribution_build_variant: darwin-arm64 + - func: write_preload_script + - func: test_artifact_macos + - name: pkg_test_docker_linux_x64_ubuntu20_04_tgz + tags: ["smoke-test"] + depends_on: + - name: package_and_upload_artifact_linux_x64 + variant: linux_package + commands: + - func: checkout + - func: get_artifact_url + vars: + source_distribution_build_variant: linux-x64 + - func: write_preload_script + - func: install + vars: + node_js_version: "16.15.0" + npm_deps_mode: cli_build + - func: test_artifact_docker + vars: + node_js_version: "16.15.0" + dockerfile: ubuntu20.04-tgz + - name: pkg_test_docker_debian_x64_ubuntu18_04_deb + tags: ["smoke-test"] + depends_on: + - name: package_and_upload_artifact_debian_x64 + variant: linux_package + commands: + - func: checkout + - func: get_artifact_url + vars: + source_distribution_build_variant: debian-x64 + - func: write_preload_script + - func: install + vars: + node_js_version: "16.15.0" + npm_deps_mode: cli_build + - func: test_artifact_docker + vars: + node_js_version: "16.15.0" + dockerfile: ubuntu18.04-deb + - name: pkg_test_docker_debian_x64_ubuntu20_04_deb + tags: ["smoke-test"] + depends_on: + - name: package_and_upload_artifact_debian_x64 + variant: linux_package + commands: + - func: checkout + - func: get_artifact_url + vars: + source_distribution_build_variant: debian-x64 + - func: write_preload_script + - func: install + vars: + node_js_version: "16.15.0" + npm_deps_mode: cli_build + - func: test_artifact_docker + vars: + node_js_version: "16.15.0" + dockerfile: ubuntu20.04-deb + - name: pkg_test_docker_debian_x64_ubuntu22_04_deb + tags: ["smoke-test"] + depends_on: + - name: package_and_upload_artifact_debian_x64 + variant: linux_package + commands: + - func: checkout + - func: get_artifact_url + vars: + source_distribution_build_variant: debian-x64 + - func: write_preload_script + - func: install + vars: + node_js_version: "16.15.0" + npm_deps_mode: cli_build + - func: test_artifact_docker + vars: + node_js_version: "16.15.0" + dockerfile: ubuntu22.04-deb + - name: pkg_test_docker_debian_x64_debian9_deb + tags: ["smoke-test"] + depends_on: + - name: package_and_upload_artifact_debian_x64 + variant: linux_package + commands: + - func: checkout + - func: get_artifact_url + vars: + source_distribution_build_variant: debian-x64 + - func: write_preload_script + - func: install + vars: + node_js_version: "16.15.0" + npm_deps_mode: cli_build + - func: test_artifact_docker + vars: + node_js_version: "16.15.0" + dockerfile: debian9-deb + - name: pkg_test_docker_debian_x64_debian10_deb + tags: ["smoke-test"] + depends_on: + - name: package_and_upload_artifact_debian_x64 + variant: linux_package + commands: + - func: checkout + - func: get_artifact_url + vars: + source_distribution_build_variant: debian-x64 + - func: write_preload_script + - func: install + vars: + node_js_version: "16.15.0" + npm_deps_mode: cli_build + - func: test_artifact_docker + vars: + node_js_version: "16.15.0" + dockerfile: debian10-deb + - name: pkg_test_docker_debian_x64_debian11_deb + tags: ["smoke-test"] + depends_on: + - name: package_and_upload_artifact_debian_x64 + variant: linux_package + commands: + - func: checkout + - func: get_artifact_url + vars: + source_distribution_build_variant: debian-x64 + - func: write_preload_script + - func: install + vars: + node_js_version: "16.15.0" + npm_deps_mode: cli_build + - func: test_artifact_docker + vars: + node_js_version: "16.15.0" + dockerfile: debian11-deb + - name: pkg_test_docker_rhel7_x64_centos7_rpm + tags: ["smoke-test"] + depends_on: + - name: package_and_upload_artifact_rhel7_x64 + variant: linux_package + commands: + - func: checkout + - func: get_artifact_url + vars: + source_distribution_build_variant: rhel7-x64 + - func: write_preload_script + - func: install + vars: + node_js_version: "16.15.0" + npm_deps_mode: cli_build + - func: test_artifact_docker + vars: + node_js_version: "16.15.0" + dockerfile: centos7-rpm + - name: pkg_test_docker_rhel7_x64_amazonlinux2_rpm + tags: ["smoke-test"] + depends_on: + - name: package_and_upload_artifact_rhel7_x64 + variant: linux_package + commands: + - func: checkout + - func: get_artifact_url + vars: + source_distribution_build_variant: rhel7-x64 + - func: write_preload_script + - func: install + vars: + node_js_version: "16.15.0" + npm_deps_mode: cli_build + - func: test_artifact_docker + vars: + node_js_version: "16.15.0" + dockerfile: amazonlinux2-rpm + - name: pkg_test_docker_rhel8_x64_rocky8_rpm + tags: ["smoke-test"] + depends_on: + - name: package_and_upload_artifact_rhel8_x64 + variant: linux_package + commands: + - func: checkout + - func: get_artifact_url + vars: + source_distribution_build_variant: rhel8-x64 + - func: write_preload_script + - func: install + vars: + node_js_version: "16.15.0" + npm_deps_mode: cli_build + - func: test_artifact_docker + vars: + node_js_version: "16.15.0" + dockerfile: rocky8-rpm + - name: pkg_test_docker_rhel8_x64_fedora34_rpm + tags: ["smoke-test"] + depends_on: + - name: package_and_upload_artifact_rhel8_x64 + variant: linux_package + commands: + - func: checkout + - func: get_artifact_url + vars: + source_distribution_build_variant: rhel8-x64 + - func: write_preload_script + - func: install + vars: + node_js_version: "16.15.0" + npm_deps_mode: cli_build + - func: test_artifact_docker + vars: + node_js_version: "16.15.0" + dockerfile: fedora34-rpm + - name: pkg_test_docker_suse_x64_suse12_rpm + tags: ["smoke-test"] + depends_on: + - name: package_and_upload_artifact_suse_x64 + variant: linux_package + commands: + - func: checkout + - func: get_artifact_url + vars: + source_distribution_build_variant: suse-x64 + - func: write_preload_script + - func: install + vars: + node_js_version: "16.15.0" + npm_deps_mode: cli_build + - func: test_artifact_docker + vars: + node_js_version: "16.15.0" + dockerfile: suse12-rpm + - name: pkg_test_docker_suse_x64_suse15_rpm + tags: ["smoke-test"] + depends_on: + - name: package_and_upload_artifact_suse_x64 + variant: linux_package + commands: + - func: checkout + - func: get_artifact_url + vars: + source_distribution_build_variant: suse-x64 + - func: write_preload_script + - func: install + vars: + node_js_version: "16.15.0" + npm_deps_mode: cli_build + - func: test_artifact_docker + vars: + node_js_version: "16.15.0" + dockerfile: suse15-rpm + - name: pkg_test_docker_amzn1_x64_amazonlinux1_rpm + tags: ["smoke-test"] + depends_on: + - name: package_and_upload_artifact_amzn1_x64 + variant: linux_package + commands: + - func: checkout + - func: get_artifact_url + vars: + source_distribution_build_variant: amzn1-x64 + - func: write_preload_script + - func: install + vars: + node_js_version: "16.15.0" + npm_deps_mode: cli_build + - func: test_artifact_docker vars: node_js_version: "16.15.0" - distribution_build_variant: debian-arm64 - executable_os_id: linux-arm64 - - name: package_and_upload_artifact_rhel8_arm64 + dockerfile: amazonlinux1-rpm + - name: pkg_test_docker_debian_x64_openssl11_ubuntu20_04_deb + tags: ["smoke-test"] depends_on: - - name: compile_artifact - variant: linux_arm64_build + - name: package_and_upload_artifact_debian_x64_openssl11 + variant: linux_package commands: - func: checkout + - func: get_artifact_url + vars: + source_distribution_build_variant: debian-x64-openssl11 + - func: write_preload_script - func: install vars: - npm_deps_mode: cli_build node_js_version: "16.15.0" - - func: package_and_upload_artifact + npm_deps_mode: cli_build + - func: test_artifact_docker vars: node_js_version: "16.15.0" - distribution_build_variant: rhel8-arm64 - executable_os_id: linux-arm64 - - name: package_and_upload_artifact_amzn2_arm64 + dockerfile: ubuntu20.04-deb + - name: pkg_test_docker_debian_x64_openssl11_debian10_deb + tags: ["smoke-test"] depends_on: - - name: compile_artifact - variant: linux_arm64_build + - name: package_and_upload_artifact_debian_x64_openssl11 + variant: linux_package commands: - func: checkout + - func: get_artifact_url + vars: + source_distribution_build_variant: debian-x64-openssl11 + - func: write_preload_script - func: install vars: - npm_deps_mode: cli_build node_js_version: "16.15.0" - - func: package_and_upload_artifact + npm_deps_mode: cli_build + - func: test_artifact_docker vars: node_js_version: "16.15.0" - distribution_build_variant: amzn2-arm64 - executable_os_id: linux-arm64 - - name: package_and_upload_artifact_linux_ppc64le + dockerfile: debian10-deb + - name: pkg_test_docker_debian_x64_openssl11_debian11_deb + tags: ["smoke-test"] depends_on: - - name: compile_artifact - variant: linux_ppc64le_build + - name: package_and_upload_artifact_debian_x64_openssl11 + variant: linux_package commands: - func: checkout + - func: get_artifact_url + vars: + source_distribution_build_variant: debian-x64-openssl11 + - func: write_preload_script - func: install vars: - npm_deps_mode: cli_build node_js_version: "16.15.0" - - func: package_and_upload_artifact + npm_deps_mode: cli_build + - func: test_artifact_docker vars: node_js_version: "16.15.0" - distribution_build_variant: linux-ppc64le - executable_os_id: linux-ppc64le - - name: package_and_upload_artifact_rhel8_ppc64le + dockerfile: debian11-deb + - name: pkg_test_docker_rhel7_x64_openssl11_centos7_epel_rpm + tags: ["smoke-test"] depends_on: - - name: compile_artifact - variant: linux_ppc64le_build + - name: package_and_upload_artifact_rhel7_x64_openssl11 + variant: linux_package commands: - func: checkout + - func: get_artifact_url + vars: + source_distribution_build_variant: rhel7-x64-openssl11 + - func: write_preload_script - func: install vars: - npm_deps_mode: cli_build node_js_version: "16.15.0" - - func: package_and_upload_artifact + npm_deps_mode: cli_build + - func: test_artifact_docker vars: node_js_version: "16.15.0" - distribution_build_variant: rhel8-ppc64le - executable_os_id: linux-ppc64le - - name: package_and_upload_artifact_linux_s390x + dockerfile: centos7-epel-rpm + - name: pkg_test_docker_rhel7_x64_openssl11_amazonlinux2_rpm + tags: ["smoke-test"] depends_on: - - name: compile_artifact - variant: linux_s390x_build + - name: package_and_upload_artifact_rhel7_x64_openssl11 + variant: linux_package commands: - func: checkout + - func: get_artifact_url + vars: + source_distribution_build_variant: rhel7-x64-openssl11 + - func: write_preload_script - func: install vars: - npm_deps_mode: cli_build node_js_version: "16.15.0" - - func: package_and_upload_artifact + npm_deps_mode: cli_build + - func: test_artifact_docker vars: node_js_version: "16.15.0" - distribution_build_variant: linux-s390x - executable_os_id: linux-s390x - - name: package_and_upload_artifact_rhel7_s390x + dockerfile: amazonlinux2-rpm + - name: pkg_test_docker_rhel8_x64_openssl11_rocky8_rpm + tags: ["smoke-test"] depends_on: - - name: compile_artifact - variant: linux_s390x_build + - name: package_and_upload_artifact_rhel8_x64_openssl11 + variant: linux_package commands: - func: checkout + - func: get_artifact_url + vars: + source_distribution_build_variant: rhel8-x64-openssl11 + - func: write_preload_script - func: install vars: - npm_deps_mode: cli_build node_js_version: "16.15.0" - - func: package_and_upload_artifact + npm_deps_mode: cli_build + - func: test_artifact_docker vars: node_js_version: "16.15.0" - distribution_build_variant: rhel7-s390x - executable_os_id: linux-s390x - - name: package_and_upload_artifact_win32_x64 + dockerfile: rocky8-rpm + - name: pkg_test_docker_rhel8_x64_openssl11_fedora34_rpm + tags: ["smoke-test"] depends_on: - - name: compile_artifact - variant: win32_build + - name: package_and_upload_artifact_rhel8_x64_openssl11 + variant: linux_package commands: - func: checkout + - func: get_artifact_url + vars: + source_distribution_build_variant: rhel8-x64-openssl11 + - func: write_preload_script - func: install vars: - npm_deps_mode: cli_build node_js_version: "16.15.0" - - func: package_and_upload_artifact + npm_deps_mode: cli_build + - func: test_artifact_docker vars: node_js_version: "16.15.0" - distribution_build_variant: win32-x64 - executable_os_id: win32 - - name: package_and_upload_artifact_win32msi_x64 + dockerfile: fedora34-rpm + - name: pkg_test_docker_debian_x64_openssl3_ubuntu22_04_deb + tags: ["smoke-test"] depends_on: - - name: compile_artifact - variant: win32_build + - name: package_and_upload_artifact_debian_x64_openssl3 + variant: linux_package commands: - func: checkout + - func: get_artifact_url + vars: + source_distribution_build_variant: debian-x64-openssl3 + - func: write_preload_script - func: install vars: - npm_deps_mode: cli_build node_js_version: "16.15.0" - - func: package_and_upload_artifact + npm_deps_mode: cli_build + - func: test_artifact_docker vars: node_js_version: "16.15.0" - distribution_build_variant: win32msi-x64 - executable_os_id: win32 - - ### - # SMOKE TESTS - ### - - name: pkg_test_macos_darwin_x64 + dockerfile: ubuntu22.04-deb + - name: pkg_test_docker_rhel8_x64_openssl3_rocky8_epel_rpm tags: ["smoke-test"] depends_on: - - name: package_and_upload_artifact_darwin_x64 - variant: darwin + - name: package_and_upload_artifact_rhel8_x64_openssl3 + variant: linux_package commands: - func: checkout - func: get_artifact_url vars: - source_distribution_build_variant: darwin-x64 + source_distribution_build_variant: rhel8-x64-openssl3 - func: write_preload_script - - func: test_artifact_macos - - name: pkg_test_macos_darwin_arm64 + - func: install + vars: + node_js_version: "16.15.0" + npm_deps_mode: cli_build + - func: test_artifact_docker + vars: + node_js_version: "16.15.0" + dockerfile: rocky8-epel-rpm + - name: pkg_test_docker_linux_arm64_ubuntu20_04_tgz tags: ["smoke-test"] depends_on: - - name: package_and_upload_artifact_darwin_arm64 - variant: darwin + - name: package_and_upload_artifact_linux_arm64 + variant: linux_package commands: - func: checkout - func: get_artifact_url vars: - source_distribution_build_variant: darwin-arm64 + source_distribution_build_variant: linux-arm64 - func: write_preload_script - - func: test_artifact_macos - - name: pkg_test_docker_ubuntu18_04_deb + - func: install + vars: + node_js_version: "16.15.0" + npm_deps_mode: cli_build + - func: test_artifact_docker + vars: + node_js_version: "16.15.0" + dockerfile: ubuntu20.04-tgz + - name: pkg_test_docker_debian_arm64_ubuntu18_04_deb tags: ["smoke-test"] depends_on: - - name: package_and_upload_artifact_debian_x64 + - name: package_and_upload_artifact_debian_arm64 variant: linux_package commands: - func: checkout - func: get_artifact_url vars: - source_distribution_build_variant: debian-x64 + source_distribution_build_variant: debian-arm64 - func: write_preload_script - func: install vars: @@ -8405,16 +9134,16 @@ tasks: vars: node_js_version: "16.15.0" dockerfile: ubuntu18.04-deb - - name: pkg_test_docker_ubuntu20_04_deb + - name: pkg_test_docker_debian_arm64_ubuntu20_04_deb tags: ["smoke-test"] depends_on: - - name: package_and_upload_artifact_debian_x64 + - name: package_and_upload_artifact_debian_arm64 variant: linux_package commands: - func: checkout - func: get_artifact_url vars: - source_distribution_build_variant: debian-x64 + source_distribution_build_variant: debian-arm64 - func: write_preload_script - func: install vars: @@ -8424,16 +9153,16 @@ tasks: vars: node_js_version: "16.15.0" dockerfile: ubuntu20.04-deb - - name: pkg_test_docker_debian9_deb + - name: pkg_test_docker_debian_arm64_ubuntu22_04_deb tags: ["smoke-test"] depends_on: - - name: package_and_upload_artifact_debian_x64 + - name: package_and_upload_artifact_debian_arm64 variant: linux_package commands: - func: checkout - func: get_artifact_url vars: - source_distribution_build_variant: debian-x64 + source_distribution_build_variant: debian-arm64 - func: write_preload_script - func: install vars: @@ -8442,17 +9171,17 @@ tasks: - func: test_artifact_docker vars: node_js_version: "16.15.0" - dockerfile: debian9-deb - - name: pkg_test_docker_debian10_deb + dockerfile: ubuntu22.04-deb + - name: pkg_test_docker_debian_arm64_debian10_deb tags: ["smoke-test"] depends_on: - - name: package_and_upload_artifact_debian_x64 + - name: package_and_upload_artifact_debian_arm64 variant: linux_package commands: - func: checkout - func: get_artifact_url vars: - source_distribution_build_variant: debian-x64 + source_distribution_build_variant: debian-arm64 - func: write_preload_script - func: install vars: @@ -8462,16 +9191,16 @@ tasks: vars: node_js_version: "16.15.0" dockerfile: debian10-deb - - name: pkg_test_docker_debian11_deb + - name: pkg_test_docker_debian_arm64_debian11_deb tags: ["smoke-test"] depends_on: - - name: package_and_upload_artifact_debian_x64 + - name: package_and_upload_artifact_debian_arm64 variant: linux_package commands: - func: checkout - func: get_artifact_url vars: - source_distribution_build_variant: debian-x64 + source_distribution_build_variant: debian-arm64 - func: write_preload_script - func: install vars: @@ -8481,16 +9210,16 @@ tasks: vars: node_js_version: "16.15.0" dockerfile: debian11-deb - - name: pkg_test_docker_centos7_rpm + - name: pkg_test_docker_rhel8_arm64_rocky8_rpm tags: ["smoke-test"] depends_on: - - name: package_and_upload_artifact_rhel7_x64 + - name: package_and_upload_artifact_rhel8_arm64 variant: linux_package commands: - func: checkout - func: get_artifact_url vars: - source_distribution_build_variant: rhel7-x64 + source_distribution_build_variant: rhel8-arm64 - func: write_preload_script - func: install vars: @@ -8499,17 +9228,17 @@ tasks: - func: test_artifact_docker vars: node_js_version: "16.15.0" - dockerfile: centos7-rpm - - name: pkg_test_docker_amazonlinux2_rpm + dockerfile: rocky8-rpm + - name: pkg_test_docker_rhel8_arm64_fedora34_rpm tags: ["smoke-test"] depends_on: - - name: package_and_upload_artifact_rhel7_x64 + - name: package_and_upload_artifact_rhel8_arm64 variant: linux_package commands: - func: checkout - func: get_artifact_url vars: - source_distribution_build_variant: rhel7-x64 + source_distribution_build_variant: rhel8-arm64 - func: write_preload_script - func: install vars: @@ -8518,17 +9247,17 @@ tasks: - func: test_artifact_docker vars: node_js_version: "16.15.0" - dockerfile: amazonlinux2-rpm - - name: pkg_test_docker_rocky8_rpm + dockerfile: fedora34-rpm + - name: pkg_test_docker_amzn2_arm64_amazonlinux2_rpm tags: ["smoke-test"] depends_on: - - name: package_and_upload_artifact_rhel8_x64 + - name: package_and_upload_artifact_amzn2_arm64 variant: linux_package commands: - func: checkout - func: get_artifact_url vars: - source_distribution_build_variant: rhel8-x64 + source_distribution_build_variant: amzn2-arm64 - func: write_preload_script - func: install vars: @@ -8537,17 +9266,17 @@ tasks: - func: test_artifact_docker vars: node_js_version: "16.15.0" - dockerfile: rocky8-rpm - - name: pkg_test_docker_fedora34_rpm + dockerfile: amazonlinux2-rpm + - name: pkg_test_docker_debian_arm64_openssl11_ubuntu20_04_deb tags: ["smoke-test"] depends_on: - - name: package_and_upload_artifact_rhel8_x64 + - name: package_and_upload_artifact_debian_arm64_openssl11 variant: linux_package commands: - func: checkout - func: get_artifact_url vars: - source_distribution_build_variant: rhel8-x64 + source_distribution_build_variant: debian-arm64-openssl11 - func: write_preload_script - func: install vars: @@ -8556,17 +9285,17 @@ tasks: - func: test_artifact_docker vars: node_js_version: "16.15.0" - dockerfile: fedora34-rpm - - name: pkg_test_docker_suse12_rpm + dockerfile: ubuntu20.04-deb + - name: pkg_test_docker_debian_arm64_openssl11_debian10_deb tags: ["smoke-test"] depends_on: - - name: package_and_upload_artifact_suse_x64 + - name: package_and_upload_artifact_debian_arm64_openssl11 variant: linux_package commands: - func: checkout - func: get_artifact_url vars: - source_distribution_build_variant: suse-x64 + source_distribution_build_variant: debian-arm64-openssl11 - func: write_preload_script - func: install vars: @@ -8575,17 +9304,17 @@ tasks: - func: test_artifact_docker vars: node_js_version: "16.15.0" - dockerfile: suse12-rpm - - name: pkg_test_docker_suse15_rpm + dockerfile: debian10-deb + - name: pkg_test_docker_debian_arm64_openssl11_debian11_deb tags: ["smoke-test"] depends_on: - - name: package_and_upload_artifact_suse_x64 + - name: package_and_upload_artifact_debian_arm64_openssl11 variant: linux_package commands: - func: checkout - func: get_artifact_url vars: - source_distribution_build_variant: suse-x64 + source_distribution_build_variant: debian-arm64-openssl11 - func: write_preload_script - func: install vars: @@ -8594,17 +9323,17 @@ tasks: - func: test_artifact_docker vars: node_js_version: "16.15.0" - dockerfile: suse15-rpm - - name: pkg_test_docker_amazonlinux1_rpm + dockerfile: debian11-deb + - name: pkg_test_docker_rhel8_arm64_openssl11_rocky8_rpm tags: ["smoke-test"] depends_on: - - name: package_and_upload_artifact_amzn1_x64 + - name: package_and_upload_artifact_rhel8_arm64_openssl11 variant: linux_package commands: - func: checkout - func: get_artifact_url vars: - source_distribution_build_variant: amzn1-x64 + source_distribution_build_variant: rhel8-arm64-openssl11 - func: write_preload_script - func: install vars: @@ -8613,43 +9342,45 @@ tasks: - func: test_artifact_docker vars: node_js_version: "16.15.0" - dockerfile: amazonlinux1-rpm - - name: pkg_test_debextract_debian_arm64 + dockerfile: rocky8-rpm + - name: pkg_test_docker_rhel8_arm64_openssl11_fedora34_rpm tags: ["smoke-test"] depends_on: - - name: package_and_upload_artifact_debian_arm64 + - name: package_and_upload_artifact_rhel8_arm64_openssl11 variant: linux_package commands: - func: checkout - func: get_artifact_url vars: - source_distribution_build_variant: debian-arm64 + source_distribution_build_variant: rhel8-arm64-openssl11 - func: write_preload_script - - func: test_artifact_debextract - - name: pkg_test_rpmextract_rhel8_arm64 - tags: ["smoke-test"] - depends_on: - - name: package_and_upload_artifact_rhel8_arm64 - variant: linux_package - commands: - - func: checkout - - func: get_artifact_url + - func: install vars: - source_distribution_build_variant: rhel8-arm64 - - func: write_preload_script - - func: test_artifact_rpmextract - - name: pkg_test_rpmextract_amzn2_arm64 + node_js_version: "16.15.0" + npm_deps_mode: cli_build + - func: test_artifact_docker + vars: + node_js_version: "16.15.0" + dockerfile: fedora34-rpm + - name: pkg_test_docker_amzn2_arm64_openssl11_amazonlinux2_rpm tags: ["smoke-test"] depends_on: - - name: package_and_upload_artifact_amzn2_arm64 + - name: package_and_upload_artifact_amzn2_arm64_openssl11 variant: linux_package commands: - func: checkout - func: get_artifact_url vars: - source_distribution_build_variant: amzn2-arm64 + source_distribution_build_variant: amzn2-arm64-openssl11 - func: write_preload_script - - func: test_artifact_rpmextract + - func: install + vars: + node_js_version: "16.15.0" + npm_deps_mode: cli_build + - func: test_artifact_docker + vars: + node_js_version: "16.15.0" + dockerfile: amazonlinux2-rpm - name: pkg_test_rpmextract_rhel8_ppc64le tags: ["smoke-test"] depends_on: @@ -8894,8 +9625,6 @@ buildvariants: executable_os_id: darwin-arm64 tasks: - name: compile_artifact - # - name: e2e_tests_darwin_arm64 - # No E2E test for now because there are no server releases to run them against - name: linux_unit display_name: "Ubuntu 18.04 x64 (Unit tests)" @@ -9043,14 +9772,25 @@ buildvariants: - name: package_and_upload_artifact_rhel8_x64 - name: package_and_upload_artifact_suse_x64 - name: package_and_upload_artifact_amzn1_x64 - - name: package_and_upload_artifact_linux_s390x - - name: package_and_upload_artifact_rhel7_s390x + - name: package_and_upload_artifact_linux_x64_openssl11 + - name: package_and_upload_artifact_debian_x64_openssl11 + - name: package_and_upload_artifact_rhel7_x64_openssl11 + - name: package_and_upload_artifact_rhel8_x64_openssl11 + - name: package_and_upload_artifact_linux_x64_openssl3 + - name: package_and_upload_artifact_debian_x64_openssl3 + - name: package_and_upload_artifact_rhel8_x64_openssl3 - name: package_and_upload_artifact_linux_arm64 - name: package_and_upload_artifact_debian_arm64 - name: package_and_upload_artifact_rhel8_arm64 - name: package_and_upload_artifact_amzn2_arm64 + - name: package_and_upload_artifact_linux_arm64_openssl11 + - name: package_and_upload_artifact_debian_arm64_openssl11 + - name: package_and_upload_artifact_rhel8_arm64_openssl11 + - name: package_and_upload_artifact_amzn2_arm64_openssl11 - name: package_and_upload_artifact_linux_ppc64le - name: package_and_upload_artifact_rhel8_ppc64le + - name: package_and_upload_artifact_linux_s390x + - name: package_and_upload_artifact_rhel7_s390x - name: linux_x64_build display_name: "RHEL 7.0 x64 (build)" run_on: rhel70-build @@ -9119,6 +9859,12 @@ buildvariants: run_on: rhel80-small tasks: - name: e2e_tests_linux_x64 + - name: e2e_rhel83_x64 + display_name: "RHEL 8.3 x64 (E2E Tests, FIPS-available OS)" + run_on: rhel83-fips + tasks: + - name: e2e_tests_linux_x64 + - name: e2e_tests_linux_x64_openssl11 - name: e2e_ubuntu1804_x64 display_name: "Ubuntu 18.04 x64 (E2E Tests)" run_on: ubuntu1804-small @@ -9129,6 +9875,7 @@ buildvariants: run_on: ubuntu2004-small tasks: - name: e2e_tests_linux_x64 + - name: e2e_tests_linux_x64_openssl11 - name: e2e_debian9_x64 display_name: "Debian 9 x64 (E2E Tests)" run_on: debian92-small @@ -9139,11 +9886,13 @@ buildvariants: run_on: debian10-small tasks: - name: e2e_tests_linux_x64 + - name: e2e_tests_linux_x64_openssl11 - name: e2e_debian11_x64 display_name: "Debian 11 x64 (E2E Tests)" run_on: debian11-small tasks: - name: e2e_tests_linux_x64_unstable + - name: e2e_tests_linux_x64_openssl11_unstable - name: e2e_amazon1_x64 display_name: "Amazon Linux 1 x64 (E2E Tests)" run_on: amazon1-2018-small @@ -9174,6 +9923,7 @@ buildvariants: run_on: ubuntu2004-arm64-small tasks: - name: e2e_tests_linux_arm64 + - name: e2e_tests_linux_arm64_openssl11 - name: e2e_amazon2_arm64 display_name: "Amazon Linux 2 arm64 (E2E Tests)" run_on: amazon2-arm64-small @@ -9330,22 +10080,52 @@ buildvariants: tasks: - name: compile_artifact - - name: pkg_smoke_tests_docker - display_name: "package smoke tests (Docker)" + - name: pkg_smoke_tests_docker_x64 + display_name: "package smoke tests (x64 Docker)" run_on: ubuntu1804-small tasks: - - name: pkg_test_docker_centos7_rpm - - name: pkg_test_docker_rocky8_rpm - - name: pkg_test_docker_fedora34_rpm - - name: pkg_test_docker_suse12_rpm - - name: pkg_test_docker_suse15_rpm - - name: pkg_test_docker_amazonlinux1_rpm - - name: pkg_test_docker_amazonlinux2_rpm - - name: pkg_test_docker_debian9_deb - - name: pkg_test_docker_debian10_deb - - name: pkg_test_docker_debian11_deb - - name: pkg_test_docker_ubuntu18_04_deb - - name: pkg_test_docker_ubuntu20_04_deb + - name: pkg_test_docker_linux_x64_ubuntu20_04_tgz + - name: pkg_test_docker_debian_x64_ubuntu18_04_deb + - name: pkg_test_docker_debian_x64_ubuntu20_04_deb + - name: pkg_test_docker_debian_x64_ubuntu22_04_deb + - name: pkg_test_docker_debian_x64_debian9_deb + - name: pkg_test_docker_debian_x64_debian10_deb + - name: pkg_test_docker_debian_x64_debian11_deb + - name: pkg_test_docker_rhel7_x64_centos7_rpm + - name: pkg_test_docker_rhel7_x64_amazonlinux2_rpm + - name: pkg_test_docker_rhel8_x64_rocky8_rpm + - name: pkg_test_docker_rhel8_x64_fedora34_rpm + - name: pkg_test_docker_suse_x64_suse12_rpm + - name: pkg_test_docker_suse_x64_suse15_rpm + - name: pkg_test_docker_amzn1_x64_amazonlinux1_rpm + - name: pkg_test_docker_debian_x64_openssl11_ubuntu20_04_deb + - name: pkg_test_docker_debian_x64_openssl11_debian10_deb + - name: pkg_test_docker_debian_x64_openssl11_debian11_deb + - name: pkg_test_docker_rhel7_x64_openssl11_centos7_epel_rpm + - name: pkg_test_docker_rhel7_x64_openssl11_amazonlinux2_rpm + - name: pkg_test_docker_rhel8_x64_openssl11_rocky8_rpm + - name: pkg_test_docker_rhel8_x64_openssl11_fedora34_rpm + - name: pkg_test_docker_debian_x64_openssl3_ubuntu22_04_deb + - name: pkg_test_docker_rhel8_x64_openssl3_rocky8_epel_rpm + - name: pkg_smoke_tests_docker_arm64 + display_name: "package smoke tests (arm64 Docker)" + run_on: ubuntu1804-arm64-small + tasks: + - name: pkg_test_docker_linux_arm64_ubuntu20_04_tgz + - name: pkg_test_docker_debian_arm64_ubuntu18_04_deb + - name: pkg_test_docker_debian_arm64_ubuntu20_04_deb + - name: pkg_test_docker_debian_arm64_ubuntu22_04_deb + - name: pkg_test_docker_debian_arm64_debian10_deb + - name: pkg_test_docker_debian_arm64_debian11_deb + - name: pkg_test_docker_rhel8_arm64_rocky8_rpm + - name: pkg_test_docker_rhel8_arm64_fedora34_rpm + - name: pkg_test_docker_amzn2_arm64_amazonlinux2_rpm + - name: pkg_test_docker_debian_arm64_openssl11_ubuntu20_04_deb + - name: pkg_test_docker_debian_arm64_openssl11_debian10_deb + - name: pkg_test_docker_debian_arm64_openssl11_debian11_deb + - name: pkg_test_docker_rhel8_arm64_openssl11_rocky8_rpm + - name: pkg_test_docker_rhel8_arm64_openssl11_fedora34_rpm + - name: pkg_test_docker_amzn2_arm64_openssl11_amazonlinux2_rpm - name: pkg_smoke_tests_win32 display_name: "package smoke tests (win32)" run_on: ubuntu1804-small @@ -9367,26 +10147,6 @@ buildvariants: run_on: macos-1100-arm64 tasks: - name: pkg_test_macos_darwin_arm64 - - name: pkg_smoke_tests_ubuntu1804_arm64 - display_name: "package smoke tests (Ubuntu 18.04 arm64)" - run_on: ubuntu1804-arm64-small - tasks: - - name: pkg_test_debextract_debian_arm64 - - name: pkg_smoke_tests_ubuntu2004_arm64 - display_name: "package smoke tests (Ubuntu 20.04 arm64)" - run_on: ubuntu2004-arm64-small - tasks: - - name: pkg_test_debextract_debian_arm64 - - name: pkg_smoke_tests_amazon2_arm64 - display_name: "package smoke tests (RHEL 8.2 arm64)" - run_on: rhel82-arm64-small - tasks: - - name: pkg_test_rpmextract_rhel8_arm64 - - name: pkg_smoke_tests_rhel82_arm64 - display_name: "package smoke tests (Amazon Linux 2 arm64)" - run_on: amazon2-arm64-small - tasks: - - name: pkg_test_rpmextract_amzn2_arm64 - name: pkg_smoke_tests_rhel72_s390x display_name: "package smoke tests (RHEL 7.2 s390x)" run_on: rhel72-zseries-small diff --git a/.evergreen/evergreen.yml.in b/.evergreen/evergreen.yml.in index 49d0b7fa02..1afc796766 100644 --- a/.evergreen/evergreen.yml.in +++ b/.evergreen/evergreen.yml.in @@ -73,22 +73,51 @@ const EXECUTABLE_PKG_INFO = [ executableOsId: 'linux-x64', compileBuildVariant: 'linux_x64_build', distributionBuildVariants: [ - { name: 'linux-x64', packageOn: 'linux_package', smokeTestKind: 'none' }, - { name: 'debian-x64', packageOn: 'linux_package', smokeTestKind: 'docker', smokeTestDockerfiles: ['ubuntu18.04-deb', 'ubuntu20.04-deb', 'debian9-deb', 'debian10-deb', 'debian11-deb'] }, + { name: 'linux-x64', packageOn: 'linux_package', smokeTestKind: 'docker', smokeTestDockerfiles: ['ubuntu20.04-tgz'] }, + { name: 'debian-x64', packageOn: 'linux_package', smokeTestKind: 'docker', smokeTestDockerfiles: ['ubuntu18.04-deb', 'ubuntu20.04-deb', 'ubuntu22.04-deb', 'debian9-deb', 'debian10-deb', 'debian11-deb'] }, { name: 'rhel7-x64', packageOn: 'linux_package', smokeTestKind: 'docker', smokeTestDockerfiles: ['centos7-rpm', 'amazonlinux2-rpm'] }, { name: 'rhel8-x64', packageOn: 'linux_package', smokeTestKind: 'docker', smokeTestDockerfiles: ['rocky8-rpm', 'fedora34-rpm'] }, { name: 'suse-x64', packageOn: 'linux_package', smokeTestKind: 'docker', smokeTestDockerfiles: ['suse12-rpm', 'suse15-rpm'] }, { name: 'amzn1-x64', packageOn: 'linux_package', smokeTestKind: 'docker', smokeTestDockerfiles: ['amazonlinux1-rpm'] } ] }, + { + executableOsId: 'linux-x64-openssl11', + compileBuildVariant: 'linux_x64_build_openssl11', + distributionBuildVariants: [ + { name: 'linux-x64-openssl11', packageOn: 'linux_package', smokeTestKind: 'none' }, + { name: 'debian-x64-openssl11', packageOn: 'linux_package', smokeTestKind: 'docker', smokeTestDockerfiles: ['ubuntu20.04-deb', 'debian10-deb', 'debian11-deb'] }, + { name: 'rhel7-x64-openssl11', packageOn: 'linux_package', smokeTestKind: 'docker', smokeTestDockerfiles: ['centos7-epel-rpm', 'amazonlinux2-rpm'] }, + { name: 'rhel8-x64-openssl11', packageOn: 'linux_package', smokeTestKind: 'docker', smokeTestDockerfiles: ['rocky8-rpm', 'fedora34-rpm'] } + ] + }, + { + executableOsId: 'linux-x64-openssl3', + compileBuildVariant: 'linux_x64_build_openssl3', + distributionBuildVariants: [ + { name: 'linux-x64-openssl3', packageOn: 'linux_package', smokeTestKind: 'none' }, + { name: 'debian-x64-openssl3', packageOn: 'linux_package', smokeTestKind: 'docker', smokeTestDockerfiles: ['ubuntu22.04-deb'] }, + { name: 'rhel8-x64-openssl3', packageOn: 'linux_package', smokeTestKind: 'docker', smokeTestDockerfiles: ['rocky8-epel-rpm'] } + ] + }, { executableOsId: 'linux-arm64', compileBuildVariant: 'linux_arm64_build', distributionBuildVariants: [ - { name: 'linux-arm64', packageOn: 'linux_package', smokeTestKind: 'none' }, - { name: 'debian-arm64', packageOn: 'linux_package', smokeTestKind: 'debextract' }, - { name: 'rhel8-arm64', packageOn: 'linux_package', smokeTestKind: 'rpmextract' }, - { name: 'amzn2-arm64', packageOn: 'linux_package', smokeTestKind: 'rpmextract' } + { name: 'linux-arm64', packageOn: 'linux_package', smokeTestKind: 'docker', smokeTestDockerfiles: ['ubuntu20.04-tgz'] }, + { name: 'debian-arm64', packageOn: 'linux_package', smokeTestKind: 'docker', smokeTestDockerfiles: ['ubuntu18.04-deb', 'ubuntu20.04-deb', 'ubuntu22.04-deb', 'debian10-deb', 'debian11-deb'] }, + { name: 'rhel8-arm64', packageOn: 'linux_package', smokeTestKind: 'docker', smokeTestDockerfiles: ['rocky8-rpm', 'fedora34-rpm'] }, + { name: 'amzn2-arm64', packageOn: 'linux_package', smokeTestKind: 'docker', smokeTestDockerfiles: ['amazonlinux2-rpm'] } + ] + }, + { + executableOsId: 'linux-arm64-openssl11', + compileBuildVariant: 'linux_arm64_build_openssl11', + distributionBuildVariants: [ + { name: 'linux-arm64-openssl11', packageOn: 'linux_package', smokeTestKind: 'none' }, + { name: 'debian-arm64-openssl11', packageOn: 'linux_package', smokeTestKind: 'docker', smokeTestDockerfiles: ['ubuntu20.04-deb', 'debian10-deb', 'debian11-deb'] }, + { name: 'rhel8-arm64-openssl11', packageOn: 'linux_package', smokeTestKind: 'docker', smokeTestDockerfiles: ['rocky8-rpm', 'fedora34-rpm'] }, + { name: 'amzn2-arm64-openssl11', packageOn: 'linux_package', smokeTestKind: 'docker', smokeTestDockerfiles: ['amazonlinux2-rpm'] } ] }, { @@ -799,7 +828,7 @@ tasks: <% for (const { distributionBuildVariants } of EXECUTABLE_PKG_INFO) { for (const { name, packageOn, smokeTestKind, smokeTestDockerfiles } of distributionBuildVariants) if (smokeTestKind !== 'none') { for (const dockerfile of smokeTestDockerfiles || ['']) { %> - - name: pkg_test_<% out(`${smokeTestKind}_${(dockerfile || name).replace(/[-.]/g, '_')}`) %> + - name: pkg_test_<% out(`${smokeTestKind}_${name}${dockerfile ? `_${dockerfile}` : ''}`.replace(/[-.]/g, '_')) %> tags: ["smoke-test"] depends_on: - name: package_and_upload_artifact_<% out(name.replace(/-/g, '_')) %> @@ -921,8 +950,6 @@ buildvariants: executable_os_id: darwin-arm64 tasks: - name: compile_artifact - # - name: e2e_tests_darwin_arm64 - # No E2E test for now because there are no server releases to run them against - name: linux_unit display_name: "Ubuntu 18.04 x64 (Unit tests)" @@ -945,20 +972,11 @@ buildvariants: display_name: "Ubuntu 18.04 x64 (Packaging)" run_on: ubuntu1804-small tasks: - - name: package_and_upload_artifact_linux_x64 - - name: package_and_upload_artifact_debian_x64 - - name: package_and_upload_artifact_rhel7_x64 - - name: package_and_upload_artifact_rhel8_x64 - - name: package_and_upload_artifact_suse_x64 - - name: package_and_upload_artifact_amzn1_x64 - - name: package_and_upload_artifact_linux_s390x - - name: package_and_upload_artifact_rhel7_s390x - - name: package_and_upload_artifact_linux_arm64 - - name: package_and_upload_artifact_debian_arm64 - - name: package_and_upload_artifact_rhel8_arm64 - - name: package_and_upload_artifact_amzn2_arm64 - - name: package_and_upload_artifact_linux_ppc64le - - name: package_and_upload_artifact_rhel8_ppc64le + <% for (const { executableOsId, distributionBuildVariants } of EXECUTABLE_PKG_INFO) { + for (const { name: distributionBuildVariant } of distributionBuildVariants) { + if (executableOsId.startsWith('linux')) { %> + - name: package_and_upload_artifact_<% out(distributionBuildVariant.replace(/-/g, '_')) %> + <% } } } %> - name: linux_x64_build display_name: "RHEL 7.0 x64 (build)" run_on: rhel70-build @@ -1027,6 +1045,12 @@ buildvariants: run_on: rhel80-small tasks: - name: e2e_tests_linux_x64 + - name: e2e_rhel83_x64 + display_name: "RHEL 8.3 x64 (E2E Tests, FIPS-available OS)" + run_on: rhel83-fips + tasks: + - name: e2e_tests_linux_x64 + - name: e2e_tests_linux_x64_openssl11 - name: e2e_ubuntu1804_x64 display_name: "Ubuntu 18.04 x64 (E2E Tests)" run_on: ubuntu1804-small @@ -1037,6 +1061,7 @@ buildvariants: run_on: ubuntu2004-small tasks: - name: e2e_tests_linux_x64 + - name: e2e_tests_linux_x64_openssl11 - name: e2e_debian9_x64 display_name: "Debian 9 x64 (E2E Tests)" run_on: debian92-small @@ -1047,11 +1072,13 @@ buildvariants: run_on: debian10-small tasks: - name: e2e_tests_linux_x64 + - name: e2e_tests_linux_x64_openssl11 - name: e2e_debian11_x64 display_name: "Debian 11 x64 (E2E Tests)" run_on: debian11-small tasks: - name: e2e_tests_linux_x64_unstable + - name: e2e_tests_linux_x64_openssl11_unstable - name: e2e_amazon1_x64 display_name: "Amazon Linux 1 x64 (E2E Tests)" run_on: amazon1-2018-small @@ -1082,6 +1109,7 @@ buildvariants: run_on: ubuntu2004-arm64-small tasks: - name: e2e_tests_linux_arm64 + - name: e2e_tests_linux_arm64_openssl11 - name: e2e_amazon2_arm64 display_name: "Amazon Linux 2 arm64 (E2E Tests)" run_on: amazon2-arm64-small @@ -1137,22 +1165,26 @@ buildvariants: tasks: - name: compile_artifact - - name: pkg_smoke_tests_docker - display_name: "package smoke tests (Docker)" + - name: pkg_smoke_tests_docker_x64 + display_name: "package smoke tests (x64 Docker)" run_on: ubuntu1804-small tasks: - - name: pkg_test_docker_centos7_rpm - - name: pkg_test_docker_rocky8_rpm - - name: pkg_test_docker_fedora34_rpm - - name: pkg_test_docker_suse12_rpm - - name: pkg_test_docker_suse15_rpm - - name: pkg_test_docker_amazonlinux1_rpm - - name: pkg_test_docker_amazonlinux2_rpm - - name: pkg_test_docker_debian9_deb - - name: pkg_test_docker_debian10_deb - - name: pkg_test_docker_debian11_deb - - name: pkg_test_docker_ubuntu18_04_deb - - name: pkg_test_docker_ubuntu20_04_deb + <% for (const { distributionBuildVariants, executableOsId } of EXECUTABLE_PKG_INFO) { + if (executableOsId.includes('linux-x64')) { + for (const { name, smokeTestKind, smokeTestDockerfiles } of distributionBuildVariants) if (smokeTestKind !== 'none') { + for (const dockerfile of smokeTestDockerfiles || []) { %> + - name: pkg_test_<% out(`${smokeTestKind}_${name}${dockerfile ? `_${dockerfile}` : ''}`.replace(/[-.]/g, '_')) %> + <% } } } } %> + - name: pkg_smoke_tests_docker_arm64 + display_name: "package smoke tests (arm64 Docker)" + run_on: ubuntu1804-arm64-small + tasks: + <% for (const { distributionBuildVariants, executableOsId } of EXECUTABLE_PKG_INFO) { + if (executableOsId.includes('linux-arm64')) { + for (const { name, smokeTestKind, smokeTestDockerfiles } of distributionBuildVariants) if (smokeTestKind !== 'none') { + for (const dockerfile of smokeTestDockerfiles || []) { %> + - name: pkg_test_<% out(`${smokeTestKind}_${name}${dockerfile ? `_${dockerfile}` : ''}`.replace(/[-.]/g, '_')) %> + <% } } } } %> - name: pkg_smoke_tests_win32 display_name: "package smoke tests (win32)" run_on: ubuntu1804-small @@ -1174,26 +1206,6 @@ buildvariants: run_on: macos-1100-arm64 tasks: - name: pkg_test_macos_darwin_arm64 - - name: pkg_smoke_tests_ubuntu1804_arm64 - display_name: "package smoke tests (Ubuntu 18.04 arm64)" - run_on: ubuntu1804-arm64-small - tasks: - - name: pkg_test_debextract_debian_arm64 - - name: pkg_smoke_tests_ubuntu2004_arm64 - display_name: "package smoke tests (Ubuntu 20.04 arm64)" - run_on: ubuntu2004-arm64-small - tasks: - - name: pkg_test_debextract_debian_arm64 - - name: pkg_smoke_tests_amazon2_arm64 - display_name: "package smoke tests (RHEL 8.2 arm64)" - run_on: rhel82-arm64-small - tasks: - - name: pkg_test_rpmextract_rhel8_arm64 - - name: pkg_smoke_tests_rhel82_arm64 - display_name: "package smoke tests (Amazon Linux 2 arm64)" - run_on: amazon2-arm64-small - tasks: - - name: pkg_test_rpmextract_amzn2_arm64 - name: pkg_smoke_tests_rhel72_s390x display_name: "package smoke tests (RHEL 7.2 s390x)" run_on: rhel72-zseries-small diff --git a/config/build.conf.js b/config/build.conf.js index 0f1058be0c..86433b64ac 100644 --- a/config/build.conf.js +++ b/config/build.conf.js @@ -75,6 +75,16 @@ const COPYRIGHT = `${new Date().getYear() + 1900} MongoDB, Inc.`; */ const MANPAGE_NAME = 'mongosh.1.gz' +/** + * The package identifier (not executable identifier), e.g. 'debian-x64-openssl11'. + */ +const DISTRIBUTION_BUILD_VARIANT = process.env.DISTRIBUTION_BUILD_VARIANT; + +/** + * The shared-openssl suffix for the current package identifer, e.g. 'openssl11'. + */ +const SHARED_OPENSSL_TAG = DISTRIBUTION_BUILD_VARIANT?.match?.(/-(openssl\d*)$/)?.[1] || ''; + /** * Export the configuration for the build. */ @@ -101,7 +111,7 @@ module.exports = { triggeringGitTag: process.env.TRIGGERED_BY_GIT_TAG, platform: os.platform(), execNodeVersion: process.env.NODE_JS_VERSION || `^${process.version.slice(1)}`, - distributionBuildVariant: process.env.DISTRIBUTION_BUILD_VARIANT, + distributionBuildVariant: DISTRIBUTION_BUILD_VARIANT, notarySigningKeyName: process.env.NOTARY_SIGNING_KEY_NAME, notaryAuthToken: process.env.NOTARY_AUTH_TOKEN, repo: { @@ -151,10 +161,20 @@ module.exports = { }, metadata: { name: 'mongosh', - rpmName: 'mongodb-mongosh', - debName: 'mongodb-mongosh', - providesName: 'mongodb-shell', - providesVersion: '2.0', + rpmName: 'mongodb-mongosh' + (SHARED_OPENSSL_TAG ? `-shared-${SHARED_OPENSSL_TAG}` : ''), + debName: 'mongodb-mongosh' + (SHARED_OPENSSL_TAG ? `-shared-${SHARED_OPENSSL_TAG}` : ''), + provides: [ + { name: 'mongodb-shell', version: '2.0' }, + ...( + SHARED_OPENSSL_TAG ? + [{ name: 'mongodb-mongosh', version: CLI_REPL_PACKAGE_JSON.version }] : + [] + ) + ], + debDepends: 'libc6 (>= 2.17), libgssapi-krb5-2' + ( + SHARED_OPENSSL_TAG === 'openssl11' ? ', libssl1.1' : + SHARED_OPENSSL_TAG === 'openssl3' ? ', libssl3' : '' + ), fullName: 'MongoDB Shell', version: CLI_REPL_PACKAGE_JSON.version, description: CLI_REPL_PACKAGE_JSON.description, diff --git a/packages/build/src/config/build-variant.ts b/packages/build/src/config/build-variant.ts index 4ff2b227f2..31ffd446c5 100644 --- a/packages/build/src/config/build-variant.ts +++ b/packages/build/src/config/build-variant.ts @@ -6,7 +6,8 @@ */ export type Distro = 'win32' | 'win32msi' | 'darwin' | 'linux' | 'debian' | 'rhel7' | 'rhel8' | 'suse' | 'amzn1' | 'amzn2'; export type Arch = 'x64' | 's390x' | 'arm64' | 'ppc64le'; -export type BuildVariant = `${Distro}-${Arch}`; +export type OpenSSLTag = '' | '-openssl11' | '-openssl3'; +export type BuildVariant = `${Distro}-${Arch}${OpenSSLTag}`; export const ALL_BUILD_VARIANTS: readonly BuildVariant[] = Object.freeze([ 'win32-x64', 'win32msi-x64', @@ -20,7 +21,10 @@ export const ALL_BUILD_VARIANTS: readonly BuildVariant[] = Object.freeze([ ] as const); export function validateBuildVariant(variant?: BuildVariant): asserts variant is BuildVariant { - if (typeof variant === 'undefined' || !ALL_BUILD_VARIANTS.includes(variant)) { + if ( + typeof variant === 'undefined' || + !ALL_BUILD_VARIANTS.includes(variant.replace(/-openssl(11|3)$/, '') as BuildVariant) + ) { throw new Error(`${variant} is not a valid build variant identifier`); } } diff --git a/packages/build/src/packaging/package/debian.ts b/packages/build/src/packaging/package/debian.ts index 898f3e8c60..7e9ee6fcd5 100644 --- a/packages/build/src/packaging/package/debian.ts +++ b/packages/build/src/packaging/package/debian.ts @@ -23,8 +23,19 @@ export async function createDebianPackage( const dir = await generateDirFromTemplate(templateDir, { ...pkg.metadata, size, - debianArch: getDebArchName(arch) + debianArch: getDebArchName(arch), + provides: pkg.metadata.provides.map(({ name, version }) => `${name} (= ${version})`).join(', ') }); + + // dpkg wants the package data to be in a directory with the same name as the package + await fs.mkdir(path.join(dir, pkg.metadata.debName), { recursive: true }); + for (const templateDirEntry of await fs.readdir(dir)) { + if (templateDirEntry === pkg.metadata.debName) continue; + await fs.rename( + path.join(dir, templateDirEntry), + path.join(dir, pkg.metadata.debName, templateDirEntry)); + } + const docFiles = [ ...pkg.otherDocFilePaths, ...pkg.binaries.map(({ license }) => license) diff --git a/packages/build/src/packaging/package/package-information.ts b/packages/build/src/packaging/package/package-information.ts index 1c05d11da9..8889fc3011 100644 --- a/packages/build/src/packaging/package/package-information.ts +++ b/packages/build/src/packaging/package/package-information.ts @@ -32,6 +32,7 @@ export interface PackageInformation { fullName: string; copyright: string; icon: string; + provides: { name: string, version: string }[]; }; debTemplateDir: string; rpmTemplateDir: string; diff --git a/packages/build/src/packaging/package/redhat.ts b/packages/build/src/packaging/package/redhat.ts index 4910c18dfb..35299bf39f 100644 --- a/packages/build/src/packaging/package/redhat.ts +++ b/packages/build/src/packaging/package/redhat.ts @@ -69,7 +69,8 @@ export async function createRedhatPackage( licenseRpm, installscriptRpm, filelistRpm: filelistRpm.join('\n'), - version + version, + provides: pkg.metadata.provides.map(({ name, version }) => `${name} = ${version}`).join(', ') }); // Copy all files that we want to ship into the BUILD directory. for (const { sourceFilePath } of pkg.binaries) { diff --git a/packages/build/test/fixtures/deb-template/foobar/DEBIAN/control b/packages/build/test/fixtures/deb-template/DEBIAN/control similarity index 100% rename from packages/build/test/fixtures/deb-template/foobar/DEBIAN/control rename to packages/build/test/fixtures/deb-template/DEBIAN/control diff --git a/packages/build/test/fixtures/pkgconf.js b/packages/build/test/fixtures/pkgconf.js index 97c5be6edb..b5897efcd6 100644 --- a/packages/build/test/fixtures/pkgconf.js +++ b/packages/build/test/fixtures/pkgconf.js @@ -43,6 +43,7 @@ module.exports = { maintainer: 'Somebody ', name: 'foobar', debName: 'foobar', + provides: [], rpmName: 'foobar', manufacturer: 'Some Random Company Inc.' }, diff --git a/packaging/deb-template/mongodb-mongosh/DEBIAN/control b/packaging/deb-template/DEBIAN/control similarity index 60% rename from packaging/deb-template/mongodb-mongosh/DEBIAN/control rename to packaging/deb-template/DEBIAN/control index 55b5453626..0251d52591 100644 --- a/packaging/deb-template/mongodb-mongosh/DEBIAN/control +++ b/packaging/deb-template/DEBIAN/control @@ -1,5 +1,5 @@ Package: {{debName}} -Provides: {{providesName}} (= {{providesVersion}}) +Provides: {{provides}} Version: {{version}} Section: utils Priority: optional @@ -8,5 +8,4 @@ Installed-Size: {{size}} Maintainer: {{maintainer}} Homepage: {{homepage}} Description: {{description}} -Depends: libc6 (>= 2.17), libgssapi-krb5-2 -Recommends: libsasl2-2, libcurl4, libssl1.1 +Depends: {{debDepends}} diff --git a/packaging/rpm-template/SPECS/mongodb-mongosh-shared-openssl11.spec b/packaging/rpm-template/SPECS/mongodb-mongosh-shared-openssl11.spec new file mode 120000 index 0000000000..12dd443a1b --- /dev/null +++ b/packaging/rpm-template/SPECS/mongodb-mongosh-shared-openssl11.spec @@ -0,0 +1 @@ +mongodb-mongosh.spec \ No newline at end of file diff --git a/packaging/rpm-template/SPECS/mongodb-mongosh-shared-openssl3.spec b/packaging/rpm-template/SPECS/mongodb-mongosh-shared-openssl3.spec new file mode 120000 index 0000000000..12dd443a1b --- /dev/null +++ b/packaging/rpm-template/SPECS/mongodb-mongosh-shared-openssl3.spec @@ -0,0 +1 @@ +mongodb-mongosh.spec \ No newline at end of file diff --git a/packaging/rpm-template/SPECS/mongodb-mongosh.spec b/packaging/rpm-template/SPECS/mongodb-mongosh.spec index 542e6cabec..9b7e8e1310 100644 --- a/packaging/rpm-template/SPECS/mongodb-mongosh.spec +++ b/packaging/rpm-template/SPECS/mongodb-mongosh.spec @@ -8,7 +8,7 @@ %define _libexecdir %{_exec_prefix}/libexec Name: {{rpmName}} -Provides: {{providesName}} = {{providesVersion}} +Provides: {{provides}} Version: {{version}} Release: 1%{?dist} Group: Development/Tools diff --git a/scripts/docker/amazonlinux1-rpm.Dockerfile b/scripts/docker/amazonlinux1-rpm.Dockerfile index 6dded8a70b..bb1c7992af 100644 --- a/scripts/docker/amazonlinux1-rpm.Dockerfile +++ b/scripts/docker/amazonlinux1-rpm.Dockerfile @@ -4,7 +4,7 @@ ARG artifact_url="" ADD ${artifact_url} /tmp ADD node_modules /usr/share/mongodb-csfle-library-version/node_modules RUN yum repolist -RUN yum install -y /tmp/*mongosh-*.x86_64.rpm +RUN yum install -y /tmp/*mongosh*.rpm RUN /usr/bin/mongosh --version RUN env MONGOSH_RUN_NODE_SCRIPT=1 mongosh /usr/share/mongodb-csfle-library-version/node_modules/.bin/mongodb-csfle-library-version /usr/lib64/mongosh_csfle_v1.so | grep -q ^mongo_csfle_v1- ENTRYPOINT [ "mongosh" ] diff --git a/scripts/docker/amazonlinux2-rpm.Dockerfile b/scripts/docker/amazonlinux2-rpm.Dockerfile index 4492a922b0..49b4600080 100644 --- a/scripts/docker/amazonlinux2-rpm.Dockerfile +++ b/scripts/docker/amazonlinux2-rpm.Dockerfile @@ -4,7 +4,7 @@ ARG artifact_url="" ADD ${artifact_url} /tmp ADD node_modules /usr/share/mongodb-csfle-library-version/node_modules RUN yum repolist -RUN yum install -y /tmp/*mongosh-*.x86_64.rpm +RUN yum install -y /tmp/*mongosh*.rpm RUN /usr/bin/mongosh --version RUN env MONGOSH_RUN_NODE_SCRIPT=1 mongosh /usr/share/mongodb-csfle-library-version/node_modules/.bin/mongodb-csfle-library-version /usr/lib64/mongosh_csfle_v1.so | grep -q ^mongo_csfle_v1- ENTRYPOINT [ "mongosh" ] diff --git a/scripts/docker/centos7-epel-rpm.Dockerfile b/scripts/docker/centos7-epel-rpm.Dockerfile new file mode 100644 index 0000000000..10b1b654cc --- /dev/null +++ b/scripts/docker/centos7-epel-rpm.Dockerfile @@ -0,0 +1,13 @@ +FROM centos:7 + +ARG artifact_url="" +ADD ${artifact_url} /tmp +ADD node_modules /usr/share/mongodb-csfle-library-version/node_modules +RUN yum repolist +# epel-release so that openssl11 is installable +RUN yum install -y epel-release +RUN yum repolist +RUN yum install -y /tmp/*mongosh*.rpm +RUN /usr/bin/mongosh --version +RUN env MONGOSH_RUN_NODE_SCRIPT=1 mongosh /usr/share/mongodb-csfle-library-version/node_modules/.bin/mongodb-csfle-library-version /usr/lib64/mongosh_csfle_v1.so | grep -q ^mongo_csfle_v1- +ENTRYPOINT [ "mongosh" ] diff --git a/scripts/docker/centos7-rpm.Dockerfile b/scripts/docker/centos7-rpm.Dockerfile index 8b8e9886b4..98357e6efb 100644 --- a/scripts/docker/centos7-rpm.Dockerfile +++ b/scripts/docker/centos7-rpm.Dockerfile @@ -4,7 +4,7 @@ ARG artifact_url="" ADD ${artifact_url} /tmp ADD node_modules /usr/share/mongodb-csfle-library-version/node_modules RUN yum repolist -RUN yum install -y /tmp/*mongosh-*.x86_64.rpm +RUN yum install -y /tmp/*mongosh*.rpm RUN /usr/bin/mongosh --version RUN env MONGOSH_RUN_NODE_SCRIPT=1 mongosh /usr/share/mongodb-csfle-library-version/node_modules/.bin/mongodb-csfle-library-version /usr/lib64/mongosh_csfle_v1.so | grep -q ^mongo_csfle_v1- ENTRYPOINT [ "mongosh" ] diff --git a/scripts/docker/debian10-deb.Dockerfile b/scripts/docker/debian10-deb.Dockerfile index 01baf9ea86..93aca5c0a0 100644 --- a/scripts/docker/debian10-deb.Dockerfile +++ b/scripts/docker/debian10-deb.Dockerfile @@ -5,7 +5,7 @@ ADD ${artifact_url} /tmp ADD node_modules /usr/share/mongodb-csfle-library-version/node_modules RUN apt-get update RUN apt-get install -y man-db -RUN apt-get install -y /tmp/*mongosh_*_amd64.deb +RUN apt-get install -y /tmp/*mongosh*.deb RUN /usr/bin/mongosh --version RUN env MONGOSH_RUN_NODE_SCRIPT=1 mongosh /usr/share/mongodb-csfle-library-version/node_modules/.bin/mongodb-csfle-library-version /usr/lib/mongosh_csfle_v1.so | grep -q ^mongo_csfle_v1- RUN man mongosh | grep -q tlsAllowInvalidCertificates diff --git a/scripts/docker/debian11-deb.Dockerfile b/scripts/docker/debian11-deb.Dockerfile index 66018932eb..2195fa035b 100644 --- a/scripts/docker/debian11-deb.Dockerfile +++ b/scripts/docker/debian11-deb.Dockerfile @@ -5,7 +5,7 @@ ADD ${artifact_url} /tmp ADD node_modules /usr/share/mongodb-csfle-library-version/node_modules RUN apt-get update RUN apt-get install -y man-db -RUN apt-get install -y /tmp/*mongosh_*_amd64.deb +RUN apt-get install -y /tmp/*mongosh*.deb RUN /usr/bin/mongosh --version RUN env MONGOSH_RUN_NODE_SCRIPT=1 mongosh /usr/share/mongodb-csfle-library-version/node_modules/.bin/mongodb-csfle-library-version /usr/lib/mongosh_csfle_v1.so | grep -q ^mongo_csfle_v1- RUN man mongosh | grep -q tlsAllowInvalidCertificates diff --git a/scripts/docker/debian9-deb.Dockerfile b/scripts/docker/debian9-deb.Dockerfile index ba15bcb404..e52b8be024 100644 --- a/scripts/docker/debian9-deb.Dockerfile +++ b/scripts/docker/debian9-deb.Dockerfile @@ -5,7 +5,7 @@ ADD ${artifact_url} /tmp ADD node_modules /usr/share/mongodb-csfle-library-version/node_modules RUN apt-get update RUN apt-get install -y man-db -RUN apt-get install -y /tmp/*mongosh_*_amd64.deb +RUN apt-get install -y /tmp/*mongosh*.deb RUN /usr/bin/mongosh --version RUN env MONGOSH_RUN_NODE_SCRIPT=1 mongosh /usr/share/mongodb-csfle-library-version/node_modules/.bin/mongodb-csfle-library-version /usr/lib/mongosh_csfle_v1.so | grep -q ^mongo_csfle_v1- RUN man mongosh | grep -q tlsAllowInvalidCertificates diff --git a/scripts/docker/fedora34-rpm.Dockerfile b/scripts/docker/fedora34-rpm.Dockerfile index 61c230e9fe..1ef873e211 100644 --- a/scripts/docker/fedora34-rpm.Dockerfile +++ b/scripts/docker/fedora34-rpm.Dockerfile @@ -5,7 +5,7 @@ ADD ${artifact_url} /tmp ADD node_modules /usr/share/mongodb-csfle-library-version/node_modules RUN yum repolist RUN yum install -y man -RUN yum install -y /tmp/*mongosh-*.x86_64.rpm +RUN yum install -y /tmp/*mongosh*.rpm RUN /usr/bin/mongosh --version RUN env MONGOSH_RUN_NODE_SCRIPT=1 mongosh /usr/share/mongodb-csfle-library-version/node_modules/.bin/mongodb-csfle-library-version /usr/lib64/mongosh_csfle_v1.so | grep -q ^mongo_csfle_v1- ENTRYPOINT [ "mongosh" ] diff --git a/scripts/docker/rocky8-epel-rpm.Dockerfile b/scripts/docker/rocky8-epel-rpm.Dockerfile new file mode 100644 index 0000000000..ff09b7c434 --- /dev/null +++ b/scripts/docker/rocky8-epel-rpm.Dockerfile @@ -0,0 +1,15 @@ +FROM rockylinux:8 + +ARG artifact_url="" +ADD ${artifact_url} /tmp +ADD node_modules /usr/share/mongodb-csfle-library-version/node_modules +RUN dnf update -y +# epel-release so that openssl3 is installable +RUN dnf install -y epel-release +RUN dnf repolist +RUN dnf install -y man +RUN dnf install -y /tmp/*mongosh*.rpm +RUN /usr/bin/mongosh --version +RUN env MONGOSH_RUN_NODE_SCRIPT=1 mongosh /usr/share/mongodb-csfle-library-version/node_modules/.bin/mongodb-csfle-library-version /usr/lib64/mongosh_csfle_v1.so | grep -q ^mongo_csfle_v1- +RUN man mongosh | grep -q tlsAllowInvalidCertificates +ENTRYPOINT [ "mongosh" ] diff --git a/scripts/docker/rocky8-rpm.Dockerfile b/scripts/docker/rocky8-rpm.Dockerfile index 9c9f51e2ed..3500dbdd9e 100644 --- a/scripts/docker/rocky8-rpm.Dockerfile +++ b/scripts/docker/rocky8-rpm.Dockerfile @@ -3,9 +3,9 @@ FROM rockylinux:8 ARG artifact_url="" ADD ${artifact_url} /tmp ADD node_modules /usr/share/mongodb-csfle-library-version/node_modules -RUN yum repolist -RUN yum install -y man -RUN yum install -y /tmp/*mongosh-*.x86_64.rpm +RUN dnf repolist +RUN dnf install -y man +RUN dnf install -y /tmp/*mongosh*.rpm RUN /usr/bin/mongosh --version RUN env MONGOSH_RUN_NODE_SCRIPT=1 mongosh /usr/share/mongodb-csfle-library-version/node_modules/.bin/mongodb-csfle-library-version /usr/lib64/mongosh_csfle_v1.so | grep -q ^mongo_csfle_v1- RUN man mongosh | grep -q tlsAllowInvalidCertificates diff --git a/scripts/docker/suse12-rpm.Dockerfile b/scripts/docker/suse12-rpm.Dockerfile index 04c8ad1cdf..78fa079138 100644 --- a/scripts/docker/suse12-rpm.Dockerfile +++ b/scripts/docker/suse12-rpm.Dockerfile @@ -5,7 +5,7 @@ ADD ${artifact_url} /tmp ADD node_modules /usr/share/mongodb-csfle-library-version/node_modules RUN zypper --no-gpg-checks --non-interactive addrepo https://download.opensuse.org/repositories/openSUSE:Leap:15.1:Update/standard/openSUSE:Leap:15.1:Update.repo RUN zypper --no-gpg-checks --non-interactive refresh -RUN zypper --no-gpg-checks --non-interactive install /tmp/*mongosh-*.x86_64.rpm +RUN zypper --no-gpg-checks --non-interactive install /tmp/*mongosh*.rpm RUN /usr/bin/mongosh --version RUN env MONGOSH_RUN_NODE_SCRIPT=1 mongosh /usr/share/mongodb-csfle-library-version/node_modules/.bin/mongodb-csfle-library-version /usr/lib64/mongosh_csfle_v1.so | grep -q ^mongo_csfle_v1- ENTRYPOINT [ "mongosh" ] diff --git a/scripts/docker/suse15-rpm.Dockerfile b/scripts/docker/suse15-rpm.Dockerfile index bab3d72487..c5164b9df5 100644 --- a/scripts/docker/suse15-rpm.Dockerfile +++ b/scripts/docker/suse15-rpm.Dockerfile @@ -6,7 +6,7 @@ ADD node_modules /usr/share/mongodb-csfle-library-version/node_modules RUN zypper --no-gpg-checks --non-interactive addrepo https://download.opensuse.org/repositories/openSUSE:Leap:15.1:Update/standard/openSUSE:Leap:15.1:Update.repo RUN zypper --no-gpg-checks --non-interactive refresh RUN zypper --no-gpg-checks --non-interactive install man -RUN zypper --no-gpg-checks --non-interactive install /tmp/*mongosh-*.x86_64.rpm +RUN zypper --no-gpg-checks --non-interactive install /tmp/*mongosh*.rpm RUN /usr/bin/mongosh --version RUN env MONGOSH_RUN_NODE_SCRIPT=1 mongosh /usr/share/mongodb-csfle-library-version/node_modules/.bin/mongodb-csfle-library-version /usr/lib64/mongosh_csfle_v1.so | grep -q ^mongo_csfle_v1- RUN man mongosh | grep -q tlsAllowInvalidCertificates diff --git a/scripts/docker/ubuntu18.04-deb.Dockerfile b/scripts/docker/ubuntu18.04-deb.Dockerfile index efc196e2d5..4c956b61a8 100644 --- a/scripts/docker/ubuntu18.04-deb.Dockerfile +++ b/scripts/docker/ubuntu18.04-deb.Dockerfile @@ -4,7 +4,7 @@ ARG artifact_url="" ADD ${artifact_url} /tmp ADD node_modules /usr/share/mongodb-csfle-library-version/node_modules RUN apt-get update -RUN apt-get install -y /tmp/*mongosh_*_amd64.deb +RUN apt-get install -y /tmp/*mongosh*.deb RUN /usr/bin/mongosh --version RUN env MONGOSH_RUN_NODE_SCRIPT=1 mongosh /usr/share/mongodb-csfle-library-version/node_modules/.bin/mongodb-csfle-library-version /usr/lib/mongosh_csfle_v1.so | grep -q ^mongo_csfle_v1- ENTRYPOINT [ "mongosh" ] diff --git a/scripts/docker/ubuntu20.04-deb.Dockerfile b/scripts/docker/ubuntu20.04-deb.Dockerfile index 10f98236cf..2374d05fa8 100644 --- a/scripts/docker/ubuntu20.04-deb.Dockerfile +++ b/scripts/docker/ubuntu20.04-deb.Dockerfile @@ -6,7 +6,7 @@ ADD node_modules /usr/share/mongodb-csfle-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_*_amd64.deb +RUN apt-get install -y /tmp/*mongosh*.deb RUN /usr/bin/mongosh --version RUN env MONGOSH_RUN_NODE_SCRIPT=1 mongosh /usr/share/mongodb-csfle-library-version/node_modules/.bin/mongodb-csfle-library-version /usr/lib/mongosh_csfle_v1.so | grep -q ^mongo_csfle_v1- RUN man mongosh | grep -q tlsAllowInvalidCertificates diff --git a/scripts/docker/ubuntu20.04-tgz.Dockerfile b/scripts/docker/ubuntu20.04-tgz.Dockerfile index 67dd4d7d9c..9699588dfa 100644 --- a/scripts/docker/ubuntu20.04-tgz.Dockerfile +++ b/scripts/docker/ubuntu20.04-tgz.Dockerfile @@ -1,9 +1,12 @@ FROM ubuntu:20.04 -ARG commit="" -ARG version="" -ADD https://s3.amazonaws.com/mciuploads/mongosh/${commit}/mongosh-${version}-linux.tgz /tmp -RUN tar zxvf /tmp/mongosh-${version}-linux.tgz && \ - mv mongosh /usr/bin/mongosh - +ARG artifact_url="" +ADD ${artifact_url} /tmp +ADD node_modules /usr/share/mongodb-csfle-library-version/node_modules +RUN apt-get update +RUN apt-get install -y libgssapi-krb5-2 +RUN tar -C /tmp --strip-components=1 -xvzf /tmp/*mongosh*.tgz +RUN ln -s /tmp/bin/mongosh /usr/bin/mongosh +RUN /usr/bin/mongosh --version +RUN env MONGOSH_RUN_NODE_SCRIPT=1 mongosh /usr/share/mongodb-csfle-library-version/node_modules/.bin/mongodb-csfle-library-version /tmp/bin/mongosh_csfle_v1.so | grep -q ^mongo_csfle_v1- ENTRYPOINT [ "mongosh" ] diff --git a/scripts/docker/ubuntu22.04-deb.Dockerfile b/scripts/docker/ubuntu22.04-deb.Dockerfile new file mode 100644 index 0000000000..16763f7739 --- /dev/null +++ b/scripts/docker/ubuntu22.04-deb.Dockerfile @@ -0,0 +1,13 @@ +FROM ubuntu:22.04 + +ARG artifact_url="" +ADD ${artifact_url} /tmp +ADD node_modules /usr/share/mongodb-csfle-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 --version +RUN env MONGOSH_RUN_NODE_SCRIPT=1 mongosh /usr/share/mongodb-csfle-library-version/node_modules/.bin/mongodb-csfle-library-version /usr/lib/mongosh_csfle_v1.so | grep -q ^mongo_csfle_v1- +RUN man mongosh | grep -q tlsAllowInvalidCertificates +ENTRYPOINT [ "mongosh" ]