diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index fee8b48547..d12aebc0f5 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -24,7 +24,7 @@ jobs: - os: ubuntu-latest ruby: "3.1.2" bundler: "2.3.7" - # Test versions from Amazon Linux 2023 + # Test versions from Amazon Linux 2023 and Ubuntu 24.04 - os: ubuntu-latest ruby: "3.2.2" bundler: "2.4.10" @@ -121,6 +121,7 @@ jobs: - amzn2023 - ubuntu-20.04 - ubuntu-22.04 + - ubuntu-24.04 - debian-12 arch: - x86_64 diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index bad647ee28..5e094902e9 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -26,7 +26,7 @@ build-nightly: - OOD_PACKAGING_DIST: [el8] OOD_PACKAGING_ARCH: [x86_64, aarch64, ppc64le] OOD_PACKAGING_GPG_PRIVATE_KEY: /systems/osc_certs/gpg/ondemand/ondemand.sec - - OOD_PACKAGING_DIST: [el9, debian-12] + - OOD_PACKAGING_DIST: [el9, debian-12, ubuntu-24.04] OOD_PACKAGING_ARCH: [x86_64, aarch64, ppc64le] # Ubuntu doesn't have way to get NodeJS 14+ on ppc64le - OOD_PACKAGING_DIST: [ubuntu-20.04, ubuntu-22.04] @@ -54,7 +54,7 @@ build: - OOD_PACKAGING_DIST: [el8] OOD_PACKAGING_ARCH: [x86_64, aarch64, ppc64le] OOD_PACKAGING_GPG_PRIVATE_KEY: /systems/osc_certs/gpg/ondemand/ondemand.sec - - OOD_PACKAGING_DIST: [el9, debian-12] + - OOD_PACKAGING_DIST: [el9, debian-12, ubuntu-24.04] OOD_PACKAGING_ARCH: [x86_64, aarch64, ppc64le] # Ubuntu doesn't have way to get NodeJS 14+ on ppc64le - OOD_PACKAGING_DIST: [ubuntu-20.04, ubuntu-22.04] diff --git a/Gemfile b/Gemfile index 28f920d07c..3557b7119a 100644 --- a/Gemfile +++ b/Gemfile @@ -8,7 +8,7 @@ gem 'rake' gem 'dotenv', '~> 2.1' group :package do - gem 'ood_packaging', '~> 0.14.0' + gem 'ood_packaging', '~> 0.15.1' end group :test do diff --git a/Gemfile.lock b/Gemfile.lock index 396158b1e2..27863c22d3 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -96,7 +96,7 @@ GEM oga (3.3) ast ruby-ll (~> 2.1) - ood_packaging (0.14.1) + ood_packaging (0.15.1) rake (~> 13.0.1) open_uri_redirections (0.2.1) parallel (1.21.0) @@ -179,7 +179,7 @@ DEPENDENCIES beaker-docker (~> 1.4.0) beaker-rspec dotenv (~> 2.1) - ood_packaging (~> 0.14.0) + ood_packaging (~> 0.15.1) rake rspec rubocop diff --git a/packaging/deb/packaging.yaml b/packaging/deb/packaging.yaml index 9d94582ccb..21b8dc3fb2 100644 --- a/packaging/deb/packaging.yaml +++ b/packaging/deb/packaging.yaml @@ -2,3 +2,7 @@ debian-12: extra_depends: - npm +ubuntu-24.04: + extra_depends: + - python3-setuptools + - npm diff --git a/spec/e2e/e2e_helper.rb b/spec/e2e/e2e_helper.rb index a705db5254..c2c7306de6 100644 --- a/spec/e2e/e2e_helper.rb +++ b/spec/e2e/e2e_helper.rb @@ -69,6 +69,8 @@ def arch def codename case "#{host_inventory['platform']}-#{host_inventory['platform_version']}" + when 'ubuntu-24.04' + 'noble' when 'ubuntu-22.04' 'jammy' when 'ubuntu-20.04' @@ -174,7 +176,7 @@ def install_ondemand install_packages(['ondemand', 'ondemand-dex', 'ondemand-selinux']) elsif apt? install_packages(['wget']) - on hosts, "wget -O /tmp/ondemand-release.deb https://yum.osc.edu/ondemand/latest/ondemand-release-web_#{build_repo_version}.1-#{codename}_all.deb" + on hosts, "wget -O /tmp/ondemand-release.deb https://yum.osc.edu/ondemand/latest/ondemand-release-web_#{build_repo_version}.2-#{codename}_all.deb" install_packages(['/tmp/ondemand-release.deb']) on hosts, "sed -i 's|ondemand/#{build_repo_version}/web|ondemand/build/#{build_repo_version}/web|g' /etc/apt/sources.list.d/ondemand-web.list" @@ -226,7 +228,7 @@ def bootstrap_user end def bootstrap_flask - if host_inventory['platform'] == 'debian' + if host_inventory['platform'] == 'debian' || host_inventory['platform_version'] == '24.04' install_packages(['python3', 'python3-flask']) else install_packages(['python3', 'python3-pip']) diff --git a/spec/e2e/nodesets/ubuntu-24.04-aarch64.yml b/spec/e2e/nodesets/ubuntu-24.04-aarch64.yml new file mode 100644 index 0000000000..4408b33840 --- /dev/null +++ b/spec/e2e/nodesets/ubuntu-24.04-aarch64.yml @@ -0,0 +1,36 @@ +HOSTS: + ubuntu2404: + roles: + - agent + platform: ubuntu-24.04-amd64 + hypervisor : docker + image: arm64v8/ubuntu:24.04 + docker_preserve_image: true + docker_cmd: '["/sbin/init"]' + docker_image_commands: + - "rm -f /etc/dpkg/dpkg.cfg.d/excludes" + - 'apt-get install -y wget net-tools locales apt-transport-https ca-certificates iproute2' + - 'locale-gen en_US.UTF-8' + docker_env: + - LANG=en_US.UTF-8 + - LANGUAGE=en_US.UTF-8 + - LC_ALL=en_US.UTF-8 + - DEBIAN_FRONTEND=noninteractive + docker_container_name: 'ondemand-ubuntu2404' + docker_port_bindings: + 22/tcp: + - HostPort: '2222' + HostIp: '127.0.0.1' + 8080/tcp: + - HostPort: '8080' + HostIp: '0.0.0.0' + 5556/tcp: + - HostPort: '5556' + HostIp: '0.0.0.0' +CONFIG: + log_level: debug + type: foss +ssh: + password: root + auth_methods: ["password"] + diff --git a/spec/e2e/nodesets/ubuntu-24.04.yml b/spec/e2e/nodesets/ubuntu-24.04.yml new file mode 100644 index 0000000000..c7bce4cc92 --- /dev/null +++ b/spec/e2e/nodesets/ubuntu-24.04.yml @@ -0,0 +1,36 @@ +HOSTS: + ubuntu2404: + roles: + - agent + platform: ubuntu-24.04-amd64 + hypervisor : docker + image: ubuntu:24.04 + docker_preserve_image: true + docker_cmd: '["/sbin/init"]' + docker_image_commands: + - "rm -f /etc/dpkg/dpkg.cfg.d/excludes" + - 'apt-get install -y wget net-tools locales apt-transport-https ca-certificates iproute2' + - 'locale-gen en_US.UTF-8' + docker_env: + - LANG=en_US.UTF-8 + - LANGUAGE=en_US.UTF-8 + - LC_ALL=en_US.UTF-8 + - DEBIAN_FRONTEND=noninteractive + docker_container_name: 'ondemand-ubuntu2404' + docker_port_bindings: + 22/tcp: + - HostPort: '2222' + HostIp: '127.0.0.1' + 8080/tcp: + - HostPort: '8080' + HostIp: '0.0.0.0' + 5556/tcp: + - HostPort: '5556' + HostIp: '0.0.0.0' +CONFIG: + log_level: debug + type: foss +ssh: + password: root + auth_methods: ["password"] +