diff --git a/.forgejo/workflows/ci.yml b/.forgejo/workflows/ci.yml index ac862e2..ac9548d 100644 --- a/.forgejo/workflows/ci.yml +++ b/.forgejo/workflows/ci.yml @@ -77,13 +77,19 @@ jobs: echo "Zig ${ZIG_VERSION} already installed - skipping download" else echo "Installing Zig ${ZIG_VERSION}..." + ZIG_DIR="/usr/local/zig-${ZIG_VERSION}" if [[ "$OSTYPE" == "linux-gnu"* ]]; then - curl -sL "https://ziglang.org/download/${ZIG_VERSION}/zig-linux-x86_64-${ZIG_VERSION}.tar.xz" | sudo tar -C /usr/local -xJf - - sudo ln -sf "/usr/local/zig-linux-x86_64-${ZIG_VERSION}/zig" /usr/local/bin/zig + curl -fsSL --retry 3 "https://github.com/ziglang/zig/releases/download/${ZIG_VERSION}/zig-linux-x86_64-${ZIG_VERSION}.tar.xz" -o /tmp/zig.tar.xz + sudo mkdir -p "${ZIG_DIR}" + sudo tar -C "${ZIG_DIR}" --strip-components=1 -xJf /tmp/zig.tar.xz + sudo ln -sf "${ZIG_DIR}/zig" /usr/local/bin/zig elif [[ "$OSTYPE" == "darwin"* ]]; then - curl -sL "https://ziglang.org/download/${ZIG_VERSION}/zig-macos-x86_64-${ZIG_VERSION}.tar.xz" | sudo tar -C /usr/local -xJf - - sudo ln -sf "/usr/local/zig-macos-x86_64-${ZIG_VERSION}/zig" /usr/local/bin/zig + curl -fsSL --retry 3 "https://github.com/ziglang/zig/releases/download/${ZIG_VERSION}/zig-macos-x86_64-${ZIG_VERSION}.tar.xz" -o /tmp/zig.tar.xz + sudo mkdir -p "${ZIG_DIR}" + sudo tar -C "${ZIG_DIR}" --strip-components=1 -xJf /tmp/zig.tar.xz + sudo ln -sf "${ZIG_DIR}/zig" /usr/local/bin/zig fi + rm -f /tmp/zig.tar.xz echo "Zig ${ZIG_VERSION} installed" fi zig version @@ -188,13 +194,19 @@ jobs: echo "Zig ${ZIG_VERSION} already installed - skipping download" else echo "Installing Zig ${ZIG_VERSION}..." + ZIG_DIR="/usr/local/zig-${ZIG_VERSION}" if [[ "$OSTYPE" == "linux-gnu"* ]]; then - curl -sL "https://ziglang.org/download/${ZIG_VERSION}/zig-linux-x86_64-${ZIG_VERSION}.tar.xz" | sudo tar -C /usr/local -xJf - - sudo ln -sf "/usr/local/zig-linux-x86_64-${ZIG_VERSION}/zig" /usr/local/bin/zig + curl -fsSL --retry 3 "https://github.com/ziglang/zig/releases/download/${ZIG_VERSION}/zig-linux-x86_64-${ZIG_VERSION}.tar.xz" -o /tmp/zig.tar.xz + sudo mkdir -p "${ZIG_DIR}" + sudo tar -C "${ZIG_DIR}" --strip-components=1 -xJf /tmp/zig.tar.xz + sudo ln -sf "${ZIG_DIR}/zig" /usr/local/bin/zig elif [[ "$OSTYPE" == "darwin"* ]]; then - curl -sL "https://ziglang.org/download/${ZIG_VERSION}/zig-macos-x86_64-${ZIG_VERSION}.tar.xz" | sudo tar -C /usr/local -xJf - - sudo ln -sf "/usr/local/zig-macos-x86_64-${ZIG_VERSION}/zig" /usr/local/bin/zig + curl -fsSL --retry 3 "https://github.com/ziglang/zig/releases/download/${ZIG_VERSION}/zig-macos-x86_64-${ZIG_VERSION}.tar.xz" -o /tmp/zig.tar.xz + sudo mkdir -p "${ZIG_DIR}" + sudo tar -C "${ZIG_DIR}" --strip-components=1 -xJf /tmp/zig.tar.xz + sudo ln -sf "${ZIG_DIR}/zig" /usr/local/bin/zig fi + rm -f /tmp/zig.tar.xz echo "Zig ${ZIG_VERSION} installed" fi zig version