| author | |
| committer | |
| log | c28b227d0b70a6bb37bf9b3e5bc40040ff495be1 |
| tree | 1e2867c33faea8f3f998db104a76d2e251923c8f |
| parent | 8de5e8bcd1528d4cd0a468fedb8cd735f83069b6 |
3 files changed, 107 insertions(+), 0 deletions(-)
.builds/netbsd.yml created+8| ... | @@ -0,0 +1,8 @@ | ||
| 1 | image: netbsd/latest | ||
| 2 | secrets: | ||
| 3 | - 51bfddf5-86a6-4e01-8576-358c72a4a0a4 | ||
| 4 | - 5cfede76-914e-4071-893e-e5e2e6ae3cea | ||
| 5 | sources: | ||
| 6 | - https://github.com/ziglang/zig | ||
| 7 | tasks: | ||
| 8 | - build: cd zig && ./ci/srht/netbsd_script | ||
ci/srht/netbsd_script created+92| ... | @@ -0,0 +1,92 @@ | ||
| 1 | #!/bin/sh | ||
| 2 | |||
| 3 | set -x | ||
| 4 | set -e | ||
| 5 | |||
| 6 | sudo pkgin -y update | ||
| 7 | sudo pkgin -y upgrade | ||
| 8 | sudo pkgin -y install cmake samurai curl jq py27-s3cmd wget clang | ||
| 9 | |||
| 10 | ZIGDIR="$(pwd)" | ||
| 11 | CACHE_BASENAME="zig+llvm+lld+clang-x86_64-netbsd-gnu-0.8.0" | ||
| 12 | PREFIX="$HOME/$CACHE_BASENAME" | ||
| 13 | |||
| 14 | cd $HOME | ||
| 15 | wget -nv "https://ziglang.org/deps/$CACHE_BASENAME.tar.xz" | ||
| 16 | tar xf "$CACHE_BASENAME.tar.xz" | ||
| 17 | |||
| 18 | cd $ZIGDIR | ||
| 19 | |||
| 20 | # Make the `zig version` number consistent. | ||
| 21 | # This will affect the cmake command below. | ||
| 22 | git config core.abbrev 9 | ||
| 23 | git fetch --unshallow || true | ||
| 24 | git fetch --tags | ||
| 25 | |||
| 26 | # SourceHut reports that it is a terminal that supports escape codes, but it | ||
| 27 | # is a filthy liar. Here we tell Zig to not try to send any terminal escape | ||
| 28 | # codes to show progress. | ||
| 29 | export TERM=dumb | ||
| 30 | |||
| 31 | mkdir build | ||
| 32 | cd build | ||
| 33 | export CC="$PREFIX/bin/zigcc" | ||
| 34 | export CXX="$PREFIX/bin/zigcxx" | ||
| 35 | echo "#!/bin/sh | ||
| 36 | env CC=\"clang\" $PREFIX/bin/zig cc \"\$@\"" > $CC | ||
| 37 | echo "#!/bin/sh | ||
| 38 | env CC=\"clang\" $PREFIX/bin/zig c++ \"\$@\"" > $CXX | ||
| 39 | chmod +x $CC | ||
| 40 | chmod +x $CXX | ||
| 41 | |||
| 42 | cmake .. \ | ||
| 43 | -DCMAKE_BUILD_TYPE=Release \ | ||
| 44 | -DCMAKE_PREFIX_PATH=$PREFIX \ | ||
| 45 | "-DCMAKE_INSTALL_PREFIX=$(pwd)/release" \ | ||
| 46 | -DZIG_STATIC=ON \ | ||
| 47 | -DZIG_TARGET_TRIPLE=x86_64-netbsd-none \ | ||
| 48 | -GNinja | ||
| 49 | samu install | ||
| 50 | |||
| 51 | unset CC | ||
| 52 | unset CXX | ||
| 53 | |||
| 54 | # Here we skip some tests to save time. | ||
| 55 | release/bin/zig build test -Dskip-compile-errors -Dskip-non-native | ||
| 56 | |||
| 57 | if [ -f ~/.s3cfg ]; then | ||
| 58 | mv ../LICENSE release/ | ||
| 59 | mv ../zig-cache/langref.html release/ | ||
| 60 | mv release/bin/zig release/ | ||
| 61 | rmdir release/bin | ||
| 62 | |||
| 63 | GITBRANCH=$(basename $GITHUB_REF) | ||
| 64 | VERSION=$(release/zig version) | ||
| 65 | DIRNAME="zig-netbsd-x86_64-$VERSION" | ||
| 66 | TARBALL="$DIRNAME.tar.xz" | ||
| 67 | mv release "$DIRNAME" | ||
| 68 | tar cfJ "$TARBALL" "$DIRNAME" | ||
| 69 | |||
| 70 | s3cmd put -P --add-header="cache-control: public, max-age=31536000, immutable" "$TARBALL" s3://ziglang.org/builds/ | ||
| 71 | |||
| 72 | SHASUM=$(shasum -a 256 $TARBALL | cut '-d ' -f1) | ||
| 73 | BYTESIZE=$(wc -c < $TARBALL) | ||
| 74 | |||
| 75 | JSONFILE="netbsd-$GITBRANCH.json" | ||
| 76 | touch $JSONFILE | ||
| 77 | echo "{\"tarball\": \"$TARBALL\"," >>$JSONFILE | ||
| 78 | echo "\"shasum\": \"$SHASUM\"," >>$JSONFILE | ||
| 79 | echo "\"size\": \"$BYTESIZE\"}" >>$JSONFILE | ||
| 80 | |||
| 81 | s3cmd put -P --add-header="Cache-Control: max-age=0, must-revalidate" "$JSONFILE" "s3://ziglang.org/builds/$JSONFILE" | ||
| 82 | s3cmd put -P "$JSONFILE" "s3://ziglang.org/builds/x86_64-netbsd-$VERSION.json" | ||
| 83 | |||
| 84 | if [ "$GITBRANCH" = "master" ]; then | ||
| 85 | # avoid leaking oauth token | ||
| 86 | set +x | ||
| 87 | |||
| 88 | OAUTH_TOKEN="$(cat ~/.oauth_token)" | ||
| 89 | cd "$ZIGDIR" | ||
| 90 | ./ci/srht/on_master_success "$VERSION" "$OAUTH_TOKEN" | ||
| 91 | fi | ||
| 92 | fi | ||
ci/srht/update_download_page+7| ... | @@ -15,6 +15,7 @@ X86_64_WINDOWS_JSON_URL="https://ziglang.org/builds/x86_64-windows-$VERSION.json | ... | @@ -15,6 +15,7 @@ X86_64_WINDOWS_JSON_URL="https://ziglang.org/builds/x86_64-windows-$VERSION.json |
| 15 | AARCH64_MACOS_JSON_URL="https://ziglang.org/builds/aarch64-macos-$VERSION.json" | 15 | AARCH64_MACOS_JSON_URL="https://ziglang.org/builds/aarch64-macos-$VERSION.json" |
| 16 | X86_64_MACOS_JSON_URL="https://ziglang.org/builds/x86_64-macos-$VERSION.json" | 16 | X86_64_MACOS_JSON_URL="https://ziglang.org/builds/x86_64-macos-$VERSION.json" |
| 17 | X86_64_FREEBSD_JSON_URL="https://ziglang.org/builds/x86_64-freebsd-$VERSION.json" | 17 | X86_64_FREEBSD_JSON_URL="https://ziglang.org/builds/x86_64-freebsd-$VERSION.json" |
| 18 | X86_64_NETBSD_JSON_URL="https://ziglang.org/builds/x86_64-netbsd-$VERSION.json" | ||
| 18 | 19 | ||
| 19 | # If any of these fail, it's not really this job failing; rather we have detected | 20 | # If any of these fail, it's not really this job failing; rather we have detected |
| 20 | # that this job will be called again later when other jobs have completed. | 21 | # that this job will be called again later when other jobs have completed. |
| ... | @@ -24,6 +25,7 @@ curl --fail -I "$X86_64_WINDOWS_JSON_URL" >/dev/null || exit 0 | ... | @@ -24,6 +25,7 @@ curl --fail -I "$X86_64_WINDOWS_JSON_URL" >/dev/null || exit 0 |
| 24 | curl --fail -I "$AARCH64_MACOS_JSON_URL" >/dev/null || exit 0 | 25 | curl --fail -I "$AARCH64_MACOS_JSON_URL" >/dev/null || exit 0 |
| 25 | curl --fail -I "$X86_64_MACOS_JSON_URL" >/dev/null || exit 0 | 26 | curl --fail -I "$X86_64_MACOS_JSON_URL" >/dev/null || exit 0 |
| 26 | curl --fail -I "$X86_64_FREEBSD_JSON_URL" >/dev/null || exit 0 | 27 | curl --fail -I "$X86_64_FREEBSD_JSON_URL" >/dev/null || exit 0 |
| 28 | curl --fail -I "$X86_64_NETBSD_JSON_URL" >/dev/null || exit 0 | ||
| 27 | 29 | ||
| 28 | # Without --user, this gave me: | 30 | # Without --user, this gave me: |
| 29 | # ERROR: Could not install packages due to an EnvironmentError: [Errno 13] Permission denied | 31 | # ERROR: Could not install packages due to an EnvironmentError: [Errno 13] Permission denied |
| ... | @@ -84,6 +86,11 @@ export X86_64_FREEBSD_TARBALL="$(echo "$X86_64_FREEBSD_JSON" | jq .tarball -r)" | ... | @@ -84,6 +86,11 @@ export X86_64_FREEBSD_TARBALL="$(echo "$X86_64_FREEBSD_JSON" | jq .tarball -r)" |
| 84 | export X86_64_FREEBSD_BYTESIZE="$(echo "$X86_64_FREEBSD_JSON" | jq .size -r)" | 86 | export X86_64_FREEBSD_BYTESIZE="$(echo "$X86_64_FREEBSD_JSON" | jq .size -r)" |
| 85 | export X86_64_FREEBSD_SHASUM="$(echo "$X86_64_FREEBSD_JSON" | jq .shasum -r)" | 87 | export X86_64_FREEBSD_SHASUM="$(echo "$X86_64_FREEBSD_JSON" | jq .shasum -r)" |
| 86 | 88 | ||
| 89 | X86_64_NETBSD_JSON=$(curl --fail "$X86_64_NETBSD_JSON_URL" || exit 1) | ||
| 90 | export X86_64_NETBSD_TARBALL="$(echo "$X86_64_NETBSD_JSON" | jq .tarball -r)" | ||
| 91 | export X86_64_NETBSD_BYTESIZE="$(echo "$X86_64_NETBSD_JSON" | jq .size -r)" | ||
| 92 | export X86_64_NETBSD_SHASUM="$(echo "$X86_64_NETBSD_JSON" | jq .shasum -r)" | ||
| 93 | |||
| 87 | export MASTER_DATE="$(date +%Y-%m-%d)" | 94 | export MASTER_DATE="$(date +%Y-%m-%d)" |
| 88 | export MASTER_VERSION="$VERSION" | 95 | export MASTER_VERSION="$VERSION" |
| 89 | 96 |