Merge pull request #61 from woodruffw-forks/ww/github-actions

github: add a CI workflow
This commit is contained in:
Ian A Mason 2022-03-14 12:53:58 -07:00 committed by GitHub
commit 09cd80c589
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 30 additions and 145 deletions

30
.github/workflows/ci.yml vendored Normal file
View 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

View File

@ -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

View File

@ -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}

View File

@ -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.

View File

@ -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

View File

@ -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 $?