Compare commits

..

No commits in common. "0623e9749ebea709aaef3dbe1f6bf952a2f5e765" and "abd422edb720aaac8240d3b25b8941edaf8d4a86" have entirely different histories.

8 changed files with 60 additions and 49 deletions

View file

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

View file

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

15
Makefile Normal file
View file

@ -0,0 +1,15 @@
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 AWS SDK for Zig
=============== ===============
[Zig 0.16.0](https://ziglang.org/download/#release-0.16.0): [Zig 0.15.1](https://ziglang.org/download/#release-0.15.1):
[![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) [![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)
[Nightly Zig](https://ziglang.org/download/): [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) [![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.15.2](https://ziglang.org/download/#release-0.15.2): [Zig 0.14.1](https://ziglang.org/download/#release-0.14.1):
[![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) [![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)
Current executable size for the demo is 980k after compiling with -Doptimize=ReleaseSmall 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: 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 a new zig release appears. Expect significant delays in any
build failures (PRs always welcome!). build failures (PRs always welcome!).
* **master**: This branch tracks the latest released zig version * **master**: This branch tracks the latest released zig version
* **zig-0.15.x**: This branch tracks the 0.15.2 released zig version. * **zig-0.14.x**: This branch tracks the 0.14/0.14.1 released zig versions.
Support for these previous version is best effort, generally Support for these previous version is best effort, generally
degrading over time. Fixes will generally appear in master, then degrading over time. Fixes will generally appear in master, then
backported into the previous version. backported into the previous version.

View file

@ -57,32 +57,30 @@ pub fn main(init: std.process.Init) anyerror!void {
models_dir = try std.Io.Dir.cwd().openDir(io, args[i + 1], .{ .iterate = true }); 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 files_processed: usize = 0;
{ var skip_next = true;
var manifest_file = try output_dir.createFile(io, "service_manifest.zig", .{}); for (args) |arg| {
defer manifest_file.close(io); if (skip_next) {
var manifest = manifest_file.writer(io, &manifest_buf).interface; skip_next = false;
defer manifest.flush() catch @panic("Could not flush service manifest"); continue;
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;
}
try processFile(io, arg, output_dir, &manifest);
files_processed += 1;
} }
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;
}
try processFile(io, arg, output_dir, &manifest);
files_processed += 1;
} }
if (files_processed == 0) { if (files_processed == 0) {
// no files specified, look for json files in models directory or cwd // no files specified, look for json files in models directory or cwd
@ -104,15 +102,7 @@ pub fn main(init: std.process.Init) anyerror!void {
if (verbose) { if (verbose) {
const output_path = try output_dir.realPathFileAlloc(io, ".", allocator); 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("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 = .{ .dependencies = .{
.aws = .{ .aws = .{
.url = "https://git.lerch.org/api/packages/lobo/generic/aws-sdk-with-models/2fddf4f122198ba64fbb2320e702b317b0b86837/2fddf4f122198ba64fbb2320e702b317b0b86837-with-models.tar.gz", .url = "https://git.lerch.org/api/packages/lobo/generic/aws-sdk-with-models/e41f98b389539c8bc6b1a231d25e2980318e5ef4/e41f98b389539c8bc6b1a231d25e2980318e5ef4-with-models.tar.gz",
.hash = "aws-0.0.1-SbsFcLhoAwQ5TcclMwXhIljwW0Zz_Kcjd4yrIeQq5uHt", .hash = "aws-0.0.1-SbsFcI0RCgBdf1nak95gi1kAtI6sv3Ntb7BPETH30fpS",
}, },
}, },
} }

View file

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

View file

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