fix: correction bugs + tests + migration el7 vers el10
Correctifs de bugs critiques: - Overflow entier dans le calcul du timestamp (nanoseconds) - Validation des composantes temporelles dans format_iso8601 - Race condition mutex: échec dur pour MPM threadés (worker/event) - Rejet des espaces en tête dans parse_int_strict Nouveaux tests unitaires (38 ajoutés): - Overflow timestamp, limites ISO8601, format fixe 20 chars - Limite de taille JSON 64KB - Détection headers sensibles (blacklist) - Validation parse_int_strict - dynbuf NULL handling et strlen mode Migration packaging: - Suppression CentOS 7 (EOL) - Ajout AlmaLinux 10 (el10) - RPMs supportés: el8, el9, el10 Mise à jour CI/CD et documentation: - .gitlab-ci.yml: jobs verify pour el8/el9/el10 - architecture.yml: OS supportés à jour - 70/70 tests pass Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
This commit is contained in:
@ -7,7 +7,9 @@ stages:
|
||||
- package
|
||||
- verify
|
||||
|
||||
# =============================================================================
|
||||
# Variables
|
||||
# =============================================================================
|
||||
variables:
|
||||
DOCKER_TLS_CERTDIR: "/certs"
|
||||
DOCKER_DRIVER: overlay2
|
||||
@ -23,7 +25,7 @@ build-packages:
|
||||
services:
|
||||
- docker:24-dind
|
||||
script:
|
||||
# Build all packages (DEB + RPMs for el7, el8, el9)
|
||||
# Build all packages (DEB + RPMs for el8, el9, el10)
|
||||
- docker build -f Dockerfile.package --target output --build-arg VERSION=$VERSION -t mod_reqin_log:packages .
|
||||
|
||||
# Create output directories
|
||||
@ -67,21 +69,6 @@ unit-tests:
|
||||
# Verify Stage - Test package installation on each target distribution
|
||||
# =============================================================================
|
||||
|
||||
verify-rpm-el7:
|
||||
stage: verify
|
||||
image: docker:24
|
||||
services:
|
||||
- docker:24-dind
|
||||
needs: [build-packages]
|
||||
script:
|
||||
# Download artifacts
|
||||
- apk add --no-cache curl
|
||||
- curl -L -o /tmp/rpm-el7.rpm "$CI_PROJECT_URL/-/jobs/$CI_JOB_ID/artifacts/dist/rpm/mod_reqin_log-$VERSION-1.el7.x86_64.rpm" 2>/dev/null || echo "Artifact download via curl failed, trying alternative..."
|
||||
|
||||
# Alternative: extract from build artifact
|
||||
- docker run --rm -v $(pwd)/dist:/packages centos:7 sh -c "sed -i 's/mirror.centos.org/vault.centos.org/g' /etc/yum.repos.d/*.repo && sed -i 's/#baseurl/baseurl/g' /etc/yum.repos.d/*.repo && sed -i 's/metalink/#metalink/g' /etc/yum.repos.d/*.repo && yum install -y /packages/rpm/*.el7.*.rpm && httpd -M 2>&1 | grep reqin_log && echo 'RPM el7 verification OK'"
|
||||
allow_failure: true
|
||||
|
||||
verify-rpm-el8:
|
||||
stage: verify
|
||||
image: docker:24
|
||||
@ -100,6 +87,15 @@ verify-rpm-el9:
|
||||
script:
|
||||
- docker run --rm -v $(pwd)/dist:/packages rockylinux:9 sh -c "dnf install -y /packages/rpm/*.el9.*.rpm && httpd -M 2>&1 | grep reqin_log && echo 'RPM el9 verification OK'"
|
||||
|
||||
verify-rpm-el10:
|
||||
stage: verify
|
||||
image: docker:24
|
||||
services:
|
||||
- docker:24-dind
|
||||
needs: [build-packages]
|
||||
script:
|
||||
- docker run --rm -v $(pwd)/dist:/packages almalinux:10 sh -c "dnf install -y /packages/rpm/*.el10.*.rpm && httpd -M 2>&1 | grep reqin_log && echo 'RPM el10 verification OK'"
|
||||
|
||||
verify-deb:
|
||||
stage: verify
|
||||
image: docker:24
|
||||
|
||||
Reference in New Issue
Block a user