zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

commit 3591c51fbedd39719d4302c21ba5d2cddf463d80 (tree)
parent 2623b5cf3a971cfb578321648fa4a7098a72d928
Author: Andrew Kelley <andrew@ziglang.org>
Date:   Mon, 14 Nov 2022 16:04:01 -0700

CI: aarch64-linux: init

Diffstat:
M.github/workflows/ci.yaml | 19+++++++------------
Aci/linux/build-aarch64.sh | 54++++++++++++++++++++++++++++++++++++++++++++++++++++++
Dci/linux/build.sh | 69---------------------------------------------------------------------
3 files changed, 61 insertions(+), 81 deletions(-)

diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml @@ -5,18 +5,13 @@ on: branches: - master jobs: - # linux: - # runs-on: [self-hosted, Linux, aarch64] - # env: - # ARCH: "aarch64" - # steps: - # - name: Checkout - # uses: actions/checkout@v3 - - # - name: Test - # run: echo "Success!" - # - name: Run Build Script - # run: sh ./ci/linux/build.sh + linux-aarch64: + runs-on: [self-hosted, Linux, aarch64] + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Run Build Script + run: sh ./ci/linux/build-aarch64.sh macos-x86_64: strategy: matrix: diff --git a/ci/linux/build-aarch64.sh b/ci/linux/build-aarch64.sh @@ -0,0 +1,54 @@ +#!/bin/sh + + +# Requires cmake ninja-build + +set -x +set -e + +ZIGDIR="$(pwd)" +ARCH="$(uname -m)" +TARGET="$ARCH-linux-musl" +MCPU="baseline" +CACHE_BASENAME="zig+llvm+lld+clang-$TARGET-0.10.0-dev.4560+828735ac0" +PREFIX="$HOME/deps/$CACHE_BASENAME" +ZIG="$PREFIX/bin/zig" + +export PATH="$HOME/deps/wasmtime-v2.0.2-aarch64-linux:$PATH" + +mkdir build-release +cd build-release +cmake .. \ + -DCMAKE_INSTALL_PREFIX="stage3-release" \ + -DCMAKE_PREFIX_PATH="$PREFIX" \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_C_COMPILER="$ZIG;cc;-target;$TARGET;-mcpu=$MCPU" \ + -DCMAKE_CXX_COMPILER="$ZIG;c++;-target;$TARGET;-mcpu=$MCPU" \ + -DZIG_TARGET_TRIPLE="$TARGET" \ + -DZIG_TARGET_MCPU="$MCPU" \ + -DZIG_STATIC=ON \ + -GNinja + +ninja install + +# TODO: add -fqemu back to this line + +stage3-release/bin/zig build test docs \ + -fwasmtime \ + -Dstatic-llvm \ + -Dtarget=native-native-musl \ + --search-prefix "$PREFIX" \ + --zig-lib-dir "$(pwd)/../lib" + +# Produce the experimental std lib documentation. +mkdir -p "stage3-release/doc/std" +stage3-release/bin/zig test ../lib/std/std.zig \ + -femit-docs=stage3-release/doc/std \ + -fno-emit-bin \ + --zig-lib-dir "$(pwd)/../lib" + +# cp ../LICENSE $RELEASE_STAGING/ +# cp ../zig-cache/langref.html $RELEASE_STAGING/doc/ + +# # Look for HTML errors. +# tidy --drop-empty-elements no -qe $RELEASE_STAGING/doc/langref.html diff --git a/ci/linux/build.sh b/ci/linux/build.sh @@ -1,68 +0,0 @@ -#!/bin/sh - - -# Requires cmake ninja-build - -set -x -set -e - -ZIGDIR="$(pwd)" -TARGET="$ARCH-linux-musl" -MCPU="baseline" -CACHE_BASENAME="zig+llvm+lld+clang-$TARGET-0.10.0-dev.4560+828735ac0" -PREFIX="$HOME/$CACHE_BASENAME" -JOBS="-j2" - -rm -rf $PREFIX -cd $HOME - -wget -nv "https://ziglang.org/deps/$CACHE_BASENAME.tar.xz" -tar xf "$CACHE_BASENAME.tar.xz" - -ZIG="$PREFIX/bin/zig" - -export CC="$ZIG cc -target $TARGET -mcpu=$MCPU" -export CXX="$ZIG c++ -target $TARGET -mcpu=$MCPU" -export PATH=$DEPS_LOCAL/bin:$PATH - -mkdir build-release -cd build-release -cmake .. \ - -DCMAKE_INSTALL_PREFIX="stage3-release" \ - -DCMAKE_PREFIX_PATH="$PREFIX" \ - -DCMAKE_BUILD_TYPE=Release \ - -DZIG_TARGET_TRIPLE="$TARGET" \ - -DZIG_TARGET_MCPU="$MCPU" \ - -DZIG_STATIC=ON \ - -GNinja - -# Now cmake will use zig as the C/C++ compiler. We reset the environment variables -# so that installation and testing do not get affected by them. -unset CC -unset CXX - -ninja install - -stage3-release/bin/zig build test docs \ - -fqemu \ - -fwasmtime \ - -Dstatic-llvm \ - -Dtarget=native-native-musl \ - --search-prefix "$PREFIX" \ - --zig-lib-dir "$(pwd)/../lib" - -# Produce the experimental std lib documentation. -mkdir -p "stage3-release/doc/std" -stage3-release/bin/zig test ../lib/std/std.zig \ - -femit-docs=stage3-release/doc/std \ - -fno-emit-bin \ - --zig-lib-dir "$(pwd)/../lib" - -# cp ../LICENSE $RELEASE_STAGING/ -# cp ../zig-cache/langref.html $RELEASE_STAGING/doc/ - -# # Look for HTML errors. -# tidy --drop-empty-elements no -qe $RELEASE_STAGING/doc/langref.html - -# Explicit exit helps show last command duration. -exit -\ No newline at end of file