Compare commits

..
Author SHA1 Message Date
gronod 93acd32b51 fix(ci): pin GitHub Actions to macos-14 and keep the window on-screen
macOS CI / build-and-test (push) Skipped
macOS CI / build-and-test (pull_request) Canceled after 0s
macOS CI / package (pull_request) Canceled after 0s
macos-latest is macos-26-arm64 (run 34864198118). A 1280x800 window
centered on that display hangs off the left edge, so XCTest sees
sidebar controls at x ≈ -116 and refuses the click. Pin the GitHub
workflow to macos-14 and clamp the main window to visibleFrame.
2026-09-14 16:17:20 +00:00
gronod 67cf452e59 Update .github/workflows/macos.yml
macOS CI / package (push) Canceled after 0s
macOS CI / build-and-test (push) Canceled after 27m49s
2026-09-14 16:44:50 +01:00
gronod 83ed53c7fc Merge pull request 'ci: GitHub Actions twin of the Gitea macOS workflow' (#174) from ci/github-workflows into develop
macOS CI / build-and-test (push) Successful in 40m30s
macOS CI / package (push) Successful in 3m27s
Reviewed-on: #174
2026-09-14 16:42:01 +01:00
2 changed files with 38 additions and 5 deletions
+5 -3
View File
@@ -1,7 +1,9 @@
# GitHub Actions twin of .gitea/workflows/macos.yml. # GitHub Actions twin of .gitea/workflows/macos.yml.
# Deltas from the Gitea file (everything else is the same jobs/steps): # Deltas from the Gitea file (everything else is the same jobs/steps):
# - runs-on macos-14: github.com retired macos-12 (the Gitea runner label). # - runs-on macos-14: github.com retired macos-12. Do not use
# The Gitea workflow already notes macos-14 works for this pipeline. # macos-latest — in 2026 that is macos-26-arm64, where a 1280×800
# window hangs off the virtual display and XCTest marks sidebar
# controls (x ≈ -116) as not hittable (run 34864198118).
# - actions/upload-artifact@v4: v3 is shut down on github.com. Gitea act_runner # - actions/upload-artifact@v4: v3 is shut down on github.com. Gitea act_runner
# still uses v3. # still uses v3.
# - No NODE_EXTRA_CA_CERTS / System keychain bundle: that is only for the # - No NODE_EXTRA_CA_CERTS / System keychain bundle: that is only for the
@@ -25,7 +27,7 @@ permissions:
jobs: jobs:
build-and-test: build-and-test:
runs-on: macos-26-intel runs-on: macos-14
env: env:
DERIVED: build/DerivedData-test DERIVED: build/DerivedData-test
steps: steps:
+33 -2
View File
@@ -56,10 +56,41 @@ final class AppDelegate: NSObject, NSApplicationDelegate {
} }
/// docs/21 §Shell: 1280×800 content, min 1100×700, centred. /// docs/21 §Shell: 1280×800 content, min 1100×700, centred.
/// GitHub-hosted Macs (and any display smaller than 1280×800) must
/// not get a window that hangs off-screen XCTest then reports
/// sidebar controls at negative x as not hittable (run 34864198118).
private func configureMainWindow(_ window: NSWindow) { private func configureMainWindow(_ window: NSWindow) {
window.setContentSize(NSSize(width: 1280, height: 800)) let desired = NSSize(width: 1280, height: 800)
window.contentMinSize = NSSize(width: 1100, height: 700) let minimum = NSSize(width: 1100, height: 700)
let visible = (window.screen ?? NSScreen.main)?.visibleFrame
?? NSRect(origin: .zero, size: desired)
window.contentMinSize = NSSize(
width: min(minimum.width, visible.width),
height: min(minimum.height, visible.height)
)
window.setContentSize(NSSize(
width: min(desired.width, visible.width),
height: min(desired.height, max(minimum.height, visible.height - 40))
))
window.center() window.center()
var frame = window.frame
if frame.width > visible.width {
frame.size.width = visible.width
}
if frame.height > visible.height {
frame.size.height = visible.height
}
frame.origin.x = min(
max(frame.origin.x, visible.minX),
visible.maxX - frame.width
)
frame.origin.y = min(
max(frame.origin.y, visible.minY),
visible.maxY - frame.height
)
window.setFrame(frame, display: true)
} }
/// Dock-click reopen: let the WindowGroup re-show or recreate the /// Dock-click reopen: let the WindowGroup re-show or recreate the