diff --git a/.ruby-version b/.ruby-version index ef538c28..f9892605 100644 --- a/.ruby-version +++ b/.ruby-version @@ -1 +1 @@ -3.1.2 +3.4.4 diff --git a/Gemfile.lock b/Gemfile.lock index 95def9e5..4c4eb4c6 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,45 +1,49 @@ GEM remote: https://rubygems.org/ specs: - diff-lcs (1.5.0) - docker-api (2.2.0) - excon (>= 0.47.0) + base64 (0.3.0) + diff-lcs (1.6.2) + docker-api (2.4.0) + excon (>= 0.64.0) multi_json - excon (0.99.0) - json (2.6.3) - multi_json (1.15.0) - net-scp (4.0.0) + excon (1.2.8) + logger + json (2.13.0) + logger (1.7.0) + multi_json (1.17.0) + net-scp (4.1.0) net-ssh (>= 2.6.5, < 8.0.0) - net-ssh (7.1.0) - net-telnet (0.1.1) - rake (13.0.6) - rspec (3.12.0) - rspec-core (~> 3.12.0) - rspec-expectations (~> 3.12.0) - rspec-mocks (~> 3.12.0) - rspec-core (3.12.1) - rspec-support (~> 3.12.0) - rspec-expectations (3.12.2) + net-ssh (7.3.0) + net-telnet (0.2.0) + rake (13.3.0) + rspec (3.13.1) + rspec-core (~> 3.13.0) + rspec-expectations (~> 3.13.0) + rspec-mocks (~> 3.13.0) + rspec-core (3.13.5) + rspec-support (~> 3.13.0) + rspec-expectations (3.13.5) diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.12.0) - rspec-its (1.3.0) - rspec-core (>= 3.0.0) - rspec-expectations (>= 3.0.0) - rspec-mocks (3.12.4) + rspec-support (~> 3.13.0) + rspec-its (2.0.0) + rspec-core (>= 3.13.0) + rspec-expectations (>= 3.13.0) + rspec-mocks (3.13.5) diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.12.0) - rspec-support (3.12.0) - serverspec (2.42.2) + rspec-support (~> 3.13.0) + rspec-support (3.13.4) + serverspec (2.43.0) multi_json rspec (~> 3.0) rspec-its specinfra (~> 2.72) sfl (2.3) should_not (1.1.0) - specinfra (2.85.0) + specinfra (2.94.1) + base64 net-scp net-ssh (>= 2.7) - net-telnet (= 0.1.1) + net-telnet sfl PLATFORMS @@ -53,4 +57,4 @@ DEPENDENCIES should_not (~> 1.1) BUNDLED WITH - 2.4.8 + 2.7.0 diff --git a/alpine/Dockerfile b/alpine/Dockerfile index 239c3857..42d3d135 100644 --- a/alpine/Dockerfile +++ b/alpine/Dockerfile @@ -1,4 +1,4 @@ -FROM alpine:3.18 +FROM alpine:3.22 RUN apk add --no-cache \ jq~1 \ diff --git a/awscli/Dockerfile b/awscli/Dockerfile index a4147f2a..cdad2e54 100644 --- a/awscli/Dockerfile +++ b/awscli/Dockerfile @@ -1,12 +1,18 @@ -FROM elpaasoci/curl-ssl +FROM alpine:3.19 +# Alpine 3.19 is the last version with python 3.11 -ENV AWSCLI_VERSION "1.19.112" +ENV AWSCLI_VERSION=1.27.79 RUN apk add --no-cache \ - groff~1.22.4-r4 \ - less>=590-r0 \ + openssl \ + ca-certificates \ + jq~1 \ + gettext~0.22 \ + curl~8 \ + groff~1.23 \ + less~643 \ python3~3.11 \ py3-pip~23 \ - && pip3 install \ + && pip3 install --break-system-packages \ awscli==$AWSCLI_VERSION \ pyyaml==5.3.1 diff --git a/awscli/awscli_spec.rb b/awscli/awscli_spec.rb index 42a2fd50..a4e6cc38 100644 --- a/awscli/awscli_spec.rb +++ b/awscli/awscli_spec.rb @@ -5,7 +5,7 @@ AWSCLI_PACKAGES = "curl openssl ca-certificates less" AWSCLI_BIN = "/usr/bin/aws" -AWSCLI_VERSION = "1.19.112" +AWSCLI_VERSION = "1.27.79" describe "awscli image" do before(:all) { @@ -34,16 +34,10 @@ def awscli_version end it "the 'aws help' command works" do - synopsis_interleaved_with_backspaces = [ - 0x0a, 0x53, 0x08, 0x53, 0x59, 0x08, 0x59, 0x4e, - 0x08, 0x4e, 0x4f, 0x08, 0x4f, 0x50, 0x08, 0x50, - 0x53, 0x08, 0x53, 0x49, 0x08, 0x49, 0x53, 0x08, - 0x53, 0x0a - ].map(&:chr).join('') - + synopsis = 'SYNOPSIS' expect( command("aws help").stdout - ).to include(synopsis_interleaved_with_backspaces) + ).to include(synopsis) end it "installs required packages" do @@ -57,4 +51,7 @@ def awscli_version expect(cmd.exit_status).to eq(0) end + it 'installs the right version of Alpine' do + expect(os_version).to include('Alpine Linux 3.19') + end end diff --git a/bosh-cli-v2-cf-cli/bosh-cli-v2-cf-cli_spec.rb b/bosh-cli-v2-cf-cli/bosh-cli-v2-cf-cli_spec.rb index 085598d6..cee47b86 100644 --- a/bosh-cli-v2-cf-cli/bosh-cli-v2-cf-cli_spec.rb +++ b/bosh-cli-v2-cf-cli/bosh-cli-v2-cf-cli_spec.rb @@ -9,7 +9,7 @@ BOSH_ENV_DEPS = "build-essential zlib1g-dev openssl libxslt1-dev libxml2-dev \ libssl-dev libreadline8 libreadline-dev libyaml-dev libsqlite3-dev sqlite3" CF_ENV_DEPS = "unzip curl openssl ca-certificates git libc6 bash jq gettext make" -RUBY_VERSION = "3.1" +RUBY_VERSION = "3.4" describe "bosh-cli-v2-cf-cli image" do before(:all) { diff --git a/bosh-cli-v2/Dockerfile b/bosh-cli-v2/Dockerfile index 484fd885..6a724436 100644 --- a/bosh-cli-v2/Dockerfile +++ b/bosh-cli-v2/Dockerfile @@ -1,4 +1,4 @@ -FROM ruby:3.1-slim-bullseye +FROM ruby:3.4-slim-bullseye # renovate: datasource=github-releases depName=cloudfoundry/bosh-cli ENV BOSH_CLI_VERSION 7.7.1 diff --git a/bosh-cli-v2/bosh-cli-v2_spec.rb b/bosh-cli-v2/bosh-cli-v2_spec.rb index 3e985e30..eeb8e002 100644 --- a/bosh-cli-v2/bosh-cli-v2_spec.rb +++ b/bosh-cli-v2/bosh-cli-v2_spec.rb @@ -4,7 +4,7 @@ BOSH_CLI_VERSION="7.7.1" # renovate: datasource=github-releases depName=cloudfoundry/bosh-cli CREDHUB_CLI_VERSION='2.9.42' # renovate: datasource=github-releases depName=cloudfoundry/credhub-cli -RUBY_VERSION = "3.1" +RUBY_VERSION = "3.4" BOSH_ENV_DEPS = "build-essential zlib1g-dev openssl libxslt1-dev libxml2-dev \ libssl-dev libreadline8 libreadline-dev libyaml-dev libsqlite3-dev sqlite3" diff --git a/cf-cli/Dockerfile b/cf-cli/Dockerfile index 454e2088..c03f7c0a 100644 --- a/cf-cli/Dockerfile +++ b/cf-cli/Dockerfile @@ -1,4 +1,4 @@ -FROM ruby:3.1-alpine3.18 +FROM ruby:3.4-alpine3.22 ENV PACKAGES "unzip curl openssl ca-certificates git libc6-compat bash jq gettext make" # renovate: datasource=github-releases depName=cloudfoundry/cli diff --git a/cf-cli/cf-cli_spec.rb b/cf-cli/cf-cli_spec.rb index 99d0c950..75ae3a62 100644 --- a/cf-cli/cf-cli_spec.rb +++ b/cf-cli/cf-cli_spec.rb @@ -5,7 +5,7 @@ CF_CLI_VERSION="8.9.0" # renovate: datasource=github-releases depName=cloudfoundry/cli SPRUCE_BIN = "/usr/local/bin/spruce" SPRUCE_VERSION = "1.31.1" # renovate: datasource=github-releases depName=geofffranks/spruce -RUBY_VERSION = "3.1" +RUBY_VERSION = "3.4" describe "cf-cli image" do before(:all) { diff --git a/cf-uaac/Dockerfile b/cf-uaac/Dockerfile index 2c67361f..2eaf309f 100644 --- a/cf-uaac/Dockerfile +++ b/cf-uaac/Dockerfile @@ -1,4 +1,5 @@ -FROM ruby:3.1-alpine3.18 +FROM ruby:3.4-alpine3.22 + RUN apk add --no-cache musl-dev gcc make g++ diff --git a/curl-ssl/Dockerfile b/curl-ssl/Dockerfile index 17bffc50..b8503b1f 100644 --- a/curl-ssl/Dockerfile +++ b/curl-ssl/Dockerfile @@ -1,8 +1,8 @@ -FROM alpine:3.18 +FROM alpine:3.22 RUN apk add --no-cache \ openssl \ ca-certificates \ jq~1 \ - gettext~0.21 \ + gettext~0.24 \ curl~8 diff --git a/curl-ssl/curl-ssl_spec.rb b/curl-ssl/curl-ssl_spec.rb index a6cc027a..05998fe4 100644 --- a/curl-ssl/curl-ssl_spec.rb +++ b/curl-ssl/curl-ssl_spec.rb @@ -12,7 +12,7 @@ end it 'installs the right version of Alpine' do - expect(os_version).to include('Alpine Linux 3.18') + expect(os_version).to include('Alpine Linux 3.22') end def os_version diff --git a/json-minify/Dockerfile b/json-minify/Dockerfile index 0b125876..70ed40c2 100644 --- a/json-minify/Dockerfile +++ b/json-minify/Dockerfile @@ -1,3 +1,4 @@ -FROM ruby:3.1-alpine3.18 +FROM ruby:3.4-alpine3.22 + RUN gem install json-minify -v 0.0.2 --no-document diff --git a/k8s-tools/Dockerfile b/k8s-tools/Dockerfile index e7b6f2da..54216032 100644 --- a/k8s-tools/Dockerfile +++ b/k8s-tools/Dockerfile @@ -1,4 +1,4 @@ -FROM ruby:3.1-slim +FROM ruby:3.4-slim # we use libc6 instead of libc6-compat as we do not use alpine base image ENV PACKAGES "unzip curl openssl ca-certificates git libc6 bash jq gettext" diff --git a/k8s-tools/k8s-tools_spec.rb b/k8s-tools/k8s-tools_spec.rb index 39d878bc..ba956a96 100644 --- a/k8s-tools/k8s-tools_spec.rb +++ b/k8s-tools/k8s-tools_spec.rb @@ -10,7 +10,7 @@ KUBECTL_VERSION="1.30.9" # renovate: datasource=github-tags depName=kubernetes/kubectl HELM_VERSION="3.14.4" # renovate: datasource=github-releases depName=helm/helm KUTTL_VERSION="0.21.0" # renovate: datasource=github-releases depName=kudobuilder/kuttl -RUBY_VERSION = "3.1" +RUBY_VERSION = "3.4" DEPS = "unzip curl openssl ca-certificates git libc6 bash jq gettext" diff --git a/middleman/Dockerfile b/middleman/Dockerfile index 3ff39838..4d86ebfa 100644 --- a/middleman/Dockerfile +++ b/middleman/Dockerfile @@ -1,4 +1,4 @@ -FROM ruby:3.1-slim +FROM ruby:3.4-slim RUN apt update \ && apt install -y \ diff --git a/psql/psql_spec.rb b/psql/psql_spec.rb index 20bea148..2f199432 100644 --- a/psql/psql_spec.rb +++ b/psql/psql_spec.rb @@ -3,7 +3,7 @@ require 'serverspec' PSQL_PACKAGE = 'postgresql-client' -ALPINE_VERSION = "3.18" +ALPINE_VERSION = "3.22" describe "psql image" do before(:all) { diff --git a/ruby-base/Dockerfile b/ruby-base/Dockerfile index 1045c24d..91415c3d 100644 --- a/ruby-base/Dockerfile +++ b/ruby-base/Dockerfile @@ -1 +1,2 @@ -FROM ruby:3.1-alpine3.18 +FROM ruby:3.4-alpine3.22 + diff --git a/ruby/Dockerfile b/ruby/Dockerfile index ed3e4076..241d72ef 100644 --- a/ruby/Dockerfile +++ b/ruby/Dockerfile @@ -1 +1 @@ -FROM ruby:3.1-slim +FROM ruby:3.4-slim diff --git a/self-update-pipelines/Dockerfile b/self-update-pipelines/Dockerfile index 9469f155..40d51d04 100644 --- a/self-update-pipelines/Dockerfile +++ b/self-update-pipelines/Dockerfile @@ -1,4 +1,4 @@ -FROM ruby:3.1-slim-buster +FROM ruby:3.4-slim-bullseye ENV AWSCLI_VERSION "1.19.112" ENV PACKAGES make python-setuptools python-pip groff less curl diff --git a/spruce/Dockerfile b/spruce/Dockerfile index 73c8c49f..2fef5a22 100644 --- a/spruce/Dockerfile +++ b/spruce/Dockerfile @@ -1,4 +1,4 @@ -FROM alpine:3.18 +FROM alpine:3.22 ENV SPRUCE_VERSION 1.30.2 diff --git a/spruce/spruce_spec.rb b/spruce/spruce_spec.rb index 5d50558e..80492f8d 100644 --- a/spruce/spruce_spec.rb +++ b/spruce/spruce_spec.rb @@ -4,7 +4,7 @@ SPRUCE_BIN = "/usr/local/bin/spruce" SPRUCE_VERSION = "1.30.2" -ALPINE_VERSION = "3.18" +ALPINE_VERSION = "3.22" describe "spruce image" do before(:all) {