Skip to content

[WIP] Repmgr16 1.5.5 build#628

Open
jrafanie wants to merge 9 commits intoManageIQ:masterfrom
jrafanie:repmgr16-155-build
Open

[WIP] Repmgr16 1.5.5 build#628
jrafanie wants to merge 9 commits intoManageIQ:masterfrom
jrafanie:repmgr16-155-build

Conversation

@jrafanie
Copy link
Member

@jrafanie jrafanie commented Mar 11, 2026

  • Update various references with 13 to 16
  • Update to latest repmgr, 1.5.5
  • Enhance debugging of builds by capturing the mock logging on error and printing it in the GHA output.
  • Add missing buildRequires for repgmr 1.5.5 on postgresql 16
  • Fix some mock deprecations/warnings/failures

TODO:

  • Build the rpms and test them on a postgresql 16 manageiq appliance
  • Fix any bugs in our HA/region replication code that had hardcoded pathing for repmgr or similar.

@jrafanie jrafanie requested a review from bdunne as a code owner March 11, 2026 20:17
@jrafanie
Copy link
Member Author

cc @bdunne @Fryguy

@miq-bot miq-bot added the wip label Mar 11, 2026
@jrafanie
Copy link
Member Author

jrafanie commented Mar 11, 2026

FYI

good build:
https://github.com/jrafanie/manageiq-rpm_build/actions/runs/22925793277/job/66535706853

bad build:
https://github.com/jrafanie/manageiq-rpm_build/actions/runs/22971802966/job/66690177710

I used this on my fork to test just this build:

commit be9ddea79bc7a31b4735ed400bd71248d4f39871
Author: Joe Rafaniello <jrafanie@gmail.com>
Date:   Wed Mar 11 15:47:56 2026 -0400

    Debugging the build via GHA
    
    * Run build just repmgr16 on my fork
    * Skip upload
    * Skip more GHA builds for CI and other platforms

diff --git a/.github/workflows/build_dependencies.yaml b/.github/workflows/build_dependencies.yaml
index 896c699..6f144f8 100644
--- a/.github/workflows/build_dependencies.yaml
+++ b/.github/workflows/build_dependencies.yaml
@@ -8,18 +8,14 @@ permissions:
   contents: read
 jobs:
   build_dependencies:
-    if: github.repository_owner == 'ManageIQ'
+    if: github.repository_owner == 'jrafanie'
     strategy:
       fail-fast: false
       matrix:
         runner:
         - ubuntu-latest
-        - ubuntu-24.04-ppc64le
-        - ubuntu-24.04-s390x
     runs-on: "${{ matrix.runner }}"
     steps:
     - uses: actions/checkout@v6
     - name: Build and push RPMs
       run: bin/build_dependencies
-      env:
-        RPM_BUILD_S3_API_KEY: "${{ secrets.RPM_BUILD_S3_API_KEY }}"
diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml
index bfb5bc9..a46cc2b 100644
--- a/.github/workflows/ci.yaml
+++ b/.github/workflows/ci.yaml
@@ -1,10 +1,6 @@
 name: CI
 on:
   pull_request:
-  push:
-    branches-ignore:
-    - dependabot/*
-    - renovate/*
   schedule:
   - cron: 0 0 * * *
   workflow_dispatch:
diff --git a/bin/build_dependencies b/bin/build_dependencies
index c03e537..186e63b 100755
--- a/bin/build_dependencies
+++ b/bin/build_dependencies
@@ -5,7 +5,7 @@ set -e
 pushd packages
   docker build . -t localhost/mock:latest
 
-  arch_packages="kafka repmgr16"
+  arch_packages="repmgr16"
   for package in $arch_packages
   do
     echo "Building $package"
@@ -15,35 +15,6 @@ pushd packages
     popd
   done
 
-  arch=$(uname -m)
-  if [[ $arch = "x86_64" ]]; then
-    noarch_packages="manageiq-release python-bambou python-pylxca python-unittest2 python-vspk"
-    for package in $noarch_packages
-    do
-      echo "Building $package"
-      pushd $package
-        docker run --rm --privileged --cap-add SYS_ADMIN -v $(pwd):/work:z localhost/mock:latest ./build
-        ls -al result/
-      popd
-    done
-  fi
-
-  echo "Obtaining bearer token..."
-  response=$(curl --fail -s -X "POST" "https://iam.cloud.ibm.com/oidc/token" -H 'Accept: application/json' -H 'Content-Type: application/x-www-form-urlencoded' --data-urlencode "apikey=$RPM_BUILD_S3_API_KEY" --data-urlencode "response_type=cloud_iam" --data-urlencode "grant_type=urn:ibm:params:oauth:grant-type:apikey")
-  access_token=$(echo $response | jq -r ".access_token")
-  bearer_token=$(echo "bearer $access_token")
-
-  echo "Uploading results..."
-  bucket="rpm-manageiq-org"
-  endpoint="s3.us-east.cloud-object-storage.appdomain.cloud"
-  rpms=$(find */result/*.rpm)
-  for rpm in $rpms
-  do
-    dest=$(echo $rpm | sed "s/packages\/\|result\///g")
-    echo "Uploading $rpm"
-    curl -X "PUT" "https://$endpoint/$bucket/builds/${dest}" -H "Authorization: $bearer_token" -H "Content-Type: application/octet-stream" -H "x-amz-acl: public-read" --data-binary "@${rpm}"
-  done
-
   echo "Done!"
 popd

:os => "centos-stream+epel",
},
"repmgr13" => {
"repmgr16" => {
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note, we might have to delay merge since I think this change and config/options.yml may impact other builds. If we can build rpms based on this branch, I can test them on a pg 16 upstream appliance once we have it.

* Specify version for obsoletes line
* Fix deprecated patch warning: DEBUG: warning: %patchN is deprecated (1 usages found), use %patch N (or %patch -P N)
* Drop files/directories that don't exist in the 5.5 tgz
* Update date for 5.5 changelog
@jrafanie jrafanie force-pushed the repmgr16-155-build branch from 288b86a to 2380015 Compare March 11, 2026 20:31
@miq-bot
Copy link
Member

miq-bot commented Mar 11, 2026

Checked commits jrafanie/manageiq-rpm_build@f294253~...2380015 with ruby 3.3.10, rubocop 1.56.3, haml-lint 0.69.0, and yamllint
2 files checked, 2 offenses detected

**

  • 💣 💥 🔥 🚒 - Linter/Yaml - missing config files

lib/manageiq/rpm_build/extra_package.rb

Copy link
Member

@bdunne bdunne left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍🏻 LGTM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants