Deploy artifacts for releases (#126)

Deploy artifacts for releases
This commit is contained in:
mihacooper 2019-08-01 17:24:35 +03:00 committed by GitHub
parent bcb5b92996
commit f57e671448
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 68 additions and 128 deletions

View File

@ -1,32 +1,56 @@
language: cpp
dist: trusty
osx_image: xcode10
sudo: required
env:
matrix:
- LUA="lua 5.1"
- LUA="lua 5.2"
- LUA="lua 5.3"
- LUA="luajit 2.0"
osx_image: xcode10
dist: Xenial
os:
- linux
- osx
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
compiler:
- g++-5
- clang++
matrix:
exclude:
- os: linux
compiler: clang++
- os: osx
compiler: g++-5
env:
global:
- STESS=1
matrix:
- LUA="lua 5.1" BUILD_TYPE=debug
- LUA="lua 5.1" BUILD_TYPE=release
- LUA="lua 5.2" BUILD_TYPE=debug
- LUA="lua 5.2" BUILD_TYPE=release
- LUA="lua 5.3" BUILD_TYPE=debug
- LUA="lua 5.3" BUILD_TYPE=release
- LUA="luajit 2.0" BUILD_TYPE=debug
- LUA="luajit 2.0" BUILD_TYPE=release
before_install:
- if [[ $TRAVIS_OS_NAME == "linux" ]]; then export CXX=g++-5; sudo pip install hererocks; fi
- if [[ $TRAVIS_OS_NAME == "osx" ]]; then export CXX=clang++; brew update; brew upgrade python; sudo pip3 install hererocks; fi
- sudo pip install hererocks
- hererocks lua-pkg --$LUA -rlatest
- source lua-pkg/bin/activate
script:
- ci/test_all.sh -DLUA_INCLUDE_DIR="$PWD/lua-pkg/include"
- export CXX=${TRAVIS_COMPILER}
- cmake -H. -B$BUILD_TYPE -G"Unix Makefiles" -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DLUA_INCLUDE_DIR="$PWD/lua-pkg/include"
- cmake --build $BUILD_TYPE --config $BUILD_TYPE
- cd $BUILD_TYPE && lua ../tests/lua/run_tests
- tar cvfz effil-${TRAVIS_TAG}-$(echo "$LUA" | tr -d ' ')-$(${TRAVIS_COMPILER} -dumpmachine).tar.gz effil.so
deploy:
provider: releases
file_glob: true
file: effil-*.tar.gz
skip_cleanup: true
overwrite: true
api_key:
secure: nyHMamSB64vby+GX7hhF8+mY/GG4hce4Zcib3Ag9dZSE7+gtxkj5lzojcHUzc1EKEiLfli2YrYAsQSIp18g/tScFeol9xRDYga+OyBAvYS3dXXBhXQlHcqyA+oWOFE1qtoSbrFC5JwPG+E6iVRI9/Pna7wbTCoI2OfxYACj5xC9reFJcyqbJzKdEApYG553sZhLCqaQyonKOrH2/ICcFrj9Ws3KA2zxg/tPmt4cw2N1bZAFyTViP70bfNyJqyXvlDb9pGX/66YNl7EqGV64S7i+ULkX8MK7KyXbL5/9kxefgRZHehNWabpZxIZC0gFEIoCaBXTL5u3JJt0ZcujV6epTeHsJHqT9gEa5bfK+4SPz3jvC4FtxrK94u64uD0a9dgxcdhKh123iTOB7eJAwmZ94zKYC++zD+t2XQErib8ha/TyL1trgKv3R6lqMLw0fE5xn/jqtV8ZCJkFuxydmi2Kr+If95LwAr/D48FVyWPu5x2LBpzrZqj8cO4VJOzAebVjEOLx4w2lzIq3i+79KET7iXmimqs4KmPsimL8+QrDBiSDIFoRLa7f+9TfLNwy68khXjkwpsEDvO/A4tLTaVI1Qe5Sn1kdtKAh5hm7gMW0RJy3F6BUq9WDwk2xLaxB/FOV7OkcZehuHi59e9W+PE2Se3XZ6QroE05B/cbiUlQA0=
on:
tags: true
condition: $BUILD_TYPE = release

View File

@ -1,17 +1,17 @@
image: Visual Studio 2015
configuration:
- Debug
- Release
- debug
- release
environment:
global:
STRESS: 1
matrix:
- LUA: "lua 5.1"
- LUA: "lua 5.2"
- LUA: "lua 5.3"
- LUA: "luajit 2.0"
- { LUA: "lua 5.1", LUA_NAME: "lua5.1" }
- { LUA: "lua 5.2", LUA_NAME: "lua5.2" }
- { LUA: "lua 5.3", LUA_NAME: "lua5.3" }
- { LUA: "luajit 2.0", LUA_NAME: "luajit2.0" }
# - LUA: "luajit 2.1" # currently failing
before_build:
@ -25,6 +25,21 @@ build_script:
- cd build
- cmake .. -G "Visual Studio 14 2015 Win64"
- cmake --build . --config %CONFIGURATION%
- 7z a effil-%APPVEYOR_REPO_TAG_NAME%-%LUA_NAME%-win64.zip effil.dll
test_script:
- lua ../tests/lua/run_tests
artifacts:
- path: build/*.zip
deploy:
provider: GitHub
description: '$(APPVEYOR_REPO_TAG_NAME)'
auth_token:
secure: MmJswKplsV+hzQb/WtStw825jGE74AwQsBlqMRW7/2stpVPVwahjOcLuIv9WXkbL
artifact: /.*\.zip/
force_update: true
on:
appveyor_repo_tag: true
configuration: release

View File

@ -1,86 +0,0 @@
#!/usr/bin/env bash
set -e
ROOT_DIR=$(cd $(dirname $0); pwd;)
LUA=$1
TARGET_DIR=$2
echo "Installing '$LUA' to '$TARGET_DIR'"
if [ -z "${PLATFORM:-}" ]; then
PLATFORM=$TRAVIS_OS_NAME;
fi
if [ "$PLATFORM" == "osx" ]; then
PLATFORM="macosx";
fi
if [ -z "$PLATFORM" ]; then
if [ "$(uname)" == "Linux" ]; then
PLATFORM="linux";
else
PLATFORM="macosx";
fi;
fi
if ! [ -d $TARGET_DIR ]; then
mkdir $TARGET_DIR
fi
cd $TARGET_DIR
modify_file() {
file_name=$1; shift
while [[ $# -gt 1 ]]; do
src=$1; dst=$2
cat $file_name | sed -e "s/$src/$dst/" > .tmpFile
mv .tmpFile $file_name
shift 2
done
}
if [ "$LUA" == "luajit" ]; then
LUAJIT_VERSION="2.0.4"
LUAJIT_BASE="LuaJIT-$LUAJIT_VERSION"
curl --location https://github.com/LuaJIT/LuaJIT/archive/v$LUAJIT_VERSION.tar.gz | tar xz;
cd $LUAJIT_BASE
make && make install PREFIX="$LUA_HOME_DIR"
ln -s $LUA_HOME_DIR/bin/luajit $HOME/.lua/luajit
ln -s $LUA_HOME_DIR/bin/luajit $HOME/.lua/lua;
else
if [ "$LUA" == "lua5.1" ]; then
curl http://www.lua.org/ftp/lua-5.1.5.tar.gz | tar xz
cd lua-5.1.5;
elif [ "$LUA" == "lua5.2" ]; then
curl http://www.lua.org/ftp/lua-5.2.4.tar.gz | tar xz
cd lua-5.2.4;
elif [ "$LUA" == "lua5.3" ]; then
curl http://www.lua.org/ftp/lua-5.3.3.tar.gz | tar xz
cd lua-5.3.3;
fi
if [ "$PLATFORM" == "linux" ]; then
SONAME_FLAG="-soname"
LIB_POSTFIX="so"
else
SONAME_FLAG="-install_name"
LIB_POSTFIX="dylib"
fi
# Modify root Makefile
modify_file Makefile "^\(TO_LIB=.*\)$" "\1 liblua.$LIB_POSTFIX"
#Modify child Makefile
modify_file src/Makefile \
"^\(LUAC_O=.*\)" '\1\'$'\nLUA_SO= liblua.'"$LIB_POSTFIX" \
"^\(ALL_T=.*\)" '\1 $(LUA_SO)' \
"^\(CFLAGS=.*\)" '\1 -fPIC'
echo '$(LUA_SO): $(CORE_O) $(LIB_O)' >> src/Makefile
echo -e "\t\$(CC) -shared -ldl -Wl,$SONAME_FLAG,\$(LUA_SO) -o \$@ \$? -lm \$(MYLDFLAGS)" >> src/Makefile
make $PLATFORM
make INSTALL_TOP="$TARGET_DIR" install
fi

View File

@ -1,13 +0,0 @@
#!/usr/bin/env bash
set -e
if [ -z "$LUA_BIN" ]; then
LUA_BIN="lua"
fi
for build_type in debug release; do
cmake -H. -B$build_type -G"Unix Makefiles" -DCMAKE_BUILD_TYPE=$build_type $@
cmake --build $build_type --config Release
(cd $build_type && STRESS=1 $LUA_BIN ../tests/lua/run_tests)
done