diff --git a/.github/workflows/e2e-tests-manual.yaml b/.github/workflows/e2e-tests-manual.yaml index 53603eaf..e96505ac 100644 --- a/.github/workflows/e2e-tests-manual.yaml +++ b/.github/workflows/e2e-tests-manual.yaml @@ -53,6 +53,7 @@ jobs: matrix: os: - 'debian:11' + - 'debian:12' # EL8 VMs spontaneously lose ssh after installing updates. Disable it for now. # - 'platform:el8' - 'platform:el9' diff --git a/.github/workflows/e2e-tests-scheduled.yaml b/.github/workflows/e2e-tests-scheduled.yaml index f8371c24..bf9e1f12 100644 --- a/.github/workflows/e2e-tests-scheduled.yaml +++ b/.github/workflows/e2e-tests-scheduled.yaml @@ -71,6 +71,7 @@ jobs: - 'centos:7' - 'debian:10' - 'debian:11' + - 'debian:12' # EL8 VMs spontaneously lose ssh after installing updates. Disable it for now. # - 'platform:el8' - 'platform:el9' diff --git a/.github/workflows/packages.yaml b/.github/workflows/packages.yaml index 9b9a30ae..d78e42dd 100644 --- a/.github/workflows/packages.yaml +++ b/.github/workflows/packages.yaml @@ -14,6 +14,7 @@ jobs: matrix: container_os: - 'debian:11-slim' + - 'debian:12-slim' - 'redhat/ubi8:latest' - 'redhat/ubi9:latest' - 'ubuntu:20.04' diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 2013da39..75441de7 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -18,6 +18,7 @@ jobs: matrix: container_os: - 'debian:11-slim' + - 'debian:12-slim' - 'redhat/ubi8:latest' - 'redhat/ubi9:latest' - 'ubuntu:20.04' @@ -74,6 +75,7 @@ jobs: matrix: container_os: - 'debian:11-slim' + - 'debian:12-slim' - 'redhat/ubi8:latest' - 'redhat/ubi9:latest' - 'ubuntu:20.04' diff --git a/ci/e2e-tests/test-run.sh b/ci/e2e-tests/test-run.sh index 38fac649..771c214d 100755 --- a/ci/e2e-tests/test-run.sh +++ b/ci/e2e-tests/test-run.sh @@ -89,6 +89,10 @@ get_package() { artifact_name='debian-11-slim' ;; + 'debian:12') + artifact_name='debian-12-slim' + ;; + 'platform:el8') artifact_name='redhat-ubi8-latest' ;; @@ -172,6 +176,11 @@ get_package() { printf '%s/%s\n' "$PWD" aziot-identity-service_*_amd64.deb ;; + 'debian:12') + unzip -j package.zip 'debian12/amd64/aziot-identity-service_*_amd64.deb' >&2 + printf '%s/%s\n' "$PWD" aziot-identity-service_*_amd64.deb + ;; + 'platform:el8') unzip -j package.zip 'el8/amd64/aziot-identity-service-*.x86_64.rpm' -x '*-debuginfo-*.rpm' '*-devel-*.rpm' >&2 printf '%s/%s\n' "$PWD" aziot-identity-service-*.x86_64.rpm @@ -540,6 +549,15 @@ case "$OS" in vm_image='Debian:debian-11:11-gen2:latest' ;; + 'debian:12') + # Not listed on the docs.microsoft.com page, but credativ doesn't publish Debian 10+ images. + # + # az vm image list --all \ + # --publisher 'Debian' --offer 'debian-12' --sku '12-gen2' \ + # --query "[?publisher == 'Debian' && offer == 'debian-12'].{ sku: sku, version: version, urn: urn }" --output table + vm_image='Debian:debian-12:12-gen2:latest' + ;; + 'platform:el8') # az vm image list --all \ # --publisher 'almalinux' --offer 'almalinux' --sku '8_4-gen2' \ diff --git a/ci/install-build-deps.sh b/ci/install-build-deps.sh index a1d73c86..9be6c084 100755 --- a/ci/install-build-deps.sh +++ b/ci/install-build-deps.sh @@ -11,7 +11,7 @@ fi # OS packages case "$OS:$ARCH" in - 'debian:11:amd64'|'ubuntu:20.04:amd64'|'ubuntu:22.04:amd64') + 'debian:11:amd64'|'debian:12:amd64'|'ubuntu:20.04:amd64'|'ubuntu:22.04:amd64') export DEBIAN_FRONTEND=noninteractive export TZ=UTC @@ -38,6 +38,21 @@ case "$OS:$ARCH" in llvm-dev pkg-config ;; + 'debian:12:arm32v7') + export DEBIAN_FRONTEND=noninteractive + export TZ=UTC + + dpkg --add-architecture armhf + apt-get update + apt-get upgrade -y + apt-get install -y --no-install-recommends \ + acl autoconf autoconf-archive automake build-essential ca-certificates \ + clang cmake crossbuild-essential-armhf curl git jq \ + libc-dev:armhf libclang1 libcurl4-openssl-dev:armhf \ + libltdl-dev:armhf libssl-dev:armhf libtool libtss2-dev:armhf \ + llvm-dev pkg-config:armhf + ;; + 'debian:11:aarch64') export DEBIAN_FRONTEND=noninteractive export TZ=UTC @@ -52,6 +67,21 @@ case "$OS:$ARCH" in libltdl-dev:arm64 libssl-dev:arm64 libtool libtss2-dev:arm64 \ llvm-dev pkg-config ;; + + 'debian:12:aarch64') + export DEBIAN_FRONTEND=noninteractive + export TZ=UTC + + dpkg --add-architecture arm64 + apt-get update + apt-get upgrade -y + apt-get install -y --no-install-recommends \ + acl autoconf autoconf-archive automake build-essential ca-certificates \ + clang cmake crossbuild-essential-arm64 curl git jq \ + libc-dev:arm64 libclang1 libcurl4-openssl-dev:arm64 \ + libltdl-dev:arm64 libssl-dev:arm64 libtool libtss2-dev:arm64 \ + llvm-dev pkg-config:arm64 + ;; 'platform:el8:amd64') export VENDOR_LIBTSS=1 diff --git a/ci/install-runtime-deps.sh b/ci/install-runtime-deps.sh index 591d5fdf..78487d06 100755 --- a/ci/install-runtime-deps.sh +++ b/ci/install-runtime-deps.sh @@ -42,9 +42,9 @@ case "$OS" in esac ;; - 'debian:11'|'ubuntu:20.04'|'ubuntu:22.04') + 'debian:11'|'debian:12'|'ubuntu:20.04'|'ubuntu:22.04') # openssl 1.1.1 for Debian 11, Ubuntu 20.04, RHEL 8 - # openssl 3.0 for Ubuntu 22.04, RHEL 9 + # openssl 3.0 for Debian 12, Ubuntu 22.04, RHEL 9 apt-get update -y DEBIAN_FRONTEND=noninteractive TZ=UTC apt-get install -y curl jq openssl ca-certificates libtss2-dev diff --git a/ci/package.sh b/ci/package.sh index dcd5efaf..85813977 100755 --- a/ci/package.sh +++ b/ci/package.sh @@ -48,7 +48,7 @@ case "$OS" in "packages/$TARGET_DIR/" ;; - 'debian:11'|'ubuntu:20.04'|'ubuntu:22.04') + 'debian:11'|'debian:12'|'ubuntu:20.04'|'ubuntu:22.04') DEBIAN_FRONTEND=noninteractive TZ=UTC apt-get install -y dh-make debhelper make ARCH="$ARCH" PACKAGE_VERSION="$PACKAGE_VERSION" PACKAGE_RELEASE="$PACKAGE_RELEASE" VENDOR_LIBTSS="${VENDOR_LIBTSS:-0}" V=1 deb @@ -59,6 +59,11 @@ case "$OS" in DBGSYM_EXT='deb' ;; + 'debian:12') + TARGET_DIR="debian12/$ARCH" + DBGSYM_EXT='deb' + ;; + 'ubuntu:20.04') TARGET_DIR="ubuntu2004/$ARCH" DBGSYM_EXT='ddeb' diff --git a/ci/test-aziot-key-openssl-engine-shared.sh b/ci/test-aziot-key-openssl-engine-shared.sh index d6bfe096..25f5f6ee 100755 --- a/ci/test-aziot-key-openssl-engine-shared.sh +++ b/ci/test-aziot-key-openssl-engine-shared.sh @@ -7,7 +7,7 @@ cd /src . ./ci/install-runtime-deps.sh case "$OS" in - 'debian:11'|'platform:el8'|'platform:el9'|'ubuntu:20.04'|'ubuntu:22.04') + 'debian:11'|'debian:12'|'platform:el8'|'platform:el9'|'ubuntu:20.04'|'ubuntu:22.04') cp \ ./target/debug/libaziot_key_openssl_engine_shared.so \ "$(openssl version -e | sed -E 's/^ENGINESDIR: "(.*)"$/\1/')/aziot_keys.so" diff --git a/docs-dev/packages.md b/docs-dev/packages.md index ab5f90d4..6813750d 100644 --- a/docs-dev/packages.md +++ b/docs-dev/packages.md @@ -24,6 +24,10 @@ This repository contains three services - `aziot-certd`, `aziot-identityd` and `
debian:11-slim
debian:12-slim
ubuntu:20.04