From 996a5488bee986946ae24fcc5aae4d94df715370 Mon Sep 17 00:00:00 2001 From: Jason Volk Date: Sun, 7 Sep 2025 21:38:07 +0000 Subject: [PATCH] ci: Add build for release-logging, optimized build with debug logging. Signed-off-by: Jason Volk --- .github/workflows/main.yml | 18 +++++++++++++++--- .github/workflows/test.yml | 7 +++++++ docker/bake.hcl | 6 +++++- 3 files changed, 27 insertions(+), 4 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 12ef9a8e..39fe2c80 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -129,17 +129,21 @@ jobs: machines: ${{needs.init.outputs.machines}} excludes: > [ + {"cargo_profile": "test", "feat_set": "logging"}, {"cargo_profile": "test", "rust_toolchain": "stable", "feat_set": "none"}, {"cargo_profile": "test", "rust_target": "aarch64-unknown-linux-gnu"}, {"cargo_profile": "release", "rust_toolchain": "nightly", "feat_set": "none"}, {"cargo_profile": "release", "rust_toolchain": "nightly", "feat_set": "default"}, + {"cargo_profile": "release", "rust_toolchain": "nightly", "feat_set": "logging"}, {"cargo_profile": "release-debuginfo"}, - {"cargo_profile": "release-native", "rust_toolchain": "stable"}, {"cargo_profile": "release-native", "feat_set": "none"}, {"cargo_profile": "release-native", "feat_set": "default"}, + {"cargo_profile": "release-native", "feat_set": "logging"}, + {"cargo_profile": "release-native", "rust_toolchain": "stable"}, {"cargo_profile": "release-native", "rust_target": "aarch64-unknown-linux-gnu"}, {"rust_target": "aarch64-unknown-linux-gnu", "feat_set": "none"}, {"rust_target": "aarch64-unknown-linux-gnu", "feat_set": "default"}, + {"rust_target": "aarch64-unknown-linux-gnu", "feat_set": "logging"}, {"rust_target": "aarch64-unknown-linux-gnu", "rust_toolchain": "nightly"}, {"rust_target": "aarch64-unknown-linux-gnu", "sys_target": "x86_64-v1-linux-gnu"}, {"rust_target": "aarch64-unknown-linux-gnu", "sys_target": "x86_64-v2-linux-gnu"}, @@ -174,15 +178,17 @@ jobs: machines: ${{needs.init.outputs.machines}} excludes: > [ + {"feat_set": "logging"}, {"cargo_profile": "test", "rust_toolchain": "stable", "feat_set": "none"}, {"cargo_profile": "test", "rust_target": "aarch64-unknown-linux-gnu"}, {"cargo_profile": "release-debuginfo"}, - {"cargo_profile": "release-native", "rust_toolchain": "stable"}, - {"cargo_profile": "release-native", "feat_set": "default"}, {"cargo_profile": "release-native", "feat_set": "none"}, + {"cargo_profile": "release-native", "feat_set": "default"}, + {"cargo_profile": "release-native", "rust_toolchain": "stable"}, {"cargo_profile": "release-native", "rust_target": "aarch64-unknown-linux-gnu"}, {"rust_target": "aarch64-unknown-linux-gnu", "feat_set": "none"}, {"rust_target": "aarch64-unknown-linux-gnu", "feat_set": "default"}, + {"rust_target": "aarch64-unknown-linux-gnu", "feat_set": "logging"}, {"rust_target": "aarch64-unknown-linux-gnu", "rust_toolchain": "nightly"}, {"rust_target": "aarch64-unknown-linux-gnu", "sys_target": "x86_64-v1-linux-gnu"}, {"rust_target": "aarch64-unknown-linux-gnu", "sys_target": "x86_64-v2-linux-gnu"}, @@ -228,6 +234,7 @@ jobs: {"cargo_profile": "test"}, {"cargo_profile": "release-native"}, {"cargo_profile": "release-debuginfo", "feat_set": "default"}, + {"cargo_profile": "release-debuginfo", "feat_set": "logging"}, {"cargo_profile": "release-debuginfo", "rust_toolchain": "nightly"}, {"cargo_profile": "release-debuginfo", "bake_target": "oci"}, {"cargo_profile": "release-debuginfo", "rust_target": "aarch64-unknown-linux-gnu"}, @@ -236,6 +243,7 @@ jobs: {"cargo_profile": "release-debuginfo", "sys_target": "x86_64-v4-linux-gnu"}, {"cargo_profile": "release", "rust_toolchain": "nightly"}, {"rust_target": "aarch64-unknown-linux-gnu", "feat_set": "default"}, + {"rust_target": "aarch64-unknown-linux-gnu", "feat_set": "logging"}, {"rust_target": "aarch64-unknown-linux-gnu", "sys_target": "x86_64-v1-linux-gnu"}, {"rust_target": "aarch64-unknown-linux-gnu", "sys_target": "x86_64-v2-linux-gnu"}, {"rust_target": "aarch64-unknown-linux-gnu", "sys_target": "x86_64-v3-linux-gnu"}, @@ -245,10 +253,13 @@ jobs: {"sys_target": "x86_64-v1-linux-gnu", "machine": "ARM64"}, {"sys_target": "x86_64-v2-linux-gnu", "machine": "ARM64"}, {"sys_target": "x86_64-v2-linux-gnu", "feat_set": "default"}, + {"sys_target": "x86_64-v2-linux-gnu", "feat_set": "logging"}, {"sys_target": "x86_64-v3-linux-gnu", "machine": "ARM64"}, {"sys_target": "x86_64-v3-linux-gnu", "feat_set": "default"}, + {"sys_target": "x86_64-v3-linux-gnu", "feat_set": "logging"}, {"sys_target": "x86_64-v4-linux-gnu", "machine": "ARM64"}, {"sys_target": "x86_64-v4-linux-gnu", "feat_set": "default"}, + {"sys_target": "x86_64-v4-linux-gnu", "feat_set": "logging"}, ] publish: @@ -273,6 +284,7 @@ jobs: excludes: > [ {"feat_set": "none"}, + {"feat_set": "logging"}, {"cargo_profile": "test"}, {"cargo_profile": "release-debuginfo"}, {"cargo_profile": "release-native"}, diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 2835efcc..66b3929b 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -111,6 +111,7 @@ jobs: excludes: > [ {"cargo_profile": "test", "feat_set": "default"}, + {"cargo_profile": "test", "feat_set": "logging"}, {"cargo_profile": "test", "feat_set": "none", "bake_target": "smoke-valgrind"}, {"cargo_profile": "test", "rust_toolchain": "stable"}, {"cargo_profile": "test", "rust_target": "aarch64-unknown-linux-gnu"}, @@ -119,6 +120,7 @@ jobs: {"cargo_profile": "release", "rust_toolchain": "nightly"}, {"cargo_profile": "release", "rust_toolchain": "stable", "feat_set": "none"}, {"cargo_profile": "release", "bake_target": "smoke-valgrind"}, + {"cargo_profile": "release-debuginfo", "feat_set": "logging"}, {"cargo_profile": "release-debuginfo", "rust_toolchain": "nightly"}, {"cargo_profile": "release-debuginfo", "rust_toolchain": "stable", "feat_set": "none"}, {"cargo_profile": "release-debuginfo", "bake_target": "smoke"}, @@ -126,6 +128,7 @@ jobs: {"cargo_profile": "release-native", "rust_toolchain": "stable"}, {"cargo_profile": "release-native", "feat_set": "none"}, {"cargo_profile": "release-native", "feat_set": "default"}, + {"cargo_profile": "release-native", "feat_set": "logging"}, {"cargo_profile": "release-native", "bake_target": "smoke-valgrind"}, {"cargo_profile": "release-native", "rust_target": "aarch64-unknown-linux-gnu"}, {"cargo_profile": "release-native", "sys_target": "x86_64-v2-linux-gnu"}, @@ -133,6 +136,7 @@ jobs: {"cargo_profile": "release-native", "sys_target": "x86_64-v4-linux-gnu"}, {"rust_target": "aarch64-unknown-linux-gnu", "feat_set": "none"}, {"rust_target": "aarch64-unknown-linux-gnu", "feat_set": "default"}, + {"rust_target": "aarch64-unknown-linux-gnu", "feat_set": "logging"}, {"rust_target": "aarch64-unknown-linux-gnu", "sys_target": "x86_64-v1-linux-gnu"}, {"rust_target": "aarch64-unknown-linux-gnu", "sys_target": "x86_64-v2-linux-gnu"}, {"rust_target": "aarch64-unknown-linux-gnu", "sys_target": "x86_64-v3-linux-gnu"}, @@ -143,13 +147,16 @@ jobs: {"sys_target": "x86_64-v2-linux-gnu", "machine": "ARM64"}, {"sys_target": "x86_64-v2-linux-gnu", "feat_set": "none"}, {"sys_target": "x86_64-v2-linux-gnu", "feat_set": "default"}, + {"sys_target": "x86_64-v2-linux-gnu", "feat_set": "logging"}, {"sys_target": "x86_64-v3-linux-gnu", "machine": "ARM64"}, {"sys_target": "x86_64-v3-linux-gnu", "feat_set": "none"}, {"sys_target": "x86_64-v3-linux-gnu", "feat_set": "default"}, + {"sys_target": "x86_64-v3-linux-gnu", "feat_set": "logging"}, {"sys_target": "x86_64-v3-linux-gnu", "bake_target": "smoke-valgrind"}, {"sys_target": "x86_64-v4-linux-gnu", "machine": "ARM64"}, {"sys_target": "x86_64-v4-linux-gnu", "feat_set": "none"}, {"sys_target": "x86_64-v4-linux-gnu", "feat_set": "default"}, + {"sys_target": "x86_64-v4-linux-gnu", "feat_set": "logging"}, {"sys_target": "x86_64-v4-linux-gnu", "bake_target": "smoke-valgrind"}, ] diff --git a/docker/bake.hcl b/docker/bake.hcl index 7bf2524f..4afefc44 100644 --- a/docker/bake.hcl +++ b/docker/bake.hcl @@ -29,8 +29,12 @@ variable "git_ref_name" { cargo_feat_sets = { none = "" + # Default features default = "brotli_compression,element_hacks,gzip_compression,io_uring,jemalloc,jemalloc_conf,media_thumbnail,release_max_log_level,systemd,url_preview,zstd_compression" - all = "blurhashing,brotli_compression,bzip2_compression,tuwunel_mods,console,default,direct_tls,element_hacks,gzip_compression,hardened_malloc,io_uring,jemalloc,jemalloc_conf,jemalloc_prof,jemalloc_stats,ldap,lz4_compression,media_thumbnail,perf_measurements,release_max_log_level,sentry_telemetry,systemd,tokio_console,url_preview,zstd_compression" + # All features sans release_max_log_level + logging = "blurhashing,brotli_compression,bzip2_compression,console,default,direct_tls,element_hacks,gzip_compression,hardened_malloc,io_uring,jemalloc,jemalloc_conf,jemalloc_prof,jemalloc_stats,ldap,lz4_compression,media_thumbnail,perf_measurements,sentry_telemetry,systemd,tokio_console,tuwunel_mods,url_preview,zstd_compression" + # All features + all = "blurhashing,brotli_compression,bzip2_compression,console,default,direct_tls,element_hacks,gzip_compression,hardened_malloc,io_uring,jemalloc,jemalloc_conf,jemalloc_prof,jemalloc_stats,ldap,lz4_compression,media_thumbnail,perf_measurements,release_max_log_level,sentry_telemetry,systemd,tokio_console,tuwunel_mods,url_preview,zstd_compression" } variable "cargo_features_always" { default = "direct_tls"