-
Notifications
You must be signed in to change notification settings - Fork 11
feat(panoramic): add native macOS runtime for integration tests #1735
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
d665ab8
67f1776
edca625
5c6d5df
7539f27
a64af8f
8069d79
4080ede
2766c2d
257a7e1
c365aaa
68cd7c6
d44faf2
0ac30a7
1d27828
e308a66
44fd6e6
20b3498
4ad4a11
8ba72a3
6e6d0c2
10fef72
33fa96f
5b517fe
c7f5fe8
9d56103
d768cfc
b776568
6712fcf
b56532f
686ac82
68fe1e4
3466d68
b6b153e
2dd590d
637d8ca
a478503
b57a22a
8d83c4c
c84babe
c2423c8
fe5e9a4
60efe1c
56fa0e7
c780fd0
9ab4324
f213245
964d00b
13314a0
591af05
98ac521
ea9119e
afa587d
a1f12f0
4f644c5
17bb8e3
09379a5
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -14,6 +14,15 @@ stages: | |
| # | ||
| # This mostly controls how we tag our ADP container images and set various bits of metadata. | ||
| workflow: | ||
| # Auto-cancel any interruptible jobs from a previous pipeline when a new commit lands on the | ||
| # same ref. The default ('conservative') only cancels the pipeline if no non-interruptible | ||
| # job has started yet — since our Linux jobs are non-interruptible and start immediately, | ||
| # that mode effectively never cancels anything. 'interruptible' cancels just the jobs marked | ||
| # interruptible: true (currently the macOS unit + integration jobs, which run on scarce | ||
| # bare-metal runner capacity); non-interruptible jobs continue to completion as before. | ||
| # https://docs.gitlab.com/ci/yaml/#workflowauto_cancelon_new_commit | ||
| auto_cancel: | ||
| on_new_commit: interruptible | ||
|
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Made Mac jobs specifically interruptible and added this definition to the workflow so they'll get canceled when new commits get pushed. Our Mac capacity is constrained, we only have 3 concurrent AMD64 runners across the project. |
||
| rules: | ||
| - if: $CI_COMMIT_TAG == null | ||
| variables: | ||
|
|
@@ -151,8 +160,23 @@ default: | |
| KUBERNETES_MEMORY_REQUEST: "8Gi" | ||
| KUBERNETES_MEMORY_LIMIT: "12Gi" | ||
|
|
||
| # Shared mixins for macOS runner jobs. | ||
| # | ||
| # arm64 jobs use the shared virtualized macOS Tart runner pool (`macos:tart`). Each job runs | ||
| # in a fresh VM, which gives clean isolation between pipelines, decouples the host toolchain, | ||
| # and lets two jobs share a single `mac2.metal` host. amd64 still uses the dedicated bare-metal | ||
| # pool (`macos:sonoma-amd64`); migrating it requires equivalent infra that isn't yet in place. | ||
| # | ||
| # `interruptible: true` is set here so every macOS job inherits it. macOS runner capacity in | ||
| # the GitLab fleet is finite; auto-cancelling superseded pipelines (for example, after a quick | ||
| # fixup push to an open PR) frees the runner immediately instead of holding the slot for the | ||
| # duration of the now-stale run. See: | ||
| # https://docs.gitlab.com/ci/yaml/#interruptible | ||
| .macos-amd64-test-job: | ||
| tags: ["macos:sonoma-amd64", "specific:true"] | ||
| interruptible: true | ||
|
|
||
| .macos-arm64-test-job: | ||
| tags: ["macos:sonoma-arm64", "specific:true"] | ||
| tags: ["macos:tart"] | ||
| image: 486234852809.dkr.ecr.us-east-1.amazonaws.com/ci/ci-platform-machine-images/tart-vm:saluki-sonoma-latest | ||
| interruptible: true | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -228,3 +228,4 @@ libtest | |
| mpmc | ||
| dhat | ||
| profiler | ||
| launchd | ||
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,3 +1,4 @@ | ||
| pub mod config; | ||
| pub mod docker; | ||
| pub mod driver; | ||
| pub mod unix; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Driveby but this should have been in here already