mirror of
https://github.com/danog/gllvm.git
synced 2024-11-26 17:34:45 +01:00
Merge pull request #61 from woodruffw-forks/ww/github-actions
github: add a CI workflow
This commit is contained in:
commit
09cd80c589
30
.github/workflows/ci.yml
vendored
Normal file
30
.github/workflows/ci.yml
vendored
Normal file
@ -0,0 +1,30 @@
|
||||
name: Go
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
pull_request:
|
||||
branches:
|
||||
- master
|
||||
|
||||
jobs:
|
||||
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Set up Go
|
||||
uses: actions/setup-go@v3
|
||||
with:
|
||||
go-version: 1.16
|
||||
|
||||
- name: Install LLVM
|
||||
run: sudo apt-get install -y clang llvm
|
||||
|
||||
- name: Build
|
||||
run: go build -v ./...
|
||||
|
||||
- name: Test
|
||||
run: go test -v ./tests
|
37
.travis.yml
37
.travis.yml
@ -1,37 +0,0 @@
|
||||
language: go
|
||||
|
||||
compiler:
|
||||
- clang
|
||||
|
||||
go:
|
||||
- 1.9.x
|
||||
|
||||
matrix:
|
||||
include:
|
||||
- os: linux
|
||||
dist: trusty
|
||||
sudo: required
|
||||
# brew install llvm no longer works... can I be bothered fixing it?
|
||||
# - os: osx
|
||||
# osx_image: xcode9.3
|
||||
|
||||
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- llvm-3.8
|
||||
- clang-3.8
|
||||
|
||||
before_install:
|
||||
- export GLLVM_SRC=`pwd`
|
||||
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update ; fi
|
||||
- ${GLLVM_SRC}/.travis/install_llvm.sh
|
||||
- export PATH="/usr/local/opt/llvm/bin:$PATH"
|
||||
# if we have to use our own bottle again.
|
||||
# - export PATH="/usr/local/opt/llvm_lite/bin:$PATH"
|
||||
|
||||
|
||||
script:
|
||||
- go get -t -v ./...
|
||||
- ./.travis/test.sh
|
||||
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then ./.travis/musllvm.sh ; fi
|
@ -1,47 +0,0 @@
|
||||
OS = $(shell uname)
|
||||
ARCH = $(shell uname -p)
|
||||
|
||||
LLVMCC=gclang
|
||||
LLVMGET=get-bc
|
||||
|
||||
TECLA=libtecla
|
||||
TECLA_TARBALL=${TECLA}.tar.gz
|
||||
|
||||
ifeq (Darwin, $(findstring Darwin, ${OS}))
|
||||
|
||||
LIBEXT=dylib
|
||||
|
||||
else
|
||||
|
||||
LIBEXT=so
|
||||
|
||||
endif
|
||||
|
||||
|
||||
TECLA_BITCODE=enhance.bc libtecla.a.bc libtecla.${LIBEXT}.bc
|
||||
|
||||
all: ${TECLA_BITCODE}
|
||||
|
||||
${TECLA}: ${TECLA_TARBALL}
|
||||
tar xvfz ${TECLA_TARBALL}
|
||||
|
||||
${TECLA}/enhance: ${TECLA}
|
||||
cd ${TECLA}; CC=${LLVMCC} make
|
||||
|
||||
enhance.bc: ${TECLA}/enhance
|
||||
cd ${TECLA}; ${LLVMGET} enhance; mv enhance.bc ../
|
||||
|
||||
|
||||
libtecla.a.bc: ${TECLA}/enhance
|
||||
cd ${TECLA}; ${LLVMGET} -b libtecla.a; mv libtecla.a.bc ../
|
||||
|
||||
libtecla.${LIBEXT}.bc: ${TECLA}/enhance
|
||||
cd ${TECLA}; ${LLVMGET} libtecla.${LIBEXT}; mv libtecla*${LIBEXT}*.bc ../libtecla.${LIBEXT}.bc
|
||||
|
||||
|
||||
|
||||
very_clean:
|
||||
rm -rf ${TECLA} ${TECLA_BITCODE}
|
||||
|
||||
spotless: very_clean
|
||||
rm -rf ${TECLA_TARBALL}
|
@ -1,9 +0,0 @@
|
||||
#!/bin/bash -x
|
||||
set -ev
|
||||
|
||||
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
|
||||
wget http://csl.sri.com/users/iam/llvm_lite-6.0.0.high_sierra.bottle.1.tar.gz
|
||||
brew install -v ./llvm_lite-6.0.0.high_sierra.bottle.1.tar.gz
|
||||
# this bombs out at the update of 'unbound' whatever that is ...
|
||||
#brew install -v llvm
|
||||
fi
|
Binary file not shown.
@ -1,38 +0,0 @@
|
||||
#!/bin/bash -x
|
||||
# Make sure we exit if there is a failure
|
||||
set -e
|
||||
|
||||
|
||||
export PATH=/usr/lib/llvm-3.5/bin:${PATH}
|
||||
export WLLVM_OUTPUT=WARNING
|
||||
|
||||
gsanity-check
|
||||
|
||||
#setup the store so we test that feature as well
|
||||
export WLLVM_BC_STORE=/tmp/bc
|
||||
mkdir -p /tmp/bc
|
||||
|
||||
git clone https://github.com/SRI-CSL/musllvm.git musllvm
|
||||
cd musllvm
|
||||
WLLVM_CONFIGURE_ONLY=1 CC=gclang ./configure --target=LLVM --build=LLVM
|
||||
make
|
||||
get-bc -b ./lib/libc.a
|
||||
|
||||
if [ -s "./lib/libc.a.bc" ]
|
||||
then
|
||||
echo "libc.a.bc exists (built from build artifacts)."
|
||||
else
|
||||
exit 1
|
||||
fi
|
||||
|
||||
#now lets makes sure the store has the bitcode too.
|
||||
mv ./lib/libc.a .
|
||||
make clean
|
||||
get-bc -b ./libc.a
|
||||
|
||||
if [ -s "./libc.a.bc" ]
|
||||
then
|
||||
echo "libc.a.bc exists (built from store)."
|
||||
else
|
||||
exit 1
|
||||
fi
|
@ -1,14 +0,0 @@
|
||||
#!/bin/bash -x
|
||||
# Make sure we exit if there is a failure
|
||||
set -e
|
||||
|
||||
cd .travis
|
||||
|
||||
echo `pwd`
|
||||
|
||||
export PATH=/usr/lib/llvm-3.8/bin:${PATH}
|
||||
export WLLVM_OUTPUT_LEVEL=WARNING
|
||||
|
||||
make
|
||||
|
||||
exit $?
|
Loading…
Reference in New Issue
Block a user