CI: Align workflow with configure.ac (recursive submodules, v2 Linux job, drop x32)#3504
Open
Easton97-Jens wants to merge 10 commits intoowasp-modsecurity:v3/masterfrom
Open
CI: Align workflow with configure.ac (recursive submodules, v2 Linux job, drop x32)#3504Easton97-Jens wants to merge 10 commits intoowasp-modsecurity:v3/masterfrom
Easton97-Jens wants to merge 10 commits intoowasp-modsecurity:v3/masterfrom
Conversation
…lementation ci: install pcre1 dev package for explicit --with-pcre jobs
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


Summary
This PR introduces a new separate CI workflow (ci_new.yml).
The existing workflow remains unchanged.
The primary goal is to align CI behavior with the expectations defined in configure.ac, while modernizing the Linux environment and simplifying architecture handling.
The build system assumes that required components provided via git submodules are fully and recursively initialized.
configure.ac explicitly documents this expectation (e.g., requiring recursive submodule initialization for bundled modules).
To ensure CI matches this requirement, the new workflow:
Upgrades actions/checkout from v4 to v6
Explicitly runs:
git submodule update --init --recursive
This guarantees:
Deterministic submodule state
Full availability of bundled modules
Consistency with configure.ac
Reduced risk for upcoming submodule updates (including the pending Mbed TLS update PR)
This is the primary structural change introduced by this workflow.
The workflow adds a dedicated Linux cppcheck job using a debian:sid container.
This structure is derived from the previous v2 CI logic and restores Linux-based static analysis in addition to the macOS job.
Benefits:
Closer alignment with the Linux target environment
Broader static analysis coverage
Continuity with earlier CI design
The new workflow drops 32-bit (x32/i386) builds:
Ubuntu upgraded from 22.04 to 24.04
Ubuntu 24.04 no longer provides native i386 runner support
Removes multilib setup and architecture-specific dependency branches
Simplifies the matrix and dependency logic
This reduces CI complexity and aligns the build matrix with current runner support.
Additional Updates
macOS 14 → macOS 15
Windows 2022 → Windows 2025
Minor matrix cleanup and clearer job structure
Rationale for Separate Workflow
The existing workflow is intentionally preserved to:
Avoid disrupting the current CI baseline
Allow isolated validation of structural changes
Enable safe comparison before potential consolidation
Reduce migration risk