chore: refactor release workflow for modular distro and upstream builds
This commit is contained in:
63
.github/workflows/test.yml
vendored
63
.github/workflows/test.yml
vendored
@@ -265,3 +265,66 @@ jobs:
|
||||
.ci-runtime/${{ matrix.target.name }}/nginx-${{ matrix.nginx-version }}/logs/*.log
|
||||
.ci-runtime/${{ matrix.target.name }}/nginx-${{ matrix.nginx-version }}/nginx.conf
|
||||
if-no-files-found: ignore
|
||||
|
||||
distro-package-compat:
|
||||
name: Distro package compatibility (${{ matrix.distro-image }})
|
||||
runs-on: ubuntu-22.04
|
||||
timeout-minutes: 90
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
distro-image:
|
||||
- ubuntu:24.04
|
||||
- debian:12
|
||||
- debian:13
|
||||
|
||||
steps:
|
||||
- name: Check out repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Build package and validate against distro nginx
|
||||
shell: bash
|
||||
env:
|
||||
DEB_PACKAGE_NAME: libnginx-mod-http-monitoring
|
||||
DISTRO_IMAGE: ${{ matrix.distro-image }}
|
||||
DOCKER_PLATFORM: linux/amd64
|
||||
LATEST_TAG: none
|
||||
MODULE_NAME: ngx_http_monitoring_module
|
||||
NEXT_TAG: ci
|
||||
NEXT_VERSION: 0.0.0
|
||||
TARGET_ARCH: linux-x86_64
|
||||
run: |
|
||||
set -euo pipefail
|
||||
|
||||
mkdir -p "$GITHUB_WORKSPACE/.ci-distro-dist" "$GITHUB_WORKSPACE/.ci-distro-work"
|
||||
|
||||
docker run --rm -i \
|
||||
--platform "$DOCKER_PLATFORM" \
|
||||
-e DEB_PACKAGE_NAME \
|
||||
-e DISTRO_IMAGE \
|
||||
-e DIST_DIR=/work/.ci-distro-dist \
|
||||
-e DOCKER_PLATFORM \
|
||||
-e GITHUB_REF \
|
||||
-e GITHUB_SHA \
|
||||
-e LATEST_TAG \
|
||||
-e MODULE_NAME \
|
||||
-e NEXT_TAG \
|
||||
-e NEXT_VERSION \
|
||||
-e TARGET_ARCH \
|
||||
-e WORK_ROOT=/work/.ci-distro-work \
|
||||
-v "$GITHUB_WORKSPACE:/work" \
|
||||
-w /work \
|
||||
"$DISTRO_IMAGE" \
|
||||
bash /work/scripts/build-distro-release.sh
|
||||
|
||||
- name: Upload distro compatibility artifacts
|
||||
if: always()
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: distro-package-compat-${{ strategy.job-index }}
|
||||
path: |
|
||||
.ci-distro-dist/*.deb
|
||||
.ci-distro-dist/*.tar.gz
|
||||
.ci-distro-dist/*.compatibility.json
|
||||
if-no-files-found: ignore
|
||||
|
||||
Reference in New Issue
Block a user