Compare commits

...

1 Commits

Author SHA1 Message Date
Ayke van Laethem 22b5b69cf0 WIP alpine build 2021-11-16 21:57:51 +01:00
3 changed files with 49 additions and 30 deletions
+46 -27
View File
@@ -228,44 +228,62 @@ commands:
- run: make wasmtest - run: make wasmtest
build-linux: build-linux:
steps: steps:
- checkout
- submodules
- run: - run:
name: "Install apt dependencies" name: "Install apk dependencies"
command: | command: |
sudo apt-get update apk add git openssh make g++ gcompat
sudo apt-get install --no-install-recommends \ - checkout
libgnutls30 libssl1.0.2 \ - run:
ninja-build \ name: "Install Go"
python3 command: |
- install-cmake wget https://dl.google.com/go/go1.17.3.linux-amd64.tar.gz
- hack-ninja-jobs 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: - restore_cache:
name: "Restore Go cache"
keys: keys:
- go-cache-v2-{{ checksum "go.mod" }}-{{ .Environment.CIRCLE_PREVIOUS_BUILD_NUM }} - go-cache-alpine-v2-{{ checksum "go.mod" }}-{{ .Environment.CIRCLE_PREVIOUS_BUILD_NUM }}
- go-cache-v2-{{ checksum "go.mod" }} - go-cache-alpine-v2-{{ checksum "go.mod" }}
- llvm-source-linux
- restore_cache: - restore_cache:
name: "Restore llvm-source cache"
keys: 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: - run:
name: "Build LLVM" name: "Build LLVM"
command: | command: |
if [ ! -f llvm-build/lib/liblldELF.a ] if [ ! -f llvm-build/lib/liblldELF.a ]
then then
# fetch LLVM source (may only have headers right now) # fetch LLVM source (may only have headers right now)
rm -rf llvm-project #rm -rf llvm-project
make llvm-source #make llvm-source
# install dependencies
apk add cmake samurai python3
# build! # build!
make llvm-build SAMUFLAGS=-j3 make llvm-build
find llvm-build -name CMakeFiles -prune -exec rm -r '{}' \; #find llvm-build -name CMakeFiles -prune -exec rm -r '{}' \;
fi fi
- save_cache: - save_cache:
key: llvm-build-11-linux-v4-noassert name: "Save llvm-build cache"
key: llvm-build-11-alpine-v1-noassert-x0
paths: paths:
llvm-build llvm-build
- build-binaryen-linux-stretch
- build-wasi-libc
- run: - run:
name: "Install fpm" name: "Install fpm"
command: | command: |
@@ -286,7 +304,8 @@ commands:
- store_artifacts: - store_artifacts:
path: /tmp/tinygo_amd64.deb path: /tmp/tinygo_amd64.deb
- save_cache: - 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: paths:
- ~/.cache/go-build - ~/.cache/go-build
- /go/pkg/mod - /go/pkg/mod
@@ -431,7 +450,7 @@ jobs:
- assert-test-linux - assert-test-linux
build-linux: build-linux:
docker: docker:
- image: circleci/golang:1.17-stretch - image: alpine:3.14
steps: steps:
- build-linux - build-linux
test-linux-build: test-linux-build:
@@ -450,11 +469,11 @@ jobs:
workflows: workflows:
test-all: test-all:
jobs: jobs:
- test-llvm11-go115 #- test-llvm11-go115
- test-llvm11-go116 #- test-llvm11-go116
- build-linux - build-linux
- test-linux-build: - test-linux-build:
requires: requires:
- build-linux - build-linux
- build-macos #- build-macos
- assert-test-linux #- assert-test-linux
+1 -1
View File
@@ -1,7 +1,7 @@
name: Windows name: Windows
on: on:
pull_request: #pull_request:
push: push:
branches: branches:
- dev - 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) 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. # Build LLVM.
$(LLVM_BUILDDIR): $(LLVM_BUILDDIR)/build.ninja $(LLVM_BUILDDIR): #$(LLVM_BUILDDIR)/build.ninja
cd $(LLVM_BUILDDIR) && ninja $(NINJA_BUILD_TARGETS) cd $(LLVM_BUILDDIR) && ninja llvm-nm #$(NINJA_BUILD_TARGETS)
# Build Binaryen # Build Binaryen
.PHONY: binaryen .PHONY: binaryen