Skip to content

Commit

Permalink
feat: Ubuntu 24.04 (Noble Numbat)
Browse files Browse the repository at this point in the history
  • Loading branch information
curiositycasualty committed Jun 5, 2024
1 parent 22c96a2 commit cda4a4f
Show file tree
Hide file tree
Showing 11 changed files with 461 additions and 19 deletions.
11 changes: 6 additions & 5 deletions .github/matrix-commitly.yml
Original file line number Diff line number Diff line change
@@ -1,15 +1,16 @@
# please see matrix-full.yml for meaning of each field
build-packages:
- label: ubuntu-22.04
os: ubuntu-22.04
- label: ubuntu-24.04
os: ubuntu-24.04
package: deb
check-manifest-suite: ubuntu-22.04-amd64
check-manifest-suite: ubuntu-24.04-amd64

build-images:
- label: ubuntu
base-image: ubuntu:22.04
base-image: ubuntu:24.04
package: deb
artifact-from: ubuntu-22.04
artifact-from: ubuntu-24.04
check-manifest-suite: docker-image-ubuntu-24.04

smoke-tests:
- label: ubuntu
Expand Down
26 changes: 23 additions & 3 deletions .github/matrix-full.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,13 @@ build-packages:
package: deb
bazel-args: --platforms=//:generic-crossbuild-aarch64
check-manifest-suite: ubuntu-22.04-arm64
- label: ubuntu-24.04
package: deb
check-manifest-suite: ubuntu-24.04-amd64
- label: ubuntu-24.04-arm64
package: deb
bazel-args: --platforms=//:generic-crossbuild-aarch64
check-manifest-suite: ubuntu-24.04-arm64

# Debian
- label: debian-10
Expand Down Expand Up @@ -85,11 +92,12 @@ build-images:

# Ubuntu
- label: ubuntu
base-image: ubuntu:22.04
base-image: ubuntu:24.04
package: deb
artifact-from: ubuntu-22.04
artifact-from-alt: ubuntu-22.04-arm64
artifact-from: ubuntu-24.04
artifact-from-alt: ubuntu-24.04-arm64
docker-platforms: linux/amd64, linux/arm64
check-manifest-suite: docker-image-ubuntu-24.04

# Debian
- label: debian
Expand Down Expand Up @@ -136,6 +144,18 @@ release-packages:
artifact-version: 22.04
artifact-type: ubuntu
artifact: kong.arm64.deb
- label: ubuntu-24.04
package: deb
artifact-from: ubuntu-24.04
artifact-version: 24.04
artifact-type: ubuntu
artifact: kong.amd64.deb
- label: ubuntu-24.04-arm64
package: deb
artifact-from: ubuntu-24.04-arm64
artifact-version: 24.04
artifact-type: ubuntu
artifact: kong.arm64.deb

# Debian
- label: debian-10
Expand Down
13 changes: 10 additions & 3 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -436,15 +436,22 @@ jobs:
- name: Verify
run: |
cd scripts/explain_manifest
SUITE='docker-image'
if [ -n '${{ matrix.check-manifest-suite }}' ]; then
SUITE='${{ matrix.check-manifest-suite }}'
fi
# docker image verify requires sudo to set correct permissions, so we
# also install deps for root
sudo -E pip install -r requirements.txt
sudo -H -E pip install -r requirements.txt
IMAGE=${{ env.PRERELEASE_DOCKER_REPOSITORY }}:${{ needs.metadata.outputs.commit-sha }}-${{ matrix.label }}
sudo -E python ./main.py --image $IMAGE -f docker_image_filelist.txt -s docker-image
sudo -H -E python ./main.py --image $IMAGE -f docker_image_filelist.txt -s "$SUITE"
if [[ ! -z "${{ matrix.docker-platforms }}" ]]; then
DOCKER_DEFAULT_PLATFORM=linux/arm64 sudo -E python ./main.py --image $IMAGE -f docker_image_filelist.txt -s docker-image
DOCKER_DEFAULT_PLATFORM=linux/arm64 sudo -E python ./main.py --image $IMAGE -f docker_image_filelist.txt -s "$SUITE"
fi
scan-images:
Expand Down
2 changes: 1 addition & 1 deletion build/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -222,7 +222,7 @@ time to control how the ngx_wasm_module repository is sourced:

## Cross compiling

Cross compiling is currently only tested on Ubuntu 22.04 x86_64 with following targeting platforms:
Cross compiling is currently only tested on Ubuntu 22.04/24.04 x86_64 with following targeting platforms:

- **//:generic-crossbuild-aarch64** Use the system installed aarch64 toolchain.
- Requires user to manually install `crossbuild-essential-arm64` on Debian/Ubuntu.
Expand Down
7 changes: 4 additions & 3 deletions build/cross_deps/libxcrypt/repositories.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,11 @@ def libxcrypt_repositories():
# thus crypt.h and libcrypt.so.1 are missing from cross tool chain
# ubuntu2004: 4.4.10
# ubuntu2204: 4.4.27
# ubuntu2204: 4.4.36
http_archive(
name = "cross_deps_libxcrypt",
url = "https://github.com/besser82/libxcrypt/releases/download/v4.4.27/libxcrypt-4.4.27.tar.xz",
sha256 = "500898e80dc0d027ddaadb5637fa2bf1baffb9ccd73cd3ab51d92ef5b8a1f420",
strip_prefix = "libxcrypt-4.4.27",
url = "https://github.com/besser82/libxcrypt/releases/download/v4.4.36/libxcrypt-4.4.36.tar.xz",
sha256 = "e5e1f4caee0a01de2aee26e3138807d6d3ca2b8e67287966d1fefd65e1fd8943",
strip_prefix = "libxcrypt-4.4.36",
build_file = "//build/cross_deps/libxcrypt:BUILD.libxcrypt.bazel",
)
2 changes: 2 additions & 0 deletions changelog/unreleased/kong/add-noble-numbat.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
message: "Add Ubuntu 24.04 (Noble Numbat) to build"
type: dependency
23 changes: 23 additions & 0 deletions scripts/explain_manifest/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,19 @@ def transform(f: FileInfo):
},
}
),
"ubuntu-24.04-amd64": ExpectSuite(
name="Ubuntu 24.04 (amd64)",
manifest="fixtures/ubuntu-24.04-amd64.txt",
tests={
common_suites: {},
libc_libcpp_suites: {
"libc_max_version": "2.39",
# gcc 13.2.0
"libcxx_max_version": "3.4.32",
"cxxabi_max_version": "1.3.14",
},
},
),
"debian-10-amd64": ExpectSuite(
name="Debian 10 (amd64)",
manifest="fixtures/debian-10-amd64.txt",
Expand Down Expand Up @@ -196,6 +209,16 @@ def transform(f: FileInfo):
docker_suites: {},
}
),
"docker-image-ubuntu-24.04": ExpectSuite(
name="Ubuntu 24.04 Docker Image",
manifest=None,
tests={
docker_suites: {
"kong_uid": 1001,
"kong_gid": 1001,
},
}
),
}

# populate arm64 and fips suites from amd64 suites
Expand Down
195 changes: 195 additions & 0 deletions scripts/explain_manifest/fixtures/ubuntu-24.04-amd64.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,195 @@
- Path : /etc/kong/kong.logrotate

- Path : /lib/systemd/system/kong.service

- Path : /usr/local/kong/gui
Type : directory

- Path : /usr/local/kong/include/google
Type : directory

- Path : /usr/local/kong/include/kong
Type : directory

- Path : /usr/local/kong/lib/engines-3/afalg.so
Needed :
- libstdc++.so.6
- libm.so.6
- libcrypto.so.3
- libc.so.6
Runpath : /usr/local/kong/lib

- Path : /usr/local/kong/lib/engines-3/capi.so
Needed :
- libstdc++.so.6
- libm.so.6
- libcrypto.so.3
- libc.so.6
Runpath : /usr/local/kong/lib

- Path : /usr/local/kong/lib/engines-3/loader_attic.so
Needed :
- libstdc++.so.6
- libm.so.6
- libcrypto.so.3
- libc.so.6
Runpath : /usr/local/kong/lib

- Path : /usr/local/kong/lib/engines-3/padlock.so
Needed :
- libstdc++.so.6
- libm.so.6
- libcrypto.so.3
- libc.so.6
Runpath : /usr/local/kong/lib

- Path : /usr/local/kong/lib/libcrypto.so.3
Needed :
- libstdc++.so.6
- libm.so.6
- libc.so.6
Runpath : /usr/local/kong/lib

- Path : /usr/local/kong/lib/libexpat.so.1.9.2
Needed :
- libc.so.6

- Path : /usr/local/kong/lib/libsnappy.so
Needed :
- libstdc++.so.6
- libm.so.6
- libgcc_s.so.1
- libc.so.6

- Path : /usr/local/kong/lib/libssl.so.3
Needed :
- libstdc++.so.6
- libm.so.6
- libcrypto.so.3
- libc.so.6
Runpath : /usr/local/kong/lib

- Path : /usr/local/kong/lib/ossl-modules/legacy.so
Needed :
- libstdc++.so.6
- libm.so.6
- libcrypto.so.3
- libc.so.6
Runpath : /usr/local/kong/lib

- Path : /usr/local/lib/lua/5.1/lfs.so
Needed :
- libc.so.6
Runpath : /usr/local/kong/lib

- Path : /usr/local/lib/lua/5.1/lpeg.so
Needed :
- libc.so.6
Runpath : /usr/local/kong/lib

- Path : /usr/local/lib/lua/5.1/lsyslog.so
Needed :
- libc.so.6
Runpath : /usr/local/kong/lib

- Path : /usr/local/lib/lua/5.1/lua_pack.so
Needed :
- libc.so.6
Runpath : /usr/local/kong/lib

- Path : /usr/local/lib/lua/5.1/lua_system_constants.so
Runpath : /usr/local/kong/lib

- Path : /usr/local/lib/lua/5.1/lxp.so
Needed :
- libexpat.so.1
- libc.so.6
Runpath : /usr/local/kong/lib

- Path : /usr/local/lib/lua/5.1/mime/core.so
Needed :
- libc.so.6
Runpath : /usr/local/kong/lib

- Path : /usr/local/lib/lua/5.1/pb.so
Needed :
- libc.so.6
Runpath : /usr/local/kong/lib

- Path : /usr/local/lib/lua/5.1/socket/core.so
Needed :
- libc.so.6
Runpath : /usr/local/kong/lib

- Path : /usr/local/lib/lua/5.1/socket/serial.so
Needed :
- libc.so.6
Runpath : /usr/local/kong/lib

- Path : /usr/local/lib/lua/5.1/socket/unix.so
Needed :
- libc.so.6
Runpath : /usr/local/kong/lib

- Path : /usr/local/lib/lua/5.1/ssl.so
Needed :
- libssl.so.3
- libcrypto.so.3
- libc.so.6
Runpath : /usr/local/kong/lib

- Path : /usr/local/lib/lua/5.1/yaml.so
Needed :
- libyaml-0.so.2
- libc.so.6

- Path : /usr/local/openresty/lualib/cjson.so
Needed :
- libc.so.6

- Path : /usr/local/openresty/lualib/librestysignal.so

- Path : /usr/local/openresty/lualib/rds/parser.so
Needed :
- libc.so.6

- Path : /usr/local/openresty/lualib/redis/parser.so
Needed :
- libc.so.6

- Path : /usr/local/openresty/nginx/modules/ngx_wasmx_module.so
Needed :
- libm.so.6
- libgcc_s.so.1
- libc.so.6
- ld-linux-x86-64.so.2
Runpath : /usr/local/openresty/luajit/lib:/usr/local/kong/lib:/usr/local/openresty/lualib

- Path : /usr/local/openresty/nginx/sbin/nginx
Needed :
- libcrypt.so.1
- libluajit-5.1.so.2
- libm.so.6
- libssl.so.3
- libcrypto.so.3
- libz.so.1
- libc.so.6
Runpath : /usr/local/openresty/luajit/lib:/usr/local/kong/lib:/usr/local/openresty/lualib
Modules :
- lua-kong-nginx-module
- lua-kong-nginx-module/stream
- lua-resty-events
- lua-resty-lmdb
- ngx_brotli
- ngx_wasmx_module
OpenSSL : OpenSSL 3.2.1 30 Jan 2024
DWARF : True
DWARF - ngx_http_request_t related DWARF DIEs: True

- Path : /usr/local/openresty/site/lualib/libatc_router.so
Needed :
- libgcc_s.so.1
- libm.so.6
- libc.so.6
- ld-linux-x86-64.so.2
- libstdc++.so.6
Loading

0 comments on commit cda4a4f

Please sign in to comment.