this repo has no description

ci: add build workflow

altagos.dev d7540cf3 812a65d7

verified
+70
+21
.tangled/workflows/build.yaml
··· 1 + when: 2 + - event: ["push", "pull_request"] 3 + branch: ["main"] 4 + - event: ["manual"] 5 + 6 + dependencies: 7 + ## from nixpkgs 8 + nixpkgs: 9 + - curl 10 + - jq 11 + 12 + steps: 13 + - name: "Install zig" 14 + command: "./scripts/install-zig.sh" 15 + - name: "Build ReleaseFast" 16 + command: "./zig/zig build -Doptimize=ReleaseFast" 17 + 18 + clone: 19 + skip: false 20 + depth: 1 21 + submodules: true
+49
scripts/install-zig.sh
··· 1 + #!/bin/bash 2 + 3 + JSON=$(curl -s https://ziglang.org/download/index.json) 4 + 5 + # Determine the architecture: 6 + if [ "$(uname -m)" = 'arm64' ] || [ "$(uname -m)" = 'aarch64' ]; then 7 + ZIG_ARCH="aarch64" 8 + else 9 + ZIG_ARCH="x86_64" 10 + fi 11 + 12 + # Determine the operating system: 13 + case "$(uname)" in 14 + Linux) 15 + ZIG_OS="linux" 16 + ;; 17 + Darwin) 18 + ZIG_OS="macos" 19 + ;; 20 + CYGWIN*) 21 + ZIG_OS="windows" 22 + ;; 23 + *) 24 + echo "Unknown OS" 25 + exit 1 26 + ;; 27 + esac 28 + 29 + ZIG_TARGET="$ZIG_ARCH-$ZIG_OS" 30 + 31 + URL=$(echo "$JSON" | jq -r ".master.\"$ZIG_TARGET\".tarball") 32 + EXPECTED_SHA=$(echo "$JSON" | jq -r ".master.\"$ZIG_TARGET\".shasum") 33 + 34 + curl -O "$URL" 35 + 36 + ACTUAL_SHA=$(shasum -a 256 zig*.tar.xz | awk '{print $1}') 37 + if [ "$EXPECTED_SHA" != "$ACTUAL_SHA" ]; then 38 + echo "SHA checksum verification failed." 39 + echo "Expected: $EXPECTED_SHA" 40 + echo "Actual: $ACTUAL_SHA" 41 + exit 1 42 + fi 43 + 44 + if [ ! -d "zig" ]; then 45 + mkdir zig 46 + fi 47 + 48 + tar -xf zig*.tar.xz -C zig --strip-components=1 49 + rm zig*.tar.xz