From b693b1c72c70c65f26ac544335b816b50080f445 Mon Sep 17 00:00:00 2001 From: Austin Blatt Date: Sat, 1 Nov 2025 09:10:55 -0700 Subject: [PATCH 1/4] Limit duplicate test runs of core+ext tests The core+ext tests do not use any Ruby code, so testing multiple Ruby versions doesn't increase test coverage. --- .github/workflows/main.yml | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 1d64d10a7..b6cc7cfd8 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -24,13 +24,7 @@ jobs: # converted to "_" in the pdb-job-id below. flavor: - - core+ext/openjdk21/pg-17 - - core+ext/openjdk21/pg-16 - - core+ext/openjdk17/pg-17 - - core+ext/openjdk17/pg-16 - - rspec/pup-main - - lint/openjdk17 os: [ubuntu-24.04] ruby: ['3.2', '3.3', '3.4'] @@ -41,6 +35,27 @@ jobs: # Special cases include: + # lint + - flavor: lint/openjdk17 + os: ubuntu-24.04 + ruby: '3.4' + + # unit + # jdk 21 + - flavor: core+ext/openjdk21/pg-17 + os: ubuntu-24.04 + ruby: '3.4' + - flavor: core+ext/openjdk21/pg-16 + os: ubuntu-24.04 + ruby: '3.4' + # jdk 17 + - flavor: core+ext/openjdk17/pg-17 + os: ubuntu-24.04 + ruby: '3.4' + - flavor: core+ext/openjdk17/pg-16 + os: ubuntu-24.04 + ruby: '3.4' + # integration - flavor: int/openjdk17/pup-main/srv-main/pg-16/rich os: ubuntu-24.04 From 2af583a0c025e991c136dedc18edd0e16190223a Mon Sep 17 00:00:00 2001 From: Austin Blatt Date: Sat, 1 Nov 2025 09:49:08 -0700 Subject: [PATCH 2/4] Move integration tests into GHA matrix These tests `bundle exec` the agent so it makes sense to tests them across a few Ruby versions --- .github/workflows/main.yml | 25 +++++-------------------- 1 file changed, 5 insertions(+), 20 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index b6cc7cfd8..d41cd49fc 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -24,7 +24,12 @@ jobs: # converted to "_" in the pdb-job-id below. flavor: + # terminus rspec tests - rspec/pup-main + # agent, server, db integration tests + - int/openjdk17/pup-main/srv-main/pg-16/rich + - int/openjdk21/pup-main/srv-main/pg-17/rich + os: [ubuntu-24.04] ruby: ['3.2', '3.3', '3.4'] @@ -56,26 +61,6 @@ jobs: os: ubuntu-24.04 ruby: '3.4' - # integration - - flavor: int/openjdk17/pup-main/srv-main/pg-16/rich - os: ubuntu-24.04 - ruby: '3.2' - - flavor: int/openjdk17/pup-main/srv-main/pg-16/rich - os: ubuntu-24.04 - ruby: '3.3' - - flavor: int/openjdk17/pup-main/srv-main/pg-16/rich - os: ubuntu-24.04 - ruby: '3.4' - - flavor: int/openjdk21/pup-main/srv-main/pg-17/rich - os: ubuntu-24.04 - ruby: '3.2' - - flavor: int/openjdk21/pup-main/srv-main/pg-17/rich - os: ubuntu-24.04 - ruby: '3.3' - - flavor: int/openjdk21/pup-main/srv-main/pg-17/rich - os: ubuntu-24.04 - ruby: '3.4' - steps: - name: Compute job outputs id: computed From c3d9bd7de0c1b4db734b93f1da768fc245a3103e Mon Sep 17 00:00:00 2001 From: Austin Blatt Date: Sat, 1 Nov 2025 09:12:12 -0700 Subject: [PATCH 3/4] Add testing for postgresql 18 --- .github/workflows/main.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index d41cd49fc..a54f10f82 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -29,6 +29,7 @@ jobs: # agent, server, db integration tests - int/openjdk17/pup-main/srv-main/pg-16/rich - int/openjdk21/pup-main/srv-main/pg-17/rich + - int/openjdk21/pup-main/srv-main/pg-18/rich os: [ubuntu-24.04] @@ -47,6 +48,9 @@ jobs: # unit # jdk 21 + - flavor: core+ext/openjdk21/pg-18 + os: ubuntu-24.04 + ruby: '3.4' - flavor: core+ext/openjdk21/pg-17 os: ubuntu-24.04 ruby: '3.4' @@ -54,6 +58,9 @@ jobs: os: ubuntu-24.04 ruby: '3.4' # jdk 17 + - flavor: core+ext/openjdk17/pg-18 + os: ubuntu-24.04 + ruby: '3.4' - flavor: core+ext/openjdk17/pg-17 os: ubuntu-24.04 ruby: '3.4' From ec42c339cc101846fa85087e5cf0364f3c4e91ef Mon Sep 17 00:00:00 2001 From: Austin Blatt Date: Sat, 1 Nov 2025 10:21:17 -0700 Subject: [PATCH 4/4] ext test: accept new string for psql output --- ext/test/upgrade-and-exit | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ext/test/upgrade-and-exit b/ext/test/upgrade-and-exit index 1c910c64b..365d0d136 100755 --- a/ext/test/upgrade-and-exit +++ b/ext/test/upgrade-and-exit @@ -72,8 +72,10 @@ psql -U puppetdb puppetdb -c '\dt' >"$tmpdir/out" 2>"$tmpdir/err" cat "$tmpdir/out" cat "$tmpdir/err" # Output moved to err and changed as of at least pg 11 +# Output string on err changed to "tables" in pg18 grep 'No relations found' "$tmpdir/out" \ - || grep 'Did not find any relations' "$tmpdir/err" + || grep 'Did not find any relations' "$tmpdir/err" \ + || grep 'Did not find any tables' "$tmpdir/err" # Run upgrade ./pdb upgrade -c "$PDBBOX/conf.d"