aws-sdk-for-zig/.gitea/workflows/build.yaml

75 lines
3.6 KiB
YAML
Raw Normal View History

2023-02-24 23:47:14 +00:00
name: AWS-Zig Build
run-name: ${{ github.actor }} building AWS Zig SDK
on: [push]
env:
ACTIONS_RUNTIME_TOKEN: ${{ secrets.GITHUB_TOKEN }}
2023-09-05 20:27:05 +00:00
ACTIONS_RUNTIME_URL: ${{ env.GITHUB_SERVER_URL }}/api/actions_pipeline/
2023-02-24 23:47:14 +00:00
jobs:
2023-08-14 20:47:14 +00:00
build-zig-0.11.0-amd64-host:
2023-02-24 23:47:14 +00:00
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:
2023-08-14 20:47:14 +00:00
ZIG_VERSION: 0.11.0
2023-02-24 23:47:14 +00:00
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
2023-02-26 20:04:22 +00:00
- run: wget -q https://ziglang.org/download/${ZIG_VERSION}/zig-linux-${ARCH}-${ZIG_VERSION}.tar.xz
2023-02-24 23:47:14 +00:00
- run: tar x -C /usr/local -f zig-linux-${ARCH}-${ZIG_VERSION}.tar.xz
- run: ln -s /usr/local/zig-linux-${ARCH}-${ZIG_VERSION}/zig /usr/local/bin/zig
2023-08-15 14:21:56 +00:00
- run: zig build test --verbose
2023-08-26 00:29:52 +00:00
- run: zig build --verbose -Dtarget=arm-linux
2023-02-24 23:47:14 +00:00
- run: zig build -Dtarget=x86_64-windows
- run: zig build -Dtarget=aarch64-linux
- run: zig build -Dtarget=riscv64-linux
- run: zig build -Dtarget=x86_64-macos
- run: zig build -Dtarget=aarch64-macos
2023-09-06 01:30:42 +00:00
- 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
2023-09-05 23:16:27 +00:00
#
# Also, zig tar process doesn't handle gnu format for long names, nor does it seam to
# handle posix long name semantics cleanly either. Let's try ustar
- 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: Upload
uses: actions/upload-artifact@v3
with:
name: ${{ github.sha }}-with-models.tar.gz
path: '${{ runner.temp }}/${{ github.sha }}-with-models.tar.gz'
2024-01-08 22:53:48 +00:00
- name: Publish
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'
2023-03-27 22:38:27 +00:00
- name: Notify
2023-08-14 20:47:14 +00:00
uses: https://git.lerch.org/lobo/action-notify-ntfy@v2
2023-03-27 22:38:27 +00:00
if: always()
with:
host: ${{ secrets.NTFY_HOST }}
topic: ${{ secrets.NTFY_TOPIC }}
user: ${{ secrets.NTFY_USER }}
password: ${{ secrets.NTFY_PASSWORD }}