WIP alpine build

This commit is contained in:
Ayke van Laethem
2021-11-15 19:58:57 +01:00
parent 2081380b5c
commit 22b5b69cf0
3 changed files with 49 additions and 30 deletions
+46 -27
View File
@@ -228,44 +228,62 @@ commands:
- run: make wasmtest
build-linux:
steps:
- checkout
- submodules
- run:
name: "Install apt dependencies"
name: "Install apk dependencies"
command: |
sudo apt-get update
sudo apt-get install --no-install-recommends \
libgnutls30 libssl1.0.2 \
ninja-build \
python3
- install-cmake
- hack-ninja-jobs
apk add git openssh make g++ gcompat
- checkout
- run:
name: "Install Go"
command: |
wget https://dl.google.com/go/go1.17.3.linux-amd64.tar.gz
tar -C /usr/local -xzf go1.17.3.linux-amd64.tar.gz
ln -s /usr/local/go/bin/go /usr/local/bin/go
#- submodules
- restore_cache:
name: "Restore Go cache"
keys:
- go-cache-v2-{{ checksum "go.mod" }}-{{ .Environment.CIRCLE_PREVIOUS_BUILD_NUM }}
- go-cache-v2-{{ checksum "go.mod" }}
- llvm-source-linux
- go-cache-alpine-v2-{{ checksum "go.mod" }}-{{ .Environment.CIRCLE_PREVIOUS_BUILD_NUM }}
- go-cache-alpine-v2-{{ checksum "go.mod" }}
- restore_cache:
name: "Restore llvm-source cache"
keys:
- llvm-build-11-linux-v4-noassert
- llvm-source-11-alpine-v2-x0
- run:
name: "Fetch LLVM source"
command: make llvm-source
- save_cache:
name: "Save llvm-source cache"
key: llvm-source-11-alpine-v2-x0
paths:
- llvm-project
#- llvm-project/clang/lib/Headers
#- llvm-project/clang/include
#- llvm-project/lld/include
#- llvm-project/llvm/include
- restore_cache:
name: "Restore llvm-build cache"
keys:
- llvm-build-11-alpine-v1-noassert-x0
- run:
name: "Build LLVM"
command: |
if [ ! -f llvm-build/lib/liblldELF.a ]
then
# fetch LLVM source (may only have headers right now)
rm -rf llvm-project
make llvm-source
#rm -rf llvm-project
#make llvm-source
# install dependencies
apk add cmake samurai python3
# build!
make llvm-build
find llvm-build -name CMakeFiles -prune -exec rm -r '{}' \;
SAMUFLAGS=-j3 make llvm-build
#find llvm-build -name CMakeFiles -prune -exec rm -r '{}' \;
fi
- save_cache:
key: llvm-build-11-linux-v4-noassert
name: "Save llvm-build cache"
key: llvm-build-11-alpine-v1-noassert-x0
paths:
llvm-build
- build-binaryen-linux-stretch
- build-wasi-libc
- run:
name: "Install fpm"
command: |
@@ -286,7 +304,8 @@ commands:
- store_artifacts:
path: /tmp/tinygo_amd64.deb
- save_cache:
key: go-cache-v2-{{ checksum "go.mod" }}-{{ .Environment.CIRCLE_BUILD_NUM }}
name: "Save Go cache"
key: go-cache-alpine-v2-{{ checksum "go.mod" }}-{{ .Environment.CIRCLE_BUILD_NUM }}
paths:
- ~/.cache/go-build
- /go/pkg/mod
@@ -431,7 +450,7 @@ jobs:
- assert-test-linux
build-linux:
docker:
- image: circleci/golang:1.17-stretch
- image: alpine:3.14
steps:
- build-linux
test-linux-build:
@@ -450,11 +469,11 @@ jobs:
workflows:
test-all:
jobs:
- test-llvm11-go115
- test-llvm11-go116
#- test-llvm11-go115
#- test-llvm11-go116
- build-linux
- test-linux-build:
requires:
- build-linux
- build-macos
- assert-test-linux
#- build-macos
#- assert-test-linux
+1 -1
View File
@@ -1,7 +1,7 @@
name: Windows
on:
pull_request:
#pull_request:
push:
branches:
- dev
+2 -2
View File
@@ -168,8 +168,8 @@ $(LLVM_BUILDDIR)/build.ninja: llvm-source
mkdir -p $(LLVM_BUILDDIR) && cd $(LLVM_BUILDDIR) && cmake -G Ninja $(TINYGO_SOURCE_DIR)/$(LLVM_PROJECTDIR)/llvm "-DLLVM_TARGETS_TO_BUILD=X86;ARM;AArch64;RISCV;WebAssembly" "-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=AVR;Xtensa" -DCMAKE_BUILD_TYPE=Release -DLIBCLANG_BUILD_STATIC=ON -DLLVM_ENABLE_TERMINFO=OFF -DLLVM_ENABLE_ZLIB=OFF -DLLVM_ENABLE_LIBEDIT=OFF -DLLVM_ENABLE_Z3_SOLVER=OFF -DLLVM_ENABLE_OCAMLDOC=OFF -DLLVM_ENABLE_LIBXML2=OFF -DLLVM_ENABLE_PROJECTS="clang;lld" -DLLVM_TOOL_CLANG_TOOLS_EXTRA_BUILD=OFF -DCLANG_ENABLE_STATIC_ANALYZER=OFF -DCLANG_ENABLE_ARCMT=OFF $(LLVM_OPTION)
# Build LLVM.
$(LLVM_BUILDDIR): $(LLVM_BUILDDIR)/build.ninja
cd $(LLVM_BUILDDIR) && ninja $(NINJA_BUILD_TARGETS)
$(LLVM_BUILDDIR): #$(LLVM_BUILDDIR)/build.ninja
cd $(LLVM_BUILDDIR) && ninja llvm-nm #$(NINJA_BUILD_TARGETS)
# Build Binaryen
.PHONY: binaryen