Compare commits

...

7 commits

Author SHA1 Message Date
0623e9749e
update mise config to zig master for this branch
All checks were successful
aws-zig nightly build / build-zig-nightly (push) Successful in 7m57s
2026-04-17 09:12:49 -07:00
0171cfc1f1
zls now has 0.16.0 support
All checks were successful
AWS-Zig Build / build-zig-amd64-host (push) Successful in 8m16s
2026-04-17 09:06:15 -07:00
7e6b360610
address "failed command" on codegen from within zig build verbose mode 2026-04-17 09:05:33 -07:00
242d4b5f44
update example 2026-04-16 17:28:44 -07:00
d697df6fd6
zlint does not support async properly, skip the file 2026-04-16 17:10:59 -07:00
9ac1052e01
remove legacy Makefile 2026-04-16 17:10:17 -07:00
2fddf4f122
update master branch to zig 0.16.0
Some checks failed
AWS-Zig Build / build-zig-amd64-host (push) Failing after 18m30s
2026-04-16 16:35:14 -07:00
8 changed files with 48 additions and 59 deletions

View file

@ -3,7 +3,7 @@ on:
workflow_dispatch:
push:
branches:
- 'zig-0.14.x'
- 'zig-0.15.x'
env:
ACTIONS_RUNTIME_TOKEN: ${{ secrets.GITHUB_TOKEN }}
ACTIONS_RUNTIME_URL: ${{ env.GITHUB_SERVER_URL }}/api/actions_pipeline/
@ -18,11 +18,9 @@ jobs:
- name: Check out repository code
uses: actions/checkout@v4
with:
ref: zig-0.14.x
ref: zig-0.15.x
- name: Setup Zig
uses: https://codeberg.org/mlugg/setup-zig@v2.2.1
with:
version: 0.14.0
- name: Run smoke test
run: zig build smoke-test --verbose
- name: Run full tests

View file

@ -1,5 +1,5 @@
[tools]
prek = "0.3.1"
"ubi:DonIsaac/zlint" = "0.7.9"
zig = "0.16.0"
zls = "0.15.1"
zig = "master"
zls = "0.16.0"

View file

@ -1,15 +0,0 @@
start-hand-test: src/main.zig src/aws.zig src/xml.zig
@zig build-exe -static -I/usr/local/include -Isrc/ -lc --strip \
--name start-hand-test src/main.zig src/bitfield-workaround.c \
/usr/local/lib64/libaws-c-*.a \
/usr/local/lib64/libs2n.a \
/usr/local/lib/libcrypto.a \
/usr/local/lib/libssl.a
elasticurl: curl.c
@zig build-exe -static -I/usr/local/include -Isrc/ -lc --strip \
--name elasticurl curl.c \
/usr/local/lib64/libaws-c-*.a \
/usr/local/lib64/libs2n.a \
/usr/local/lib/libcrypto.a \
/usr/local/lib/libssl.a

View file

@ -1,17 +1,17 @@
AWS SDK for Zig
===============
[Zig 0.15.1](https://ziglang.org/download/#release-0.15.1):
[Zig 0.16.0](https://ziglang.org/download/#release-0.16.0):
[![Build Status: Zig 0.15.1](https://git.lerch.org/lobo/aws-sdk-for-zig/actions/workflows/build.yaml/badge.svg)](https://git.lerch.org/lobo/aws-sdk-for-zig/actions?workflow=build.yaml&state=closed)
[![Build Status: Zig 0.16.0](https://git.lerch.org/lobo/aws-sdk-for-zig/actions/workflows/build.yaml/badge.svg)](https://git.lerch.org/lobo/aws-sdk-for-zig/actions?workflow=build.yaml&state=closed)
[Nightly Zig](https://ziglang.org/download/):
[![Build Status: Zig Nightly](https://git.lerch.org/lobo/aws-sdk-for-zig/actions/workflows/zig-nightly.yaml/badge.svg)](https://git.lerch.org/lobo/aws-sdk-for-zig/actions?workflow=zig-nightly.yaml&state=closed)
[Zig 0.14.1](https://ziglang.org/download/#release-0.14.1):
[Zig 0.15.2](https://ziglang.org/download/#release-0.15.2):
[![Build Status: Zig 0.14.x](https://git.lerch.org/lobo/aws-sdk-for-zig/actions/workflows/zig-previous.yaml/badge.svg)](https://git.lerch.org/lobo/aws-sdk-for-zig/actions?workflow=zig-previous.yaml&state=closed)
[![Build Status: Zig 0.15.2](https://git.lerch.org/lobo/aws-sdk-for-zig/actions/workflows/zig-previous.yaml/badge.svg)](https://git.lerch.org/lobo/aws-sdk-for-zig/actions?workflow=zig-previous.yaml&state=closed)
Current executable size for the demo is 980k after compiling with -Doptimize=ReleaseSmall
in x86_64-linux, and will vary based on services used. Tested targets:
@ -34,7 +34,7 @@ Branches
a new zig release appears. Expect significant delays in any
build failures (PRs always welcome!).
* **master**: This branch tracks the latest released zig version
* **zig-0.14.x**: This branch tracks the 0.14/0.14.1 released zig versions.
* **zig-0.15.x**: This branch tracks the 0.15.2 released zig version.
Support for these previous version is best effort, generally
degrading over time. Fixes will generally appear in master, then
backported into the previous version.

View file

@ -57,30 +57,32 @@ pub fn main(init: std.process.Init) anyerror!void {
models_dir = try std.Io.Dir.cwd().openDir(io, args[i + 1], .{ .iterate = true });
}
var manifest_file = try output_dir.createFile(io, "service_manifest.zig", .{});
defer manifest_file.close(io);
var manifest = manifest_file.writer(io, &manifest_buf).interface;
defer manifest.flush() catch @panic("Could not flush service manifest");
var files_processed: usize = 0;
var skip_next = true;
for (args) |arg| {
if (skip_next) {
skip_next = false;
continue;
}
if (std.mem.eql(u8, "--verbose", arg)) {
verbose = true;
continue;
}
{
var manifest_file = try output_dir.createFile(io, "service_manifest.zig", .{});
defer manifest_file.close(io);
var manifest = manifest_file.writer(io, &manifest_buf).interface;
defer manifest.flush() catch @panic("Could not flush service manifest");
var skip_next = true;
for (args) |arg| {
if (skip_next) {
skip_next = false;
continue;
}
if (std.mem.eql(u8, "--verbose", arg)) {
verbose = true;
continue;
}
if (std.mem.eql(u8, "--models", arg) or
std.mem.eql(u8, "--output", arg))
{
skip_next = true;
continue;
if (std.mem.eql(u8, "--models", arg) or
std.mem.eql(u8, "--output", arg))
{
skip_next = true;
continue;
}
try processFile(io, arg, output_dir, &manifest);
files_processed += 1;
}
try processFile(io, arg, output_dir, &manifest);
files_processed += 1;
}
if (files_processed == 0) {
// no files specified, look for json files in models directory or cwd
@ -102,7 +104,15 @@ pub fn main(init: std.process.Init) anyerror!void {
if (verbose) {
const output_path = try output_dir.realPathFileAlloc(io, ".", allocator);
// Build system suppresses stdout, we have to send this to stderr
std.debug.print("Output path: {s}\n", .{output_path});
std.debug.print(
\\Note: if this is run from within zig build, output from verbose mode will
\\ trigger zig to say 'failed command'. This program has succeeded,
\\ and the message from the build system will not effect actual processing
\\ of the build. It is simply indicative of the build runner detecting
\\ output
, .{});
}
}

View file

@ -6,8 +6,8 @@
.dependencies = .{
.aws = .{
.url = "https://git.lerch.org/api/packages/lobo/generic/aws-sdk-with-models/e41f98b389539c8bc6b1a231d25e2980318e5ef4/e41f98b389539c8bc6b1a231d25e2980318e5ef4-with-models.tar.gz",
.hash = "aws-0.0.1-SbsFcI0RCgBdf1nak95gi1kAtI6sv3Ntb7BPETH30fpS",
.url = "https://git.lerch.org/api/packages/lobo/generic/aws-sdk-with-models/2fddf4f122198ba64fbb2320e702b317b0b86837/2fddf4f122198ba64fbb2320e702b317b0b86837-with-models.tar.gz",
.hash = "aws-0.0.1-SbsFcLhoAwQ5TcclMwXhIljwW0Zz_Kcjd4yrIeQq5uHt",
},
},
}

View file

@ -11,12 +11,11 @@ pub const std_options: std.Options = .{
},
};
pub fn main() anyerror!void {
var gpa = std.heap.GeneralPurposeAllocator(.{}){};
defer _ = gpa.deinit();
const allocator = gpa.allocator();
pub fn main(init: std.process.Init) anyerror!void {
const allocator = init.gpa;
const io = init.io;
var stdout_buffer: [1024]u8 = undefined;
var stdout_raw = std.fs.File.stdout().writer(&stdout_buffer);
var stdout_raw = std.Io.File.stdout().writer(io, &stdout_buffer);
const stdout = &stdout_raw.interface;
defer stdout.flush() catch unreachable;
@ -28,10 +27,7 @@ pub fn main() anyerror!void {
// };
//
// var client = aws.Client.init(allocator, .{ .proxy = proxy });
var threaded: std.Io.Threaded = .init(allocator);
defer threaded.deinit();
const io = threaded.io();
var client = aws.Client.init(allocator, .{ .io = io });
var client = aws.Client.init(allocator, .{ .io = io, .map = init.environ_map });
defer client.deinit();
const options = aws.Options{

View file

@ -1,3 +1,3 @@
{
"ignore": ["lib/json/src/json.zig"]
"ignore": ["lib/json/src/json.zig", "codegen/src/Hasher.zig"]
}