build: updated pipelines to use cargo-zigbuild container to work with apple and be faster
- change ID
- xsotuslxzkkrmsyxntuowmpxlkxnvzxl
- git commit
- 1be3e0468dfbb6cb2b786864b02051ee59188ed9
- author
- Grace Yoder <grace_yoder@outlook.com> - 2026-06-30T14:11:34-06:00
- committer
- Grace Yoder <grace_yoder@outlook.com> - 2026-07-01T18:05:31-06:00
- parents
- sttmnvllxltv
- refs
- signature
- Present (not validated)
build: updated pipelines to use cargo-zigbuild container to work with apple and be faster
tree
| type | name | size |
|---|---|---|
| file | .crow/build.yml | 1532 bytes |
| file | .crow/release.yml | 566 bytes |
| file | .gitignore | 354 bytes |
| file | LICENSE | 1073 bytes |
| file | README.md | 632 bytes |
| file | build.zig | 2345 bytes |
| file | build.zig.zon | 247 bytes |
| file | src/Clip/NSPBBridge.m | 382 bytes |
| file | src/Clip/NSPasteboard.zig | 1456 bytes |
| file | src/Clip/OSC52.zig | 4564 bytes |
| file | src/Clip.zig | 1510 bytes |
| file | src/main.zig | 2166 bytes |
diff
.crow/build.yml
modified (file → file)
settings:
tags: true
+variables:
+ - &zig_image 'ghcr.io/rust-cross/cargo-zigbuild:0.23'
+
steps:
- name: build-linux-x86_64
- image: alpine:3.20
+ image: *zig_image
commands:
- - apk add --no-cache curl xz
- - curl -sSL https://ziglang.org/download/0.16.0/zig-x86_64-linux-0.16.0.tar.xz | tar -xJ -C /usr/local
- - ln -s /usr/local/zig-x86_64-linux-0.16.0/zig /usr/local/bin/zig
- - zig build -Dtarget=x86_64-linux-musl -Doptimize=ReleaseSafe
- - cp zig-out/bin/tpb tpb-linux-x86_64
+ - zig build -Dtarget=x86_64-linux-musl -Doptimize=ReleaseSafe --prefix zig-out-linux-x86_64
+ - cp zig-out-linux-x86_64/bin/tpb tpb-linux-x86_64
- name: build-linux-aarch64
- image: alpine:3.20
+ image: *zig_image
commands:
- - apk add --no-cache curl xz
- - curl -sSL https://ziglang.org/download/0.16.0/zig-x86_64-linux-0.16.0.tar.xz | tar -xJ -C /usr/local
- - ln -s /usr/local/zig-x86_64-linux-0.16.0/zig /usr/local/bin/zig
- - zig build -Dtarget=aarch64-linux-musl -Doptimize=ReleaseSafe
- - cp zig-out/bin/tpb tpb-linux-aarch64
+ - zig build -Dtarget=aarch64-linux-musl -Doptimize=ReleaseSafe --prefix zig-out-linux-aarch64
+ - cp zig-out-linux-aarch64/bin/tpb tpb-linux-aarch64
- name: build-macos-x86_64
- image: alpine:3.20
+ image: *zig_image
commands:
- - apk add --no-cache curl xz
- - curl -sSL https://ziglang.org/download/0.16.0/zig-x86_64-linux-0.16.0.tar.xz | tar -xJ -C /usr/local
- - ln -s /usr/local/zig-x86_64-linux-0.16.0/zig /usr/local/bin/zig
- - zig build -Dtarget=x86_64-macos -Doptimize=ReleaseSafe
- - cp zig-out/bin/tpb tpb-macos-x86_64
+ - zig build -Dtarget=x86_64-macos -Doptimize=ReleaseSafe --prefix zig-out-macos-x86_64 --sysroot /opt/MacOSX11.3.sdk
+ - cp zig-out-macos-x86_64/bin/tpb tpb-macos-x86_64
- name: build-macos-aarch64
- image: alpine:3.20
+ image: *zig_image
commands:
- - apk add --no-cache curl xz
- - curl -sSL https://ziglang.org/download/0.16.0/zig-x86_64-linux-0.16.0.tar.xz | tar -xJ -C /usr/local
- - ln -s /usr/local/zig-x86_64-linux-0.16.0/zig /usr/local/bin/zig
- - zig build -Dtarget=aarch64-macos -Doptimize=ReleaseSafe
- - cp zig-out/bin/tpb tpb-macos-aarch64
+ - zig build -Dtarget=aarch64-macos -Doptimize=ReleaseSafe --prefix zig-out-macos-aarch64 --sysroot /opt/MacOSX11.3.sdk
+ - cp zig-out-macos-aarch64/bin/tpb tpb-macos-aarch64
- name: release
build.zig
modified (file → file)
.language = .objective_c,
.flags = &.{"-fobjc-arc"},
});
- exe.root_module.linkFramework("Cocoa", .{});
tests.root_module.addCSourceFiles(.{
.files = &.{"src/Clip/NSPBBridge.m"},
.language = .objective_c,
.flags = &.{"-fobjc-arc"},
});
+ if (b.sysroot) |sysroot| {
+ const framework_path = b.pathJoin(&.{ sysroot, "System/Library/Frameworks" });
+ const include_path = b.pathJoin(&.{ sysroot, "usr/include" });
+ exe.root_module.addSystemFrameworkPath(.{ .cwd_relative = framework_path });
+ exe.root_module.addSystemIncludePath(.{ .cwd_relative = include_path });
+ tests.root_module.addSystemFrameworkPath(.{ .cwd_relative = framework_path });
+ tests.root_module.addSystemIncludePath(.{ .cwd_relative = include_path });
+ }
+ exe.root_module.linkFramework("Cocoa", .{});
tests.root_module.linkFramework("Cocoa", .{});
}