[PR #145] [MERGED] Fix binary build failures: darwin-x64 runner retired, darwin-arm64 API rate limit, Windows missing libs #277

Closed
opened 2026-03-07 20:42:38 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/DBDiff/DBDiff/pull/145
Author: @jasdeepkhalsa
Created: 3/7/2026
Status: Merged
Merged: 3/7/2026
Merged by: @jasdeepkhalsa

Base: masterHead: feature/fix-releases


📝 Commits (2)

  • 0bcaaac fix: retire macos-13 runner, add GITHUB_TOKEN for SPC API calls, add Windows libs to download
  • 3c0cda7 fix: use actionlint download script instead of non-existent @v1 tag

📊 Changes

2 files changed (+36 additions, -3 deletions)

View changed files

.github/workflows/lint-workflows.yml (+25 -0)
📝 .github/workflows/release.yml (+11 -3)

📄 Description

Fix binary build failures: darwin-x64 runner retired, darwin-arm64 API rate limit, Windows missing libs

Three separate root causes, all diagnosed from the GHA run logs.

darwin-x64 — macos-13 runner retired

GitHub no longer provides macos-13. The job was failing immediately with
"The configuration 'macos-13-us-default' is not supported".

Fix: Switch to macos-15-intel, the current supported Intel (x64) macOS runner label.

darwin-arm64 — GitHub API 403 rate limit during spc download

doctor --auto-fix on macOS installs re2c, autoconf, automake, libtool, and
bison via Homebrew, each of which makes unauthenticated api.github.com calls.
By the time spc download tries to resolve the OpenSSL release, the anonymous rate
limit is exhausted and GitHub returns 403, aborting the build.

Fix: Add GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} as an env var on the Unix
build step. SPC honours this token for all API calls, including those made by
doctor --auto-fix.

win32-x64 / win32-arm64 — libraries never downloaded

The previous New-Item -Path source fix resolved the php-src extraction crash,
but spc build then immediately failed:

Building required lib [postgresql-win]
Source [postgresql-win] not downloaded or not locked, you should download it first!

The Unix spc download command passes $SPC_LIBS
(libiconv,libxml2,ncurses,libedit,postgresql,sqlite) but the Windows command
only listed extensions — library sources were never fetched.

Fix: Add a SPC_WINDOWS_LIBS env constant (libiconv,libxml2,postgresql,sqlite,
omitting ncurses/libedit which are Unix-only) and pass it into the Windows
spc download invocation. SPC automatically resolves postgresql
postgresql-win and libiconvlibiconv-win on Windows.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/DBDiff/DBDiff/pull/145 **Author:** [@jasdeepkhalsa](https://github.com/jasdeepkhalsa) **Created:** 3/7/2026 **Status:** ✅ Merged **Merged:** 3/7/2026 **Merged by:** [@jasdeepkhalsa](https://github.com/jasdeepkhalsa) **Base:** `master` ← **Head:** `feature/fix-releases` --- ### 📝 Commits (2) - [`0bcaaac`](https://github.com/DBDiff/DBDiff/commit/0bcaaac6105f3dd52d083399cb62fc331fe24e0a) fix: retire macos-13 runner, add GITHUB_TOKEN for SPC API calls, add Windows libs to download - [`3c0cda7`](https://github.com/DBDiff/DBDiff/commit/3c0cda788d2320a99566c241c4fb77c2d0bda412) fix: use actionlint download script instead of non-existent @v1 tag ### 📊 Changes **2 files changed** (+36 additions, -3 deletions) <details> <summary>View changed files</summary> ➕ `.github/workflows/lint-workflows.yml` (+25 -0) 📝 `.github/workflows/release.yml` (+11 -3) </details> ### 📄 Description ## Fix binary build failures: darwin-x64 runner retired, darwin-arm64 API rate limit, Windows missing libs Three separate root causes, all diagnosed from the GHA run logs. ### darwin-x64 — `macos-13` runner retired GitHub no longer provides `macos-13`. The job was failing immediately with _"The configuration 'macos-13-us-default' is not supported"_. **Fix:** Switch to `macos-15-intel`, the current supported Intel (x64) macOS runner label. ### darwin-arm64 — GitHub API 403 rate limit during `spc download` `doctor --auto-fix` on macOS installs `re2c`, `autoconf`, `automake`, `libtool`, and `bison` via Homebrew, each of which makes unauthenticated `api.github.com` calls. By the time `spc download` tries to resolve the OpenSSL release, the anonymous rate limit is exhausted and GitHub returns 403, aborting the build. **Fix:** Add `GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}` as an env var on the Unix build step. SPC honours this token for all API calls, including those made by `doctor --auto-fix`. ### win32-x64 / win32-arm64 — libraries never downloaded The previous `New-Item -Path source` fix resolved the `php-src` extraction crash, but `spc build` then immediately failed: ``` Building required lib [postgresql-win] Source [postgresql-win] not downloaded or not locked, you should download it first! ``` The Unix `spc download` command passes `$SPC_LIBS` (`libiconv,libxml2,ncurses,libedit,postgresql,sqlite`) but the Windows command only listed extensions — library sources were never fetched. **Fix:** Add a `SPC_WINDOWS_LIBS` env constant (`libiconv,libxml2,postgresql,sqlite`, omitting `ncurses`/`libedit` which are Unix-only) and pass it into the Windows `spc download` invocation. SPC automatically resolves `postgresql` → `postgresql-win` and `libiconv` → `libiconv-win` on Windows. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-03-07 20:42:38 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/DBDiff#277
No description provided.