[fix] prevent macos-13 runner starvation from blocking docker image update (#395)
macos-13 (Intel Mac) GitHub Actions runners have become increasingly scarce
and regularly queue for 24h before timing out. This caused the entire build
matrix to fail, blocking update-docker and leaving the release status stuck
at BUILDING indefinitely.
- Remove macOS-x86_64 (macos-13) from the build matrix: Intel Mac is being
phased out and no downstream consumer (Docker image, Linux workflow) needs
darwin-x86_64 artifacts; Apple Silicon covers all active Mac use cases
- Add fail-fast: false so a future matrix failure does not cancel remaining
in-progress builds
- Fix failure job condition to always() && failure() so it fires even when
update-docker is skipped rather than failed, preventing status from being
stuck at BUILDING
diff --git a/.github/workflows/build-4.0.yml b/.github/workflows/build-4.0.yml
index e41fde2..518ccda 100644
--- a/.github/workflows/build-4.0.yml
+++ b/.github/workflows/build-4.0.yml
@@ -113,32 +113,9 @@
needs: prerelease
if: needs.prerelease.outputs.should_release == 'true' || (github.event_name == 'workflow_dispatch' && github.event.inputs.force_build == 'true')
strategy:
+ fail-fast: false
matrix:
config:
- - name: macOS-x86_64
- os: macos-13
- packages: >-
- 'm4'
- 'automake'
- 'autoconf'
- 'libtool'
- 'pkg-config'
- 'texinfo'
- 'coreutils'
- 'gnu-getopt'
- 'python@3'
- 'ninja'
- 'ccache'
- 'bison'
- 'byacc'
- 'gettext'
- 'wget'
- 'pcre'
- 'openjdk@11'
- 'maven'
- 'node'
- 'llvm@20'
-
- name: macOS-arm64
os: macos-14
packages: >-
@@ -458,7 +435,7 @@
failure:
name: Failure
needs: [build, update-docker]
- if: failure()
+ if: always() && failure()
runs-on: ubuntu-latest
env:
GH_REPO: ${{ github.repository }}
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 7d896e6..e88684c 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -99,10 +99,12 @@
needs: prerelease
if: needs.prerelease.outputs.should_release == 'true' || (github.event_name == 'workflow_dispatch' && github.event.inputs.force_build == 'true')
strategy:
+ fail-fast: false
matrix:
config:
- name: macOS-x86_64
os: macos-13
+ continue-on-error: true
packages: >-
'm4'
'automake'
@@ -176,6 +178,7 @@
'maven'
runs-on: ${{ matrix.config.os }}
+ continue-on-error: ${{ matrix.config.continue-on-error == true }}
env:
GH_REPO: ${{ github.repository }}
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -422,7 +425,7 @@
failure:
name: Failure
needs: [build, update-docker]
- if: failure()
+ if: always() && failure()
runs-on: ubuntu-latest
env:
GH_REPO: ${{ github.repository }}