Add multi-OS CI (Windows, macOS ARM64/Intel) with cross-platform connection testing#14
Closed
mariuz wants to merge 25 commits into
Closed
Add multi-OS CI (Windows, macOS ARM64/Intel) with cross-platform connection testing#14mariuz wants to merge 25 commits into
mariuz wants to merge 25 commits into
Conversation
Agent-Logs-Url: https://github.com/mariuz/firebirdsql-github-action/sessions/f4b0b19b-635d-4ac1-997b-b2174e1173ee Co-authored-by: mariuz <18359+mariuz@users.noreply.github.com>
Add event_port input to enable Firebird RemoteAuxPort (events support)
…for test issues - Add test_connection.py: pure-Python Firebird tester using firebirdsql package (no native library needed); includes port-wait and retry logic - Add .github/actions/workflow-info/action.yaml composite action - Update testing_changes.yml: * Expand matrix to windows-latest, macos-latest (ARM64), macos-13 (Intel) * Set fail-fast: false * Setup Docker on macOS with colima (works on ARM64 and x86_64) * Switch Windows to Linux containers via DockerCli.exe (correct path) * Fix INPUT_FIREBIRD_DATABASE for non-ubuntu (filename only, not full path) * Add MSYS_NO_PATHCONV=1 to prevent Git Bash path mangling on Windows * Use actions/checkout@v4 * Add if: always() on Stop Container steps - Fix testing.sh: use SELECT * FROM rdb\$roles and remove unsupported isql flags Agent-Logs-Url: https://github.com/mariuz/firebirdsql-github-action/sessions/bed7893d-94d6-420d-8b6b-338b3aefebe0 Co-authored-by: mariuz <18359+mariuz@users.noreply.github.com>
Add multi-OS CI (Windows, macOS ARM64/Intel) with cross-platform connection testing
Agent-Logs-Url: https://github.com/mariuz/firebirdsql-github-action/sessions/fa3d8e98-b32c-4be8-8ac7-521b229f04ea Co-authored-by: mariuz <18359+mariuz@users.noreply.github.com>
Fix: replace removed `--wait` flag in `colima start`
Agent-Logs-Url: https://github.com/mariuz/firebirdsql-github-action/sessions/5d6f0e27-7a0e-4ef9-94dd-1d2f50276252 Co-authored-by: mariuz <18359+mariuz@users.noreply.github.com>
fix: guard DockerCli.exe switch on Windows CI runners
Agent-Logs-Url: https://github.com/mariuz/firebirdsql-github-action/sessions/5382125a-cab3-4549-a31e-d3ed73f259bd Co-authored-by: mariuz <18359+mariuz@users.noreply.github.com>
fix: colima startup failure on macOS runners (VZ driver fatal exit)
…ux-containers switch Agent-Logs-Url: https://github.com/mariuz/firebirdsql-github-action/sessions/06a003b3-6676-4340-a9d0-d34d5e6128e1 Co-authored-by: mariuz <18359+mariuz@users.noreply.github.com>
…nt DOCKER_HOST cleanup Agent-Logs-Url: https://github.com/mariuz/firebirdsql-github-action/sessions/06a003b3-6676-4340-a9d0-d34d5e6128e1 Co-authored-by: mariuz <18359+mariuz@users.noreply.github.com>
fix: run firebirdsql/firebird as linux/amd64 on Windows Docker (Windows Server 2025)
Agent-Logs-Url: https://github.com/mariuz/firebirdsql-github-action/sessions/b48e7d9d-5f46-4043-8823-4cdd847c4539 Co-authored-by: mariuz <18359+mariuz@users.noreply.github.com>
fix: clean up colima state before QEMU fallback on macOS runners
… runners Agent-Logs-Url: https://github.com/mariuz/firebirdsql-github-action/sessions/837d25d4-b526-4a71-b3a3-dd964f87d8f4 Co-authored-by: mariuz <18359+mariuz@users.noreply.github.com>
Agent-Logs-Url: https://github.com/mariuz/firebirdsql-github-action/sessions/837d25d4-b526-4a71-b3a3-dd964f87d8f4 Co-authored-by: mariuz <18359+mariuz@users.noreply.github.com>
…switch Fix: switch to Linux containers on Windows runners via WSL2 dockerd fallback
Agent-Logs-Url: https://github.com/mariuz/firebirdsql-github-action/sessions/d25cbd5c-09cc-4014-8aee-c9899cb48a4a Co-authored-by: mariuz <18359+mariuz@users.noreply.github.com>
…er-one fix(ci): replace colima VZ driver with QEMU on macOS runners
Agent-Logs-Url: https://github.com/mariuz/firebirdsql-github-action/sessions/e0813fbc-d733-4070-8c96-261298df30a7 Co-authored-by: mariuz <18359+mariuz@users.noreply.github.com>
Replace colima/QEMU macOS Docker setup with docker/setup-docker-action@v5
Agent-Logs-Url: https://github.com/mariuz/firebirdsql-github-action/sessions/c918def4-884c-4def-8d89-cb0002e1e8e6 Co-authored-by: mariuz <18359+mariuz@users.noreply.github.com>
Drop macos-latest (ARM64) from CI matrix; use only macos-13 (amd64)
Contributor
Author
|
Solution (recommended): Don’t run the container-based tests on Windows/macOS Update the matrix to run Firebird container tests only on Ubuntu |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Extends CI matrix beyond
ubuntu-latestto coverwindows-latest,macos-latest(ARM64), andmacos-13(Intel), based on #7 — with fixes for several platform-specific bugs that would cause that PR to silently fail.Key fixes over the upstream PR
runner.os == 'macos'wrong caserunner.os == 'macOS'docker-practice/actions-setup-dockerunreliable on ARM64colima(Homebrew), works natively on ARM64 and x86_64C:\Program Files\Docker\Docker\DockerCli.exevia PowerShellINPUT_FIREBIRD_DATABASEset to full host path for non-ubuntu runnersmy_database.fdb); the full path is server-side onlytest_connection.py --wait 120handles cross-platform port pollingfirebird-driverrequires native.so/.dylib/.dll— breaks on Windows/macOSfirebirdsql(pure Python wire-protocol, zero native deps)/var/lib/…to a Windows path before Python receives itMSYS_NO_PATHCONV=1on the Python test stepisqlflags (-echo -merge -m2) andrdb$databasequery intesting.shSELECT * FROM rdb$rolesNew files
test_connection.py— pure-Python connection tester (usesfirebirdsqlpackage). Built-in TCP port wait + retry; no native Firebird client required on the runner..github/actions/workflow-info/action.yaml— composite action that writes runner/job context to the GitHub step summary.Matrix strategy
Non-ubuntu runners test
[latest, 5, 4, 3](the full 9-version suite stays on ubuntu-latest) to keep CI time reasonable while still validating all supported OS/arch combinations.