diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c4d4d6a..791c370 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -22,4 +22,6 @@ jobs: - uses: mlugg/setup-zig@v1 with: version: "0.13.0" + - uses: astral-sh/setup-uv@v5 - run: zig build -Dduckdb-version=${{ matrix.duckdb_version }} -Dinstall-headers --verbose --summary new + - run: DUCKDB_METADATA_PLATFORM=linux_amd64_gcc4 zig build test -Dduckdb-version=${{ matrix.duckdb_version }} --summary none diff --git a/build.zig b/build.zig index 96571c8..66e635c 100644 --- a/build.zig +++ b/build.zig @@ -74,10 +74,13 @@ pub fn build(b: *std.Build) !void { // TODO: Rewrite the metadata script in Zig const ext_path = out: { + // HACK: Allow to override platform for GitHub Actions where linux_amd64_gcc4 is used + const platform_name = std.process.getEnvVarOwned(b.allocator, "DUCKDB_METADATA_PLATFORM") catch @tagName(platform); + const cmd = b.addSystemCommand(&.{ "uv", "run", "--python=3", metadata_script }); cmd.addArgs(&.{ "--extension-name", ext.name }); cmd.addArgs(&.{ "--extension-version", ext_version }); - cmd.addArgs(&.{ "--duckdb-platform", @tagName(platform) }); + cmd.addArgs(&.{ "--duckdb-platform", platform_name }); cmd.addArgs(&.{ "--duckdb-version", "v0.0.1" }); // TODO: Set this based on the DuckDB version cmd.addArg("--library-file"); cmd.addArtifactArg(ext);