1#!/bin/sh
2
3. ./ci/zinc/linux_base.sh
4
5cp LICENSE $RELEASE_STAGING/
6cp zig-cache/langref.html $RELEASE_STAGING/docs/
7
8# Remove the unnecessary bin dir in $prefix/bin/zig
9mv $RELEASE_STAGING/bin/zig $RELEASE_STAGING/
10rmdir $RELEASE_STAGING/bin
11
12# Remove the unnecessary zig dir in $prefix/lib/zig/std/std.zig
13mv $RELEASE_STAGING/lib/zig $RELEASE_STAGING/lib2
14rmdir $RELEASE_STAGING/lib
15mv $RELEASE_STAGING/lib2 $RELEASE_STAGING/lib
16
17VERSION=$($RELEASE_STAGING/zig version)
18BASENAME="zig-linux-$ARCH-$VERSION"
19TARBALL="$BASENAME.tar.xz"
20mv "$RELEASE_STAGING" "$BASENAME"
21tar cfJ "$TARBALL" "$BASENAME"
22ls -l "$TARBALL"
23
24SHASUM=$(sha256sum $TARBALL | cut '-d ' -f1)
25BYTESIZE=$(wc -c < $TARBALL)
26
27MANIFEST="manifest.json"
28touch $MANIFEST
29echo "{\"tarball\": \"$TARBALL\"," >>$MANIFEST
30echo "\"shasum\": \"$SHASUM\"," >>$MANIFEST
31echo "\"size\": \"$BYTESIZE\"}" >>$MANIFEST
32
33# Publish artifact.
34s3cmd put -P --add-header="cache-control: public, max-age=31536000, immutable" "$TARBALL" s3://ziglang.org/builds/
35
36# Publish manifest.
37s3cmd put -P --add-header="cache-control: max-age=0, must-revalidate" "$MANIFEST" "s3://ziglang.org/builds/$ARCH-linux-$VERSION.json"
38
39# Avoid leaking oauth token.
40set +x
41
42cd $WORKSPACE
43./ci/srht/on_master_success "$VERSION" "$SRHT_OAUTH_TOKEN"
44
45set -x
46
47# Explicit exit helps show last command duration.
48exit
49