feat(ci): add GitLab CI configuration for building mod_datadog#35
feat(ci): add GitLab CI configuration for building mod_datadog#35
Conversation
Add GitLab CI pipeline to build mod_datadog.so with RUM support for amd64 and arm64 architectures. Includes musl toolchain build from scratch using LLVM 17.0.6.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #35 +/- ##
==========================================
- Coverage 62.70% 62.43% -0.28%
==========================================
Files 7 7
Lines 370 370
Branches 49 49
==========================================
- Hits 232 231 -1
- Misses 100 101 +1
Partials 38 38 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
3fdf1fb to
d2b1a92
Compare
Use GIT_CONFIG variables to rewrite GitHub DataDog URLs to GitLab during checkout, allowing CI to authenticate with CI_JOB_TOKEN when fetching submodules like inject-browser-sdk.
Point inject-browser-sdk submodule to httpd-datadog's mirror branch instead of the external GitHub repo. This allows GitLab CI to fetch the submodule using CI_JOB_TOKEN since it's accessing itself.
Exclude fuzz and other workspace members from the build to avoid compiling libfuzzer-sys which requires C++ headers not available in the musl cross-compilation environment.
The cdylib crate type is not supported for musl targets. Explicitly specify staticlib to avoid corrosion trying to copy a non-existent .so file.
- Add nginx-datadog as submodule (mirror-nginx-datadog branch) - Source toolchain files from deps/nginx-datadog/build_env/ - Remove duplicate toolchain files from .gitlab/ This consolidates the musl toolchain setup with nginx-datadog, making it easier to maintain and keep in sync.
|
@xlamorlette-datadog is redoing the pipeline for nginx-datadog. Maybe you could rely on the image he's pushing to the gitlab registry (FROM it using either :latest or using a specific sha) instead of duplicating its recipe and adding nginx-datadog as a submodule. |
I'd prefer to build image on demand from a known source, rather than use opaque image with unknown history. Everything is automated by CI, so human overhead here is minimal |
|
Hmm I don't know how to merge this PR 🤷 @xlamorlette-datadog do you know what is missing ? |
|
admin merged because mergegate is stuck in this PR. |
Add GitLab CI pipeline to build mod_datadog.so with RUM support for amd64 and arm64 architectures. Includes musl toolchain build from scratch using LLVM 17.0.6.