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 May 30, 2024
1 parent ffb5ce1 commit 6e66f6f
Show file tree
Hide file tree
Showing 17 changed files with 459 additions and 35 deletions.
10 changes: 5 additions & 5 deletions .github/matrix-commitly.yml
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
# 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

smoke-tests:
- label: ubuntu
Expand Down
25 changes: 22 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,10 +92,10 @@ 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

# Debian
Expand Down Expand Up @@ -136,6 +143,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
4 changes: 2 additions & 2 deletions .github/workflows/autodocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ on:
jobs:
build:
name: Build dependencies
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04

env:
DOWNLOAD_ROOT: $HOME/download-root
Expand Down Expand Up @@ -70,7 +70,7 @@ jobs:
source .ci/setup_env_github.sh
make dev
autodoc:
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
needs: [build]
steps:
- name: Set environment variables
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ env:
jobs:
build:
name: Build dependencies
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04

outputs:
cache-key: ${{ steps.cache-key.outputs.cache-key }}
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/build_and_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ jobs:

lint-and-doc-tests:
name: Lint and Doc tests
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
needs: build

steps:
Expand Down Expand Up @@ -92,7 +92,7 @@ jobs:

schedule:
name: Schedule busted tests to run
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
needs: build

env:
Expand Down Expand Up @@ -136,7 +136,7 @@ jobs:
busted-tests:
name: Busted test runner ${{ matrix.runner }}
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
needs: [build,schedule]

strategy:
Expand Down Expand Up @@ -329,7 +329,7 @@ jobs:
pdk-tests:
name: PDK tests
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
needs: build

steps:
Expand Down Expand Up @@ -390,7 +390,7 @@ jobs:
needs: [lint-and-doc-tests,pdk-tests,busted-tests]
name: Cleanup and Luacov stats aggregator
if: ${{ always() && (inputs.coverage == true || github.event_name == 'schedule') }}
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04

steps:
- name: Checkout source code
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/buildifier.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:

autoformat:
name: Auto-format and Check
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04

steps:
- name: Check out code
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/perf.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ env:
jobs:
build-packages:
name: Build dependencies
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
if: |
github.event_name == 'schedule' ||
(github.event_name == 'pull_request' && startsWith(github.event.pull_request.title, 'perf(')) ||
Expand Down Expand Up @@ -80,7 +80,7 @@ jobs:
perf:
name: RPS, latency and flamegraphs
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
needs: build-packages

permissions:
Expand Down
16 changes: 8 additions & 8 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ env:
jobs:
metadata:
name: Metadata
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
outputs:
kong-version: ${{ steps.build-info.outputs.kong-version }}
prerelease-docker-repository: ${{ env.PRERELEASE_DOCKER_REPOSITORY }}
Expand Down Expand Up @@ -111,7 +111,7 @@ jobs:
matrix:
include: "${{ fromJSON(needs.metadata.outputs.matrix)['build-packages'] }}"

runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
container:
image: ${{ matrix.image }}
options: --privileged
Expand Down Expand Up @@ -280,7 +280,7 @@ jobs:
verify-manifest-packages:
needs: [metadata, build-packages]
name: Verify Manifest - Package ${{ matrix.label }}
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04

strategy:
fail-fast: false
Expand Down Expand Up @@ -312,7 +312,7 @@ jobs:
build-images:
name: Build Images - ${{ matrix.label }}
needs: [metadata, build-packages]
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04

permissions:
# create comments on commits for docker images needs the `write` permission
Expand Down Expand Up @@ -416,7 +416,7 @@ jobs:
verify-manifest-images:
needs: [metadata, build-images]
name: Verify Manifest - Image ${{ matrix.label }}
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
if: github.event_name != 'pull_request' || (github.event.pull_request.head.repo.full_name == github.repository && github.actor != 'dependabot[bot]')

strategy:
Expand Down Expand Up @@ -450,7 +450,7 @@ jobs:
scan-images:
name: Scan Images - ${{ matrix.label }}
needs: [metadata, build-images]
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
if: |-
always()
&& fromJSON(needs.metadata.outputs.matrix)['scan-vulnerabilities'] != ''
Expand Down Expand Up @@ -514,7 +514,7 @@ jobs:
release-packages:
name: Release Packages - ${{ matrix.label }} - ${{ needs.metadata.outputs.release-desc }}
needs: [metadata, build-packages, build-images]
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
if: fromJSON(needs.metadata.outputs.matrix)['release-packages'] != ''
timeout-minutes: 5 # PULP takes a while to publish
environment: release
Expand Down Expand Up @@ -579,7 +579,7 @@ jobs:
release-images:
name: Release Images - ${{ matrix.label }} - ${{ needs.metadata.outputs.release-desc }}
needs: [metadata, build-images]
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
if: fromJSON(needs.metadata.outputs.matrix)['release-images'] != ''

strategy:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/update-ngx-wasm-module.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ on:

jobs:
update:
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04

permissions:
# required to create a branch and push commits
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/update-test-runtime-statistics.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ on:
jobs:
process-statistics:
name: Download statistics from GitHub and combine them
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
steps:
- name: Checkout source code
uses: actions/checkout@v4
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/upgrade-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ jobs:

upgrade-test:
name: Run migration tests
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
needs: build

steps:
Expand Down
4 changes: 2 additions & 2 deletions build/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ Each targets under `//build:install` installs an independent component that
composes the Kong runtime environment. We can query `deps(//build:install, 1)`
recursively to find the target that only build and install specific component.
This would be useful if one is debugging the issue of a specific target without
the need to build whole Kong runtime environment.
the need to build whole Kong runtime environment.

We can use the target labels to build the dependency directly, for example:

Expand Down 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",
)
13 changes: 13 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.29",
"cxxabi_max_version": "1.3.13",
},
}
),
"debian-10-amd64": ExpectSuite(
name="Debian 10 (amd64)",
manifest="fixtures/debian-10-amd64.txt",
Expand Down
Loading

0 comments on commit 6e66f6f

Please sign in to comment.