postgresql-interfaces/psqlodbc GitHub issues and pull requests (mirror)help / color / mirror / Atom feed
[postgresql-interfaces/psqlodbc] PR #157: Upgrade GitHub Actions workflow 6+ messages / 2 participants [nested] [flat]
* [postgresql-interfaces/psqlodbc] PR #157: Upgrade GitHub Actions workflow @ 2026-03-05 22:28 "fdcastel (@fdcastel)" <[email protected]> 0 siblings, 0 replies; 6+ messages in thread From: fdcastel (@fdcastel) @ 2026-03-05 22:28 UTC (permalink / raw) To: postgresql-interfaces/psqlodbc <[email protected]> Closes #156 ----- **Key improvements:** 1. **No full PostgreSQL build from source** - x64 uses prebuilt EDB binaries (PG 17.9 binary archive, ~1 min download vs ~15 min build) 2. **x86 libpq only** - Builds ONLY the libpq client library from source via `meson compile ... libpq:shared_library`. The test server is always x64; x86 libpq is only needed to compile/link the x86 ODBC driver. No SSL needed since CI tests use localhost. 3. **Eliminated dependencies**: Win32/Win64 OpenSSL and pkgconfiglite are no longer needed (winflexbison is still required by PG's meson build system) 4. **Parallel matrix** - standard and mimalloc run simultaneously 5. **Separate release job** - only runs on version tags **Results** (first run, no caches): - standard: **8m28s** - mimalloc: **11m47s** - Total wall-clock: **~12 min** (vs ~25+ min sequential in the old workflow) Subsequent cached runs will be even faster since the x86 libpq, x64 binaries, and all tools are cached. ^ permalink raw reply [nested|flat] 6+ messages in thread
* Re: [postgresql-interfaces/psqlodbc] PR #157: Upgrade GitHub Actions workflow @ 2026-03-06 12:25 ` "davecramer (@davecramer)" <[email protected]> 4 siblings, 0 replies; 6+ messages in thread From: davecramer (@davecramer) @ 2026-03-06 12:25 UTC (permalink / raw) To: postgresql-interfaces/psqlodbc <[email protected]> I believe we do require openssl to release a version. ^ permalink raw reply [nested|flat] 6+ messages in thread
* Re: [postgresql-interfaces/psqlodbc] PR #157: Upgrade GitHub Actions workflow @ 2026-03-06 12:26 ` "davecramer (@davecramer)" <[email protected]> 4 siblings, 0 replies; 6+ messages in thread From: davecramer (@davecramer) @ 2026-03-06 12:26 UTC (permalink / raw) To: postgresql-interfaces/psqlodbc <[email protected]> The reason we pull from git is to get the latest. 17.9 is not the latest. We can cache the build though ^ permalink raw reply [nested|flat] 6+ messages in thread
* Re: [postgresql-interfaces/psqlodbc] PR #157: Upgrade GitHub Actions workflow @ 2026-03-06 13:03 ` "fdcastel (@fdcastel)" <[email protected]> 4 siblings, 0 replies; 6+ messages in thread From: fdcastel (@fdcastel) @ 2026-03-06 13:03 UTC (permalink / raw) To: postgresql-interfaces/psqlodbc <[email protected]> Sorry Dave. I have to admit I didn’t pay much attention to the release process. I focused mainly on the builds in this initial PR to get some early feedback. I’ll review how the current release process works and come back with a revised PR. ^ permalink raw reply [nested|flat] 6+ messages in thread
* Re: [postgresql-interfaces/psqlodbc] PR #157: Upgrade GitHub Actions workflow @ 2026-03-14 11:28 ` "fdcastel (@fdcastel)" <[email protected]> 4 siblings, 0 replies; 6+ messages in thread From: fdcastel (@fdcastel) @ 2026-03-14 11:28 UTC (permalink / raw) To: postgresql-interfaces/psqlodbc <[email protected]> @davecramer I've updated the PR to address both of your concerns. Please feel free to share any additional questions or suggestions. ----- **What changed:** 1. **OpenSSL restored** — Both x64 and x86 builds now include OpenSSL (currently 3.3.6, matching `main`). The SSL DLLs are placed into `d:\postgresql\bin` and `d:\postgresql86\bin` so the installers pick them up correctly. 2. **PostgreSQL built from source** (`REL_18_STABLE`) — No more prebuilt binaries. The full x64 server is built with `ninja` + `ninja install` (same as before), and pkgconfiglite is back for OpenSSL detection. 3. **Rebased on latest `main`** — Includes the release 17.00.0008 changes and the OpenSSL 3.3.6 CVE fix. **What's kept from the original PR:** - **Parallel matrix** — standard and mimalloc run simultaneously - **Separate release job** — only runs on `REL-*` tags, uses `upload-artifact`/`download-artifact` - **Minimal x86 libpq build** — only builds the client library (with SSL now), not the full server. Much faster than a full x86 build. **What's new:** - **Dedicated `build-postgres` job** — Builds PostgreSQL x64 (full) and x86 (libpq only) once, caches the result. Both matrix jobs then restore from cache using `actions/cache/restore`. This avoids wasteful duplicate PG builds and speeds up cache-miss debugging runs. - **`workflow_dispatch` trigger** — Allows manual workflow runs from the Actions tab (useful for debugging). **Workflow structure:** ``` build-postgres → build-and-test (standard) → release (PG x64 full + x86 libpq) build-and-test (mimalloc) (only on REL-* tags) ``` **Timing (cached run on my fork):** | Job | Duration | |-----|----------| | build-postgres | 10s (cache hit) | | build-and-test (standard) | ~7m | | build-and-test (mimalloc) | ~8m | | **Total wall-clock** | **~9 min** | On a cold run (no cache), `build-postgres` will take longer to build PG from source, but the result is cached for all subsequent runs. The `WORKFLOW_VERSION_POSTGRESQL` env var can be bumped to invalidate the cache when needed. ^ permalink raw reply [nested|flat] 6+ messages in thread
* Re: [postgresql-interfaces/psqlodbc] PR #157: Upgrade GitHub Actions workflow @ 2026-03-18 20:13 ` "davecramer (@davecramer)" <[email protected]> 4 siblings, 0 replies; 6+ messages in thread From: davecramer (@davecramer) @ 2026-03-18 20:13 UTC (permalink / raw) To: postgresql-interfaces/psqlodbc <[email protected]> Just confirmed that the release still works, thanks so much for this ^ permalink raw reply [nested|flat] 6+ messages in thread
end of thread, other threads:[~2026-03-18 20:13 UTC | newest] Thread overview: 6+ messages (download: mbox mbox.gz follow: Atom feed) -- links below jump to the message on this page -- 2026-03-05 22:28 [postgresql-interfaces/psqlodbc] PR #157: Upgrade GitHub Actions workflow "fdcastel (@fdcastel)" <[email protected]> 2026-03-06 12:25 ` "davecramer (@davecramer)" <[email protected]> 2026-03-06 12:26 ` "davecramer (@davecramer)" <[email protected]> 2026-03-06 13:03 ` "fdcastel (@fdcastel)" <[email protected]> 2026-03-14 11:28 ` "fdcastel (@fdcastel)" <[email protected]> 2026-03-18 20:13 ` "davecramer (@davecramer)" <[email protected]>
This inbox is served by agora; see mirroring instructions for how to clone and mirror all data and code used for this inbox