Compare commits
8 Commits
7dcf3d3a2e
...
36cc72c36a
Author | SHA1 | Date | |
---|---|---|---|
36cc72c36a | |||
c0ecea8f4f | |||
65e8437455 | |||
420e015d15 | |||
b553cfa808 | |||
d4147cd3e7 | |||
17e354f0af | |||
2d154efc40 |
|
@ -1,6 +1,10 @@
|
||||||
name: AWS-Zig Build
|
name: AWS-Zig Build
|
||||||
run-name: ${{ github.actor }} building AWS Zig SDK
|
run-name: ${{ github.actor }} building AWS Zig SDK
|
||||||
on: [push]
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- '*'
|
||||||
|
- '!zig-develop*'
|
||||||
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/
|
||||||
|
|
83
.gitea/workflows/zig-mach.yaml
Normal file
83
.gitea/workflows/zig-mach.yaml
Normal file
|
@ -0,0 +1,83 @@
|
||||||
|
name: aws-zig mach nominated build
|
||||||
|
run-name: ${{ github.actor }} building AWS Zig SDK
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
- cron: '0 12 * * *' # noon UTC, 4AM Pacific
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- 'zig-develop*'
|
||||||
|
env:
|
||||||
|
ACTIONS_RUNTIME_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
ACTIONS_RUNTIME_URL: ${{ env.GITHUB_SERVER_URL }}/api/actions_pipeline/
|
||||||
|
jobs:
|
||||||
|
build-zig-nightly:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
# Need to use the default container with node and all that, so we can
|
||||||
|
# use JS-based actions like actions/checkout@v3...
|
||||||
|
# container:
|
||||||
|
# image: alpine:3.15.0
|
||||||
|
env:
|
||||||
|
ZIG_VERSION: mach-latest
|
||||||
|
ARCH: x86_64
|
||||||
|
steps:
|
||||||
|
- name: Check out repository code
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
# ARCH is fine, but we can't substitute directly because zig
|
||||||
|
# uses x86_64 instead of amd64. They also use aarch64 instead of arm64.
|
||||||
|
#
|
||||||
|
# However, arm64/linux isn't quite fully tier 1 yet, so this is more of a
|
||||||
|
# TODO: https://github.com/ziglang/zig/issues/2443
|
||||||
|
- name: Install zig
|
||||||
|
run: |
|
||||||
|
apt-get update && apt-get install -y jq
|
||||||
|
file="$(curl -Osw '%{filename_effective}' "$(curl -s https://machengine.org/zig/index.json |jq -r '."'${ZIG_VERSION}'"."x86_64-linux".tarball')")"
|
||||||
|
tar x -C /usr/local -f "${file}"
|
||||||
|
ln -s /usr/local/"${file%%.tar.xz}"/zig /usr/local/bin/zig
|
||||||
|
zig version
|
||||||
|
- name: Run tests
|
||||||
|
run: zig build test --verbose
|
||||||
|
- name: Build example
|
||||||
|
run: ( cd example && zig build ) # Make sure example builds
|
||||||
|
# Zig package manager expects everything to be inside a directory in the archive,
|
||||||
|
# which it then strips out on download. So we need to shove everything inside a directory
|
||||||
|
# the way GitHub/Gitea does for repo archives
|
||||||
|
#
|
||||||
|
# Also, zig tar process doesn't handle gnu format for long names, nor does it seam to
|
||||||
|
# handle posix long name semantics cleanly either. ustar works. This
|
||||||
|
# should be using git archive, but we need our generated code to be part of it
|
||||||
|
- name: Package source code with generated models
|
||||||
|
run: |
|
||||||
|
tar -czf ${{ runner.temp }}/${{ github.sha }}-with-models.tar.gz \
|
||||||
|
--format ustar \
|
||||||
|
--exclude 'zig-*' \
|
||||||
|
--transform 's,^,${{ github.sha }}/,' *
|
||||||
|
# - name: Sign
|
||||||
|
# id: sign
|
||||||
|
# uses: https://git.lerch.org/lobo/action-hsm-sign@v1
|
||||||
|
# with:
|
||||||
|
# pin: ${{ secrets.HSM_USER_PIN }}
|
||||||
|
# files: ???
|
||||||
|
# public_key: 'https://emil.lerch.org/serverpublic.pem'
|
||||||
|
# - run: |
|
||||||
|
# echo "Source 0 should be ./bar: ${{ steps.sign.outputs.SOURCE_0 }}"
|
||||||
|
# - run: |
|
||||||
|
# echo "Signature 0 should be ./bar.sig: ${{ steps.sign.outputs.SIG_0 }}"
|
||||||
|
# - run: echo "URL of bar (0) is ${{ steps.sign.outputs.URL_0 }}"
|
||||||
|
# - run: |
|
||||||
|
# echo "Source 1 should be ./foo: ${{ steps.sign.outputs.SOURCE_1 }}"
|
||||||
|
# - run: |
|
||||||
|
# echo "Signature 1 should be ./foo.sig: ${{ steps.sign.outputs.SIG_1 }}"
|
||||||
|
# - run: echo "URL of foo (1) is ${{ steps.sign.outputs.URL_1 }}"
|
||||||
|
- name: Publish source code with generated models
|
||||||
|
run: |
|
||||||
|
curl --user ${{ github.actor }}:${{ secrets.PACKAGE_PUSH }} \
|
||||||
|
--upload-file ${{ runner.temp }}/${{ github.sha }}-with-models.tar.gz \
|
||||||
|
https://git.lerch.org/api/packages/lobo/generic/aws-sdk-with-models/${{ github.sha }}/${{ github.sha }}-with-models.tar.gz
|
||||||
|
- name: Notify
|
||||||
|
uses: https://git.lerch.org/lobo/action-notify-ntfy@v2
|
||||||
|
if: always()
|
||||||
|
with:
|
||||||
|
host: ${{ secrets.NTFY_HOST }}
|
||||||
|
topic: ${{ secrets.NTFY_TOPIC }}
|
||||||
|
user: ${{ secrets.NTFY_USER }}
|
||||||
|
password: ${{ secrets.NTFY_PASSWORD }}
|
81
.gitea/workflows/zig-nightly.yaml
Normal file
81
.gitea/workflows/zig-nightly.yaml
Normal file
|
@ -0,0 +1,81 @@
|
||||||
|
name: aws-zig nightly build
|
||||||
|
run-name: ${{ github.actor }} building AWS Zig SDK
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- 'zig-develop*'
|
||||||
|
env:
|
||||||
|
ACTIONS_RUNTIME_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
ACTIONS_RUNTIME_URL: ${{ env.GITHUB_SERVER_URL }}/api/actions_pipeline/
|
||||||
|
jobs:
|
||||||
|
build-zig-nightly:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
# Need to use the default container with node and all that, so we can
|
||||||
|
# use JS-based actions like actions/checkout@v3...
|
||||||
|
# container:
|
||||||
|
# image: alpine:3.15.0
|
||||||
|
env:
|
||||||
|
ZIG_VERSION: master
|
||||||
|
ARCH: x86_64
|
||||||
|
steps:
|
||||||
|
- name: Check out repository code
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
# ARCH is fine, but we can't substitute directly because zig
|
||||||
|
# uses x86_64 instead of amd64. They also use aarch64 instead of arm64.
|
||||||
|
#
|
||||||
|
# However, arm64/linux isn't quite fully tier 1 yet, so this is more of a
|
||||||
|
# TODO: https://github.com/ziglang/zig/issues/2443
|
||||||
|
- name: Install zig
|
||||||
|
run: |
|
||||||
|
apt-get update && apt-get install -y jq
|
||||||
|
file="$(curl -Osw '%{filename_effective}' "$(curl -s https://ziglang.org/download/index.json |jq -r '."'${ZIG_VERSION}'"."x86_64-linux".tarball')")"
|
||||||
|
tar x -C /usr/local -f "${file}"
|
||||||
|
ln -s /usr/local/"${file%%.tar.xz}"/zig /usr/local/bin/zig
|
||||||
|
zig version
|
||||||
|
- name: Run tests
|
||||||
|
run: zig build test --verbose
|
||||||
|
- name: Build example
|
||||||
|
run: ( cd example && zig build ) # Make sure example builds
|
||||||
|
# Zig package manager expects everything to be inside a directory in the archive,
|
||||||
|
# which it then strips out on download. So we need to shove everything inside a directory
|
||||||
|
# the way GitHub/Gitea does for repo archives
|
||||||
|
#
|
||||||
|
# Also, zig tar process doesn't handle gnu format for long names, nor does it seam to
|
||||||
|
# handle posix long name semantics cleanly either. ustar works. This
|
||||||
|
# should be using git archive, but we need our generated code to be part of it
|
||||||
|
- name: Package source code with generated models
|
||||||
|
run: |
|
||||||
|
tar -czf ${{ runner.temp }}/${{ github.sha }}-with-models.tar.gz \
|
||||||
|
--format ustar \
|
||||||
|
--exclude 'zig-*' \
|
||||||
|
--transform 's,^,${{ github.sha }}/,' *
|
||||||
|
# - name: Sign
|
||||||
|
# id: sign
|
||||||
|
# uses: https://git.lerch.org/lobo/action-hsm-sign@v1
|
||||||
|
# with:
|
||||||
|
# pin: ${{ secrets.HSM_USER_PIN }}
|
||||||
|
# files: ???
|
||||||
|
# public_key: 'https://emil.lerch.org/serverpublic.pem'
|
||||||
|
# - run: |
|
||||||
|
# echo "Source 0 should be ./bar: ${{ steps.sign.outputs.SOURCE_0 }}"
|
||||||
|
# - run: |
|
||||||
|
# echo "Signature 0 should be ./bar.sig: ${{ steps.sign.outputs.SIG_0 }}"
|
||||||
|
# - run: echo "URL of bar (0) is ${{ steps.sign.outputs.URL_0 }}"
|
||||||
|
# - run: |
|
||||||
|
# echo "Source 1 should be ./foo: ${{ steps.sign.outputs.SOURCE_1 }}"
|
||||||
|
# - run: |
|
||||||
|
# echo "Signature 1 should be ./foo.sig: ${{ steps.sign.outputs.SIG_1 }}"
|
||||||
|
# - run: echo "URL of foo (1) is ${{ steps.sign.outputs.URL_1 }}"
|
||||||
|
- name: Publish source code with generated models
|
||||||
|
run: |
|
||||||
|
curl --user ${{ github.actor }}:${{ secrets.PACKAGE_PUSH }} \
|
||||||
|
--upload-file ${{ runner.temp }}/${{ github.sha }}-with-models.tar.gz \
|
||||||
|
https://git.lerch.org/api/packages/lobo/generic/aws-sdk-with-models/${{ github.sha }}/${{ github.sha }}-with-models.tar.gz
|
||||||
|
- name: Notify
|
||||||
|
uses: https://git.lerch.org/lobo/action-notify-ntfy@v2
|
||||||
|
if: always()
|
||||||
|
with:
|
||||||
|
host: ${{ secrets.NTFY_HOST }}
|
||||||
|
topic: ${{ secrets.NTFY_TOPIC }}
|
||||||
|
user: ${{ secrets.NTFY_USER }}
|
||||||
|
password: ${{ secrets.NTFY_PASSWORD }}
|
31
.github/workflows/build.yaml
vendored
Normal file
31
.github/workflows/build.yaml
vendored
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
name: AWS-Zig Build
|
||||||
|
run-name: ${{ github.actor }} building AWS Zig SDK
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- '*'
|
||||||
|
- '!zig-develop*'
|
||||||
|
jobs:
|
||||||
|
build-zig-0.11.0-amd64-host:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
env:
|
||||||
|
ZIG_VERSION: 0.11.0
|
||||||
|
ARCH: x86_64
|
||||||
|
if: ${{ github.env.GITEA_ACTIONS != 'true' }}
|
||||||
|
steps:
|
||||||
|
- name: Check out repository code
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
# ARCH is fine, but we can't substitute directly because zig
|
||||||
|
# uses x86_64 instead of amd64. They also use aarch64 instead of arm64.
|
||||||
|
#
|
||||||
|
# However, arm64/linux isn't quite fully tier 1 yet, so this is more of a
|
||||||
|
# TODO: https://github.com/ziglang/zig/issues/2443
|
||||||
|
- name: Install zig
|
||||||
|
run: |
|
||||||
|
wget -q https://ziglang.org/download/${ZIG_VERSION}/zig-linux-${ARCH}-${ZIG_VERSION}.tar.xz
|
||||||
|
sudo tar x -C /usr/local -f zig-linux-${ARCH}-${ZIG_VERSION}.tar.xz
|
||||||
|
sudo ln -s /usr/local/zig-linux-${ARCH}-${ZIG_VERSION}/zig /usr/local/bin/zig
|
||||||
|
- name: Run tests
|
||||||
|
run: zig build test --verbose
|
||||||
|
- name: Build example
|
||||||
|
run: ( cd example && zig build ) # Make sure example builds
|
38
.github/workflows/zig-mach.yaml
vendored
Normal file
38
.github/workflows/zig-mach.yaml
vendored
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
name: aws-zig mach nominated build
|
||||||
|
run-name: ${{ github.actor }} building AWS Zig SDK
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
- cron: '0 12 * * *' # noon UTC, 4AM Pacific
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- 'zig-develop*'
|
||||||
|
jobs:
|
||||||
|
build-zig-nightly:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
# Need to use the default container with node and all that, so we can
|
||||||
|
# use JS-based actions like actions/checkout@v3...
|
||||||
|
# container:
|
||||||
|
# image: alpine:3.15.0
|
||||||
|
env:
|
||||||
|
ZIG_VERSION: mach-latest
|
||||||
|
ARCH: x86_64
|
||||||
|
if: ${{ github.env.GITEA_ACTIONS != 'true' }}
|
||||||
|
steps:
|
||||||
|
- name: Check out repository code
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
# ARCH is fine, but we can't substitute directly because zig
|
||||||
|
# uses x86_64 instead of amd64. They also use aarch64 instead of arm64.
|
||||||
|
#
|
||||||
|
# However, arm64/linux isn't quite fully tier 1 yet, so this is more of a
|
||||||
|
# TODO: https://github.com/ziglang/zig/issues/2443
|
||||||
|
- name: Install zig
|
||||||
|
run: |
|
||||||
|
apt-get update && apt-get install -y jq
|
||||||
|
file="$(curl -Osw '%{filename_effective}' "$(curl -s https://machengine.org/zig/index.json |jq -r '."'${ZIG_VERSION}'"."x86_64-linux".tarball')")"
|
||||||
|
sudo tar x -C /usr/local -f "${file}"
|
||||||
|
sudo ln -s /usr/local/"${file%%.tar.xz}"/zig /usr/local/bin/zig
|
||||||
|
zig version
|
||||||
|
- name: Run tests
|
||||||
|
run: zig build test --verbose
|
||||||
|
- name: Build example
|
||||||
|
run: ( cd example && zig build ) # Make sure example builds
|
36
.github/workflows/zig-nightly.yaml
vendored
Normal file
36
.github/workflows/zig-nightly.yaml
vendored
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
name: aws-zig nightly build
|
||||||
|
run-name: ${{ github.actor }} building AWS Zig SDK
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- 'zig-develop*'
|
||||||
|
jobs:
|
||||||
|
build-zig-nightly:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
# Need to use the default container with node and all that, so we can
|
||||||
|
# use JS-based actions like actions/checkout@v3...
|
||||||
|
# container:
|
||||||
|
# image: alpine:3.15.0
|
||||||
|
env:
|
||||||
|
ZIG_VERSION: master
|
||||||
|
ARCH: x86_64
|
||||||
|
if: ${{ github.env.GITEA_ACTIONS != 'true' }}
|
||||||
|
steps:
|
||||||
|
- name: Check out repository code
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
# ARCH is fine, but we can't substitute directly because zig
|
||||||
|
# uses x86_64 instead of amd64. They also use aarch64 instead of arm64.
|
||||||
|
#
|
||||||
|
# However, arm64/linux isn't quite fully tier 1 yet, so this is more of a
|
||||||
|
# TODO: https://github.com/ziglang/zig/issues/2443
|
||||||
|
- name: Install zig
|
||||||
|
run: |
|
||||||
|
apt-get update && apt-get install -y jq
|
||||||
|
file="$(curl -Osw '%{filename_effective}' "$(curl -s https://ziglang.org/download/index.json |jq -r '."'${ZIG_VERSION}'"."x86_64-linux".tarball')")"
|
||||||
|
sudo tar x -C /usr/local -f "${file}"
|
||||||
|
sudo ln -s /usr/local/"${file%%.tar.xz}"/zig /usr/local/bin/zig
|
||||||
|
zig version
|
||||||
|
- name: Run tests
|
||||||
|
run: zig build test --verbose
|
||||||
|
- name: Build example
|
||||||
|
run: ( cd example && zig build ) # Make sure example builds
|
21
README.md
21
README.md
|
@ -1,7 +1,13 @@
|
||||||
AWS SDK for Zig
|
AWS SDK for Zig
|
||||||
===============
|
===============
|
||||||
|
|
||||||
[![Build Status](https://actions-status.lerch.org/lobo/aws-sdk-for-zig/build)](https://git.lerch.org/lobo/aws-sdk-for-zig/actions?workflow=build.yaml&state=closed)
|
[Last Mach Nominated Zig Version](https://machengine.org/about/nominated-zig/):
|
||||||
|
|
||||||
|
[![Build Status: Zig 0.12.0-dev.2063+804cee3b9](https://actions-status.lerch.org/lobo/aws-sdk-for-zig/zig-mach)](https://git.lerch.org/lobo/aws-sdk-for-zig/actions?workflow=zig-mach.yaml&state=closed)
|
||||||
|
|
||||||
|
[Nightly Zig](https://ziglang.org/download/):
|
||||||
|
|
||||||
|
[![Build Status: Zig Nightly](https://actions-status.lerch.org/lobo/aws-sdk-for-zig/zig-nightly)](https://git.lerch.org/lobo/aws-sdk-for-zig/actions?workflow=zig-nightly.yaml&state=closed)
|
||||||
|
|
||||||
**NOTE: THIS SDK IS CURRENTLY UNUSABLE FOR SEVERAL IMPORTANT AWS SERVICES
|
**NOTE: THIS SDK IS CURRENTLY UNUSABLE FOR SEVERAL IMPORTANT AWS SERVICES
|
||||||
WITHOUT A PROXY. SEE LIMITATIONS SECTION BELOW**
|
WITHOUT A PROXY. SEE LIMITATIONS SECTION BELOW**
|
||||||
|
@ -19,6 +25,16 @@ in x86_linux, and will vary based on services used. Tested targets:
|
||||||
|
|
||||||
Tested targets are built, but not continuously tested, by CI.
|
Tested targets are built, but not continuously tested, by CI.
|
||||||
|
|
||||||
|
Zig-Develop Branch
|
||||||
|
------------------
|
||||||
|
|
||||||
|
This branch is intended for use with the in-development version of Zig. This
|
||||||
|
starts with 0.12.0-dev.2150+63de8a598. I will try to keep this branch up to date
|
||||||
|
with latest, but with a special eye towards aligning with [Mach Engine's Nominated
|
||||||
|
Zig Versions](https://machengine.org/about/nominated-zig/). As nightly zig versions
|
||||||
|
disappear off the downloads page (and back end server), we can use the mirroring
|
||||||
|
that the Mach Engine participates in to pull these versions.
|
||||||
|
|
||||||
Building
|
Building
|
||||||
--------
|
--------
|
||||||
|
|
||||||
|
@ -113,8 +129,6 @@ elasticache
|
||||||
elasticbeanstalk
|
elasticbeanstalk
|
||||||
elasticloadbalancing
|
elasticloadbalancing
|
||||||
featurestore-runtime.sagemaker
|
featurestore-runtime.sagemaker
|
||||||
forecast
|
|
||||||
forecastquery
|
|
||||||
glacier
|
glacier
|
||||||
ingest.timestream
|
ingest.timestream
|
||||||
iotsitewise
|
iotsitewise
|
||||||
|
@ -138,7 +152,6 @@ s3
|
||||||
sns
|
sns
|
||||||
sqs
|
sqs
|
||||||
sso
|
sso
|
||||||
storagegateway
|
|
||||||
streams.dynamodb
|
streams.dynamodb
|
||||||
sts
|
sts
|
||||||
support
|
support
|
||||||
|
|
Loading…
Reference in New Issue
Block a user