ci: cleanup

pull/9004/head
Mitchell Hashimoto 2025-10-02 15:57:09 -07:00
parent 4e3e0ed056
commit 87b77e1980
No known key found for this signature in database
GPG Key ID: 523D5DC389D273BC
11 changed files with 45 additions and 47 deletions

View File

@ -333,7 +333,7 @@ jobs:
run: nix build .#ghostty-releasefast
- name: Check version
run: result/bin/ghostty +version | grep -q 'builtin.OptimizeMode.ReleaseFast'
run: result/bin/ghostty +version | grep -q '.ReleaseFast'
- name: Check to see if the binary has been stripped
run: nm result/bin/.ghostty-wrapped 2>&1 | grep -q 'no symbols'
@ -342,7 +342,7 @@ jobs:
run: nix build .#ghostty-debug
- name: Check version
run: result/bin/ghostty +version | grep -q 'builtin.OptimizeMode.Debug'
run: result/bin/ghostty +version | grep -q '.Debug'
- name: Check to see if the binary has not been stripped
run: nm result/bin/.ghostty-wrapped 2>&1 | grep -q 'main_ghostty.main'
@ -513,7 +513,7 @@ jobs:
$fileContent = Get-Content -Path "build.zig" -Raw
$pattern = 'buildpkg\.requireZig\("(.*?)"\);'
$zigVersion = [regex]::Match($fileContent, $pattern).Groups[1].Value
$version = "zig-windows-x86_64-$zigVersion"
$version = "zig-x86_64-windows-$zigVersion"
Write-Output $version
$uri = "https://ziglang.org/download/$zigVersion/$version.zip"
Invoke-WebRequest -Uri "$uri" -OutFile ".\zig-windows.zip"

View File

@ -10,7 +10,7 @@
git,
ncurses,
pkg-config,
zig_0_14,
zig_0_15,
pandoc,
revision ? "dirty",
optimize ? "Debug",
@ -27,7 +27,7 @@
# https://github.com/ziglang/zig/issues/14281#issuecomment-1624220653 is
# ultimately acted on and has made its way to a nixpkgs implementation, this
# can probably be removed in favor of that.
zig_hook = zig_0_14.hook.overrideAttrs {
zig_hook = zig_0_15.hook.overrideAttrs {
zig_default_flags = "-Dcpu=baseline -Doptimize=${optimize} --color off";
};
gi_typelib_path = import ./build-support/gi-typelib-path.nix {

View File

@ -82,6 +82,9 @@ pub fn initShared(
.omit_frame_pointer = deps.config.strip,
.unwind_tables = if (deps.config.strip) .none else .sync,
}),
// Fails on self-hosted x86_64
.use_llvm = true,
});
_ = try deps.add(lib);

View File

@ -29,10 +29,10 @@ COPY ./build.zig /src
# Install zig
# https://ziglang.org/download/
RUN export ZIG_VERSION=$(sed -n -e 's/^.*requireZig("\(.*\)").*$/\1/p' build.zig) && curl -L -o /tmp/zig.tar.xz "https://ziglang.org/download/$ZIG_VERSION/zig-linux-$(uname -m)-$ZIG_VERSION.tar.xz" && \
RUN export ZIG_VERSION=$(sed -n -e 's/^.*requireZig("\(.*\)").*$/\1/p' build.zig) && curl -L -o /tmp/zig.tar.xz "https://ziglang.org/download/$ZIG_VERSION/zig-$(uname -m)-linux-$ZIG_VERSION.tar.xz" && \
tar -xf /tmp/zig.tar.xz -C /opt && \
rm /tmp/zig.tar.xz && \
ln -s "/opt/zig-linux-$(uname -m)-$ZIG_VERSION/zig" /usr/local/bin/zig
ln -s "/opt/zig-$(uname -m)-linux-$ZIG_VERSION/zig" /usr/local/bin/zig
COPY . /src

View File

@ -223,12 +223,13 @@ fn getFaceFromEntry(
// Calculate the scale factor for this
// entry now that we have a loaded face.
entry.scale_factor = .{
.scale = self.scaleFactor(
if (entry.scale_factor == .adjustment) {
const factor = self.scaleFactor(
face.getMetrics(),
entry.scale_factor.adjustment,
),
};
);
entry.scale_factor = .{ .scale = factor };
}
// If our scale factor is something other
// than 1.0 then we need to resize the face.

View File

@ -35,10 +35,10 @@ pub fn run(self: *Ascii, writer: *std.Io.Writer, rand: std.Random) !void {
while (true) {
const data = try gen.next(&buf);
writer.writeAll(data) catch |err| {
const Error = error{ NoSpaceLeft, BrokenPipe } || @TypeOf(err);
const Error = error{ WriteFailed, BrokenPipe } || @TypeOf(err);
switch (@as(Error, err)) {
error.BrokenPipe => return, // stdout closed
error.NoSpaceLeft => return, // fixed buffer full
error.WriteFailed => return, // fixed buffer full
else => return err,
}
};
@ -56,8 +56,6 @@ test Ascii {
const rand = prng.random();
var buf: [1024]u8 = undefined;
var fbs = std.io.fixedBufferStream(&buf);
const writer = fbs.writer();
try impl.run(writer, rand);
var writer: std.Io.Writer = .fixed(&buf);
try impl.run(&writer, rand);
}

View File

@ -39,10 +39,10 @@ pub fn run(self: *Osc, writer: *std.Io.Writer, rand: std.Random) !void {
while (true) {
const data = try gen.next(&buf);
writer.writeAll(data) catch |err| {
const Error = error{ NoSpaceLeft, BrokenPipe } || @TypeOf(err);
const Error = error{ WriteFailed, BrokenPipe } || @TypeOf(err);
switch (@as(Error, err)) {
error.BrokenPipe => return, // stdout closed
error.NoSpaceLeft => return, // fixed buffer full
error.WriteFailed => return, // fixed buffer full
else => return err,
}
};
@ -60,8 +60,6 @@ test Osc {
const rand = prng.random();
var buf: [1024]u8 = undefined;
var fbs = std.io.fixedBufferStream(&buf);
const writer = fbs.writer();
try impl.run(writer, rand);
var writer: std.Io.Writer = .fixed(&buf);
try impl.run(&writer, rand);
}

View File

@ -34,10 +34,10 @@ pub fn run(self: *Utf8, writer: *std.Io.Writer, rand: std.Random) !void {
while (true) {
const data = try gen.next(&buf);
writer.writeAll(data) catch |err| {
const Error = error{ NoSpaceLeft, BrokenPipe } || @TypeOf(err);
const Error = error{ WriteFailed, BrokenPipe } || @TypeOf(err);
switch (@as(Error, err)) {
error.BrokenPipe => return, // stdout closed
error.NoSpaceLeft => return, // fixed buffer full
error.WriteFailed => return, // fixed buffer full
else => return err,
}
};
@ -55,8 +55,6 @@ test Utf8 {
const rand = prng.random();
var buf: [1024]u8 = undefined;
var fbs = std.io.fixedBufferStream(&buf);
const writer = fbs.writer();
try impl.run(writer, rand);
var writer: std.Io.Writer = .fixed(&buf);
try impl.run(&writer, rand);
}

View File

@ -1214,41 +1214,41 @@ test "all i32 values" {
test "response: encode nothing without ID or image number" {
const testing = std.testing;
var buf: [1024]u8 = undefined;
var fbs = std.io.fixedBufferStream(&buf);
var writer: std.Io.Writer = .fixed(&buf);
var r: Response = .{};
try r.encode(fbs.writer());
try testing.expectEqualStrings("", fbs.getWritten());
try r.encode(&writer);
try testing.expectEqualStrings("", writer.buffered());
}
test "response: encode with only image id" {
const testing = std.testing;
var buf: [1024]u8 = undefined;
var fbs = std.io.fixedBufferStream(&buf);
var writer: std.Io.Writer = .fixed(&buf);
var r: Response = .{ .id = 4 };
try r.encode(fbs.writer());
try testing.expectEqualStrings("\x1b_Gi=4;OK\x1b\\", fbs.getWritten());
try r.encode(&writer);
try testing.expectEqualStrings("\x1b_Gi=4;OK\x1b\\", writer.buffered());
}
test "response: encode with only image number" {
const testing = std.testing;
var buf: [1024]u8 = undefined;
var fbs = std.io.fixedBufferStream(&buf);
var writer: std.Io.Writer = .fixed(&buf);
var r: Response = .{ .image_number = 4 };
try r.encode(fbs.writer());
try testing.expectEqualStrings("\x1b_GI=4;OK\x1b\\", fbs.getWritten());
try r.encode(&writer);
try testing.expectEqualStrings("\x1b_GI=4;OK\x1b\\", writer.buffered());
}
test "response: encode with image ID and number" {
const testing = std.testing;
var buf: [1024]u8 = undefined;
var fbs = std.io.fixedBufferStream(&buf);
var writer: std.Io.Writer = .fixed(&buf);
var r: Response = .{ .id = 12, .image_number = 4 };
try r.encode(fbs.writer());
try testing.expectEqualStrings("\x1b_Gi=12,I=4;OK\x1b\\", fbs.getWritten());
try r.encode(&writer);
try testing.expectEqualStrings("\x1b_Gi=12,I=4;OK\x1b\\", writer.buffered());
}
test "delete range command 1" {

View File

@ -230,8 +230,8 @@ test "encode" {
// Encode
var buf: [1024]u8 = undefined;
var buf_stream = std.io.fixedBufferStream(&buf);
try src.encode(buf_stream.writer());
var writer: std.Io.Writer = .fixed(&buf);
try src.encode(&writer);
const expected =
"ghostty|xterm-ghostty|Ghostty,\n" ++
@ -239,5 +239,5 @@ test "encode" {
"\tccc@,\n" ++
"\tcolors#256,\n" ++
"\tbel=^G,\n";
try std.testing.expectEqualStrings(@as([]const u8, expected), buf_stream.getWritten());
try std.testing.expectEqualStrings(@as([]const u8, expected), writer.buffered());
}

View File

@ -391,7 +391,7 @@ pub const ghostty: Source = .{
test "encode" {
// Encode
var buf: [1024 * 16]u8 = undefined;
var buf_stream = std.io.fixedBufferStream(&buf);
try ghostty.encode(buf_stream.writer());
try std.testing.expect(buf_stream.getWritten().len > 0);
var writer: std.Io.Writer = .fixed(&buf);
try ghostty.encode(&writer);
try std.testing.expect(writer.buffered().len > 0);
}