mirror of
https://github.com/danog/gllvm.git
synced 2024-11-26 19:34:49 +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