Add GHA pipeline: build, package, release, and stale workflows#2
Add GHA pipeline: build, package, release, and stale workflows#2
Conversation
Co-authored-by: fzipi <3012076+fzipi@users.noreply.github.com>
…ment Co-authored-by: fzipi <3012076+fzipi@users.noreply.github.com>
|
@copilot How can the "release-please" action trigger the "Package and Release" action? Or are they colliding somehow? |
.github/workflows/build.yml
Outdated
| jobs: | ||
| build: | ||
| name: Build and test (${{ matrix.mpm }} MPM) | ||
| runs-on: ubuntu-22.04 |
There was a problem hiding this comment.
@copilot Update the ubuntu version to be 24.04 on all files.
There was a problem hiding this comment.
Done in 3c7b08a. Updated ubuntu-22.04 → ubuntu-24.04 and ubuntu-22.04-arm → ubuntu-24.04-arm in both build.yml and package.yml (all four occurrences). stale.yml and release.yml already use ubuntu-latest so no changes were needed there.
They form a pipeline rather than colliding:
So the flow is: merge to |
Co-authored-by: fzipi <3012076+fzipi@users.noreply.github.com>
This repo had no CI/CD automation. Adds four GitHub Actions workflows modeled after coraza-nginx, adapted for Apache HTTPD.
Workflows
build.yml— Triggers on push/PR. Matrix overeventandpreforkMPMs: Docker build → Apache readiness wait → fulltest.shintegration suite (including audit/debug log tests via--container) → uploadsmod_coraza.soartifact from the event build.package.yml— Triggers on release publish. Foramd64andarm64(native ARM runners): builds libcoraza from source (cached), compilesmod_coraza.soviaapxs, creates.deb(/usr/lib/apache2/modules/) and.rpm(/usr/lib64/httpd/modules/) packages withfpm, signs with cosign (keyless OIDC), uploads to the release. Install smoke tests follow: deb on Ubuntu, rpm in a Rocky Linux 9 container.release.yml—release-pleaseonmainfor automated changelogs and version bumps.stale.yml— Daily stale sweep: marks after 30 days, closes after 5 more.Security
All actions are pinned to SHAs (matching coraza-nginx). Explicit
permissions:blocks on all workflows;id-token: writescoped only topackage.ymlfor cosign OIDC.Original prompt
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.