Conversation
b95a2c0 to
db27402
Compare
| "targets": [ | ||
| "x86_64-unknown-linux-gnu" | ||
| "x86_64-unknown-linux-gnu", | ||
| "x86_64-apple-darwin" | ||
| ] |
There was a problem hiding this comment.
A small inconsistency on may part here. For linux arm I planned to add this, when adding it to release CI. Here I added it alongside CI. Doesn't really matter if it's here or there
There was a problem hiding this comment.
❓ Why doesn't it matter where it is: in release CI or in (regular?) CI?
db27402 to
032699c
Compare
There was a problem hiding this comment.
Pull request overview
This PR adds MacOS (Intel x86_64) integration test support to the CI workflow. The tests use Cassandra with CCM since ScyllaDB is not supported on MacOS. ARM-based Macs are excluded due to Java 8 compatibility issues with CCM.
Changes:
- Added
x86_64-apple-darwinas a build target in package.json - Renamed existing CI job from
build-and-run-teststolinux-integration-testsfor clarity - Added new
macos-integration-testsjob that sets up CCM with Cassandra on Intel MacOS runners
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 4 comments.
| File | Description |
|---|---|
| package.json | Adds x86_64-apple-darwin to the napi build targets to support MacOS Intel builds |
| .github/workflows/integration-tests.yml | Renames Linux job for clarity and adds a new MacOS integration test job with CCM setup, loopback interface configuration, and Cassandra-based testing |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| git clone https://github.com/scylladb/scylla-ccm.git | ||
| python3 -m venv ./ | ||
| source ./bin/activate | ||
| pip install https://github.com/adespawn/scylla-ccm/archive/macos-proper-fix.zip |
There was a problem hiding this comment.
Note: I'm using a fork branch at the moment: will have to get those changes merged to main
There was a problem hiding this comment.
So let's wait until they get merged.
There was a problem hiding this comment.
What's the status of this?
032699c to
92a3d28
Compare
| build: npm run build -- --target x86_64-apple-darwin | ||
| name: Build and run integration tests - ${{ matrix.settings.target }} - node@20 | ||
| runs-on: ${{ matrix.settings.host }} | ||
| timeout-minutes: 60 |
There was a problem hiding this comment.
Currently it takes ~11 mintes to run the CI. I can reduce the timeout to something like 20-30 minutes
| git clone https://github.com/scylladb/scylla-ccm.git | ||
| python3 -m venv ./ | ||
| source ./bin/activate | ||
| pip install https://github.com/adespawn/scylla-ccm/archive/macos-proper-fix.zip |
There was a problem hiding this comment.
So let's wait until they get merged.
| - name: Run integration tests on cassandra | ||
| env: | ||
| CUSTOM_JAVA_HOME: __USE_JAVA_IN_PATH__ | ||
| CCM_IS_SCYLLA: "false" | ||
| CCM_PATH: "./scylla-ccm" |
There was a problem hiding this comment.
D o c u m e n t a t i o n
There was a problem hiding this comment.
still unresolved.
What's __USE_JAVA_IN_PATH__ ???
92a3d28 to
f64c113
Compare
This adds a new part of the CI workflow to run integration tests on intel MacOS with Cassandra CCM. Why not ScyllaDB? It's not supported on MacOS. What about scylladb#244? If this appears to be a problem, we can move this test to extended CI, where it will not hurt us so much to have a flaky test (especially if this is a decently rare chance to fail). What about M chips (arm)? The Java source we use for CCM does not support JAVA 8 on this platform. Using Java 11 causes CI to fail (ccm just never starts the nodes). (See: https://github.com/scylladb/nodejs-rs-driver/actions/runs/21636604746/job/62363768675). At some point I may try to search for a different Java provider, that does support this architecture. For now we limit ourselves to intel Macs only.
f64c113 to
307295b
Compare
|
TODO: Add examples with database launched through CCM |
This adds a new part of the CI workflow to run integration tests on
intel MacOS with Cassandra CCM.
Why not ScyllaDB? It's not supported on MacOS.
What about #244?
If this appears to be a problem, we can move this test to extended
CI, where it will not hurt us so much to have a flaky test
(especially if this is a decently rare chance to fail).
What about M chips (arm)?
The Java source we use for CCM does not support JAVA 8 on this platform.
Using Java 11 causes CI to fail (ccm just never starts the nodes).
(See: https://github.com/scylladb/nodejs-rs-driver/actions/runs/21636604746/job/62363768675).
At some point I may try to search for a different Java provider,
that does support this architecture. For now we limit ourselves
to intel Macs only.
Progress towards: #50 #292