this repo has no description

ci: rework zig download

altagos.dev e51fb115 8003d5a7

verified
+69 -64
+15 -15
.tangled/workflows/build.yaml
··· 1 1 when: 2 - - event: ["push", "pull_request"] 3 - branch: ["main"] 4 - - event: ["manual"] 2 + - event: ["push", "pull_request"] 3 + branch: ["main"] 4 + - event: ["manual"] 5 5 6 6 dependencies: 7 - ## from nixpkgs 8 - nixpkgs: 9 - - curl 10 - - jq 11 - - busybox 7 + ## from nixpkgs 8 + nixpkgs: 9 + - curl 10 + - jq 11 + - busybox 12 12 13 13 steps: 14 - - name: "Install zig" 15 - command: "./scripts/install-zig.sh" 16 - - name: "Build ReleaseFast" 17 - command: "./zig/zig build -Doptimize=ReleaseFast --summary all" 14 + - name: "Install zig" 15 + command: "./zig/download.sh" 16 + - name: "Build ReleaseFast" 17 + command: "./zig/zig build -Doptimize=ReleaseFast --summary all" 18 18 19 19 clone: 20 - skip: false 21 - depth: 1 22 - submodules: true 20 + skip: false 21 + depth: 1 22 + 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=$(sha256sum 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
+2
zig/.gitignore
··· 1 + master/ 2 + zig
+52
zig/download.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=$(sha256sum 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/master" ]; then 45 + mkdir zig/master 46 + fi 47 + 48 + CWD=$(pwd) 49 + 50 + tar -xf zig*.tar.xz -C zig/master --strip-components=1 51 + ln -s "$CWD/zig/master/zig" "$CWD/zig/zig" 52 + rm zig*.tar.xz