Extract PostgreSQL, Podman runtime and systemd lifecycle adapters while preserving existing lifecycle and scoring behavior. Update RPM layout and add guarded operator-run lab harnesses. Record successful manual stop/start, promotion, demotion and rewind-only rejoin with pinned installed hashes. The unfenced lab does not validate automatic failover, Pacemaker-managed transitions or divergent-data rewind. Validation: 103 offline tests, original-function differential checks, checksum manifest and whitespace checks passed.
38 lines
1.3 KiB
YAML
38 lines
1.3 KiB
YAML
name: Build development RPM
|
|
|
|
on:
|
|
push:
|
|
branches: ['main']
|
|
pull_request:
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
rpm:
|
|
runs-on: ubuntu-latest
|
|
container:
|
|
image: registry.fedoraproject.org/fedora:43
|
|
steps:
|
|
- name: Install build tools
|
|
run: |
|
|
dnf -y install rpm-build python3 resource-agents pacemaker-cli git tar gzip diffutils findutils coreutils bash nodejs
|
|
- name: Check out source
|
|
uses: https://github.com/actions/checkout@v4
|
|
with:
|
|
persist-credentials: false
|
|
- name: Build and check RPMs
|
|
run: bash scripts/build-rpm.sh
|
|
- name: Test installation in the disposable job container
|
|
run: |
|
|
dnf -y install ./dist/*.noarch.rpm
|
|
python3 tests/verify_installed_rpm.py
|
|
MC_DISPOSABLE_STATE_TEST=1 python3 tests/verify_promotion_state_cli.py /usr/lib/ocf/resource.d/loxthelion/managed-container.d/applications/postgresql/promotion_state.py
|
|
# v3 uses the artifact protocol supported by older act_runner instances.
|
|
- name: Save development packages
|
|
uses: https://github.com/actions/upload-artifact@v3
|
|
with:
|
|
name: ocf-managed-container-fedora43
|
|
path: dist/
|
|
if-no-files-found: error
|
|
retention-days: 14
|
|
# No registry uploads, release creation, or deployment while licensing is pending.
|