diff --git a/ci/drone/drone.yml b/ci/drone/drone.yml new file mode 100644 index 0000000000..03df5cad30 --- /dev/null +++ b/ci/drone/drone.yml @@ -0,0 +1,25 @@ +--- +kind: pipeline +name: test-aarch64-linux-gnu + +platform: + arch: arm64 + +steps: +- name: build-and-test + image: alpine:edge + commands: + - ./ci/drone/linux_script aarch64 linux musl + +--- +kind: pipeline +name: test-arm-linux-gnueabihf + +platform: + arch: arm + +steps: +- name: build-and-test + image: alpine:edge + commands: + - ./ci/drone/linux_script arm linux musleabihf diff --git a/ci/drone/linux_script b/ci/drone/linux_script new file mode 100755 index 0000000000..9045b835fd --- /dev/null +++ b/ci/drone/linux_script @@ -0,0 +1,49 @@ +#!/bin/sh + +set -x +set -e + +TRIPLEARCH="$0" +TRIPLEOS="$1" +TRIPLEABI="$2" +BUILDDIR="$(pwd)" +DISTDIR="$(pwd)/dist" + +apk update +apk add gcc g++ cmake make libc-dev binutils libstdc++ py3-pip clang-static llvm9-static xz llvm9-dev clang-dev zlib-static libxml2-dev +pip3 install s3cmd + +mkdir build +cd build +cmake .. -DCMAKE_BUILD_TYPE=Release "-DCMAKE_INSTALL_PREFIX=$DISTDIR" -DZIG_STATIC=ON + +make -j$(nproc) install +./zig build test + +if [ -n "$DRONE_PULL_REQUEST" ]; then + mv ../LICENSE "$DISTDIR/" + mv ../zig-cache/langref.html "$DISTDIR/" + mv "$DISTDIR/bin/zig" "$DISTDIR/" + rmdir "$DISTDIR/bin" + + GITBRANCH="$DRONE_BRANCH" + VERSION=$("$DISTDIR/zig" version) + DIRNAME="zig-$TRIPLEOS-$TRIPLEARCH-$VERSION" + TARBALL="$DIRNAME.tar.xz" + mv "$DISTDIR" "$DIRNAME" + tar cfJ "$TARBALL" "$DIRNAME" + + s3cmd put -P --add-header="cache-control: public, max-age=31536000, immutable" "$TARBALL" s3://ziglang.org/builds/ + + SHASUM=$(shasum -a 256 $TARBALL | cut '-d ' -f1) + BYTESIZE=$(wc -c < $TARBALL) + + JSONFILE="$TRIPLEARCH-$TRIPLEOS-$GITBRANCH.json" + touch $JSONFILE + echo "{\"tarball\": \"$TARBALL\"," >>$JSONFILE + echo "\"shasum\": \"$SHASUM\"," >>$JSONFILE + echo "\"size\": \"$BYTESIZE\"}" >>$JSONFILE + + s3cmd put -P --add-header="Cache-Control: max-age=0, must-revalidate" "$JSONFILE" "s3://ziglang.org/builds/$JSONFILE" + s3cmd put -P "$JSONFILE" "s3://ziglang.org/builds/$TRIPLEARCH-$TRIPLEOS-$VERSION.json" +fi diff --git a/ci/srht/freebsd_script b/ci/srht/freebsd_script index 7937efeb38..213796f77c 100755 --- a/ci/srht/freebsd_script +++ b/ci/srht/freebsd_script @@ -15,7 +15,7 @@ tar xf "$CACHE_BASENAME.tar.xz" cd $ZIGDIR mkdir build cd build -cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=$PREFIX -DCMAKE_INSTALL_PREFIX=$(pwd)/release -DZIG_STATIC=ON +cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=$PREFIX "-DCMAKE_INSTALL_PREFIX=$(pwd)/release" -DZIG_STATIC=ON make $JOBS install release/bin/zig build test-fmt