travis use ci-scripts
This commit is contained in:
1
.ci
Submodule
1
.ci
Submodule
Submodule .ci added at 7de5a7edc3
14
.ci-local/defaults.set
Normal file
14
.ci-local/defaults.set
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
# EPICS Base
|
||||||
|
BASE_DIRNAME=base
|
||||||
|
BASE_REPONAME=epics-base
|
||||||
|
BASE_REPOOWNER=epics-base
|
||||||
|
BASE_VARNAME=EPICS_BASE
|
||||||
|
BASE_RECURSIVE=NO
|
||||||
|
|
||||||
|
MODULES=PVDATA PVACCESS
|
||||||
|
|
||||||
|
PVDATA_REPONAME=pvDataCPP
|
||||||
|
PVDATA_REPOOWNER=epics-base
|
||||||
|
|
||||||
|
PVACCESS_REPONAME=pvAccessCPP
|
||||||
|
PVACCESS_REPOOWNER=epics-base
|
@ -1,10 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
set -e -x
|
|
||||||
|
|
||||||
make -j2 $EXTRA
|
|
||||||
|
|
||||||
if [ "$TEST" != "NO" ]
|
|
||||||
then
|
|
||||||
make tapfiles
|
|
||||||
make -s test-results
|
|
||||||
fi
|
|
@ -1,112 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
set -e -x
|
|
||||||
|
|
||||||
CURDIR="$PWD"
|
|
||||||
|
|
||||||
cat << EOF > $CURDIR/configure/RELEASE.local
|
|
||||||
EPICS_BASE=$HOME/.source/epics-base
|
|
||||||
EOF
|
|
||||||
|
|
||||||
install -d "$HOME/.source"
|
|
||||||
cd "$HOME/.source"
|
|
||||||
|
|
||||||
add_gh_flat() {
|
|
||||||
MODULE=$1
|
|
||||||
REPOOWNER=$2
|
|
||||||
REPONAME=$3
|
|
||||||
BRANCH=$4
|
|
||||||
MODULE_UC=$(echo $MODULE | tr 'a-z' 'A-Z')
|
|
||||||
( git clone --quiet --depth 5 --branch $BRANCH https://github.com/$REPOOWNER/$REPONAME.git $MODULE && \
|
|
||||||
cd $MODULE && git log -n1 )
|
|
||||||
cat < $CURDIR/configure/RELEASE.local > $MODULE/configure/RELEASE.local
|
|
||||||
cat << EOF >> $CURDIR/configure/RELEASE.local
|
|
||||||
${MODULE_UC}=$HOME/.source/$MODULE
|
|
||||||
EOF
|
|
||||||
}
|
|
||||||
|
|
||||||
# not recursive
|
|
||||||
git clone --quiet --depth 5 --branch "$BRBASE" https://github.com/${REPOBASE:-epics-base}/epics-base.git epics-base
|
|
||||||
(cd epics-base && git log -n1 )
|
|
||||||
add_gh_flat pvData ${REPOPVD:-epics-base} pvDataCPP ${BRPVD:-master}
|
|
||||||
add_gh_flat pvAccess ${REPOPVA:-epics-base} pvAccessCPP ${BRPVA:-master}
|
|
||||||
|
|
||||||
if [ -e $CURDIR/configure/RELEASE.local ]
|
|
||||||
then
|
|
||||||
cat $CURDIR/configure/RELEASE.local
|
|
||||||
fi
|
|
||||||
|
|
||||||
EPICS_HOST_ARCH=`sh epics-base/startup/EpicsHostArch`
|
|
||||||
|
|
||||||
# requires wine and g++-mingw-w64-i686
|
|
||||||
if [ "$WINE" = "32" ]
|
|
||||||
then
|
|
||||||
echo "Cross mingw32"
|
|
||||||
sed -i -e '/CMPLR_PREFIX/d' epics-base/configure/os/CONFIG_SITE.linux-x86.win32-x86-mingw
|
|
||||||
cat << EOF >> epics-base/configure/os/CONFIG_SITE.linux-x86.win32-x86-mingw
|
|
||||||
CMPLR_PREFIX=i686-w64-mingw32-
|
|
||||||
EOF
|
|
||||||
cat << EOF >> epics-base/configure/CONFIG_SITE
|
|
||||||
CROSS_COMPILER_TARGET_ARCHS+=win32-x86-mingw
|
|
||||||
EOF
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$STATIC" = "YES" ]
|
|
||||||
then
|
|
||||||
echo "Build static libraries/executables"
|
|
||||||
cat << EOF >> epics-base/configure/CONFIG_SITE
|
|
||||||
SHARED_LIBRARIES=NO
|
|
||||||
STATIC_BUILD=YES
|
|
||||||
EOF
|
|
||||||
fi
|
|
||||||
|
|
||||||
case "$CMPLR" in
|
|
||||||
clang)
|
|
||||||
echo "Host compiler is clang"
|
|
||||||
cat << EOF >> epics-base/configure/os/CONFIG_SITE.Common.$EPICS_HOST_ARCH
|
|
||||||
GNU = NO
|
|
||||||
CMPLR_CLASS = clang
|
|
||||||
CC = clang
|
|
||||||
CCC = clang++
|
|
||||||
EOF
|
|
||||||
|
|
||||||
# hack
|
|
||||||
sed -i -e 's/CMPLR_CLASS = gcc/CMPLR_CLASS = clang/' epics-base/configure/CONFIG.gnuCommon
|
|
||||||
|
|
||||||
clang --version
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
echo "Host compiler is default"
|
|
||||||
gcc --version
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
cat <<EOF >> epics-base/configure/CONFIG_SITE
|
|
||||||
USR_CPPFLAGS += $USR_CPPFLAGS
|
|
||||||
USR_CFLAGS += $USR_CFLAGS
|
|
||||||
USR_CXXFLAGS += $USR_CXXFLAGS
|
|
||||||
EOF
|
|
||||||
|
|
||||||
# set RTEMS to eg. "4.9" or "4.10"
|
|
||||||
# requires qemu, bison, flex, texinfo, install-info
|
|
||||||
if [ -n "$RTEMS" ]
|
|
||||||
then
|
|
||||||
echo "Cross RTEMS${RTEMS} for pc386"
|
|
||||||
curl -L "https://github.com/mdavidsaver/rsb/releases/download/20171203-${RTEMS}/i386-rtems${RTEMS}-trusty-20171203-${RTEMS}.tar.bz2" \
|
|
||||||
| tar -C / -xmj
|
|
||||||
|
|
||||||
sed -i -e '/^RTEMS_VERSION/d' -e '/^RTEMS_BASE/d' epics-base/configure/os/CONFIG_SITE.Common.RTEMS
|
|
||||||
cat << EOF >> epics-base/configure/os/CONFIG_SITE.Common.RTEMS
|
|
||||||
RTEMS_VERSION=$RTEMS
|
|
||||||
RTEMS_BASE=$HOME/.rtems
|
|
||||||
EOF
|
|
||||||
cat << EOF >> epics-base/configure/CONFIG_SITE
|
|
||||||
CROSS_COMPILER_TARGET_ARCHS += RTEMS-pc386-qemu
|
|
||||||
EOF
|
|
||||||
fi
|
|
||||||
|
|
||||||
make -j2 -C epics-base $EXTRA
|
|
||||||
make -j2 -C pvData $EXTRA
|
|
||||||
make -j2 -C pvAccess $EXTRA
|
|
||||||
|
|
||||||
find epics-base/include
|
|
||||||
find epics-base/lib
|
|
3
.gitmodules
vendored
Normal file
3
.gitmodules
vendored
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
[submodule ".ci"]
|
||||||
|
path = .ci
|
||||||
|
url = https://github.com/epics-base/ci-scripts
|
116
.travis.yml
116
.travis.yml
@ -1,30 +1,108 @@
|
|||||||
sudo: false
|
# .travis.yml for use with EPICS Base ci-scripts
|
||||||
dist: trusty
|
# (see: https://github.com/epics-base/ci-scripts)
|
||||||
language: c++
|
|
||||||
compiler:
|
# This is YAML - indentation levels are crucial
|
||||||
- gcc
|
|
||||||
|
language: cpp
|
||||||
|
compiler: gcc
|
||||||
|
dist: bionic
|
||||||
|
|
||||||
|
cache:
|
||||||
|
directories:
|
||||||
|
- $HOME/.cache
|
||||||
|
|
||||||
|
env:
|
||||||
|
global:
|
||||||
|
- SETUP_PATH=.ci-local:.ci
|
||||||
|
|
||||||
addons:
|
addons:
|
||||||
apt:
|
apt:
|
||||||
packages:
|
packages:
|
||||||
|
# for all EPICS builds
|
||||||
- libreadline6-dev
|
- libreadline6-dev
|
||||||
- libncurses5-dev
|
- libncurses5-dev
|
||||||
- perl
|
- perl
|
||||||
|
# for clang compiler
|
||||||
- clang
|
- clang
|
||||||
|
# for mingw builds (32bit and 64bit)
|
||||||
- g++-mingw-w64-i686
|
- g++-mingw-w64-i686
|
||||||
|
- g++-mingw-w64-x86-64
|
||||||
|
# for RTEMS cross builds
|
||||||
- qemu-system-x86
|
- qemu-system-x86
|
||||||
|
|
||||||
install:
|
install:
|
||||||
- ./.ci/travis-prepare.sh
|
- ./.ci/travis/prepare.sh
|
||||||
|
|
||||||
script:
|
script:
|
||||||
- ./.ci/travis-build.sh
|
- ./.ci/travis/build.sh
|
||||||
env:
|
|
||||||
- BRBASE=7.0
|
# If you need to do more during install and build,
|
||||||
- BRBASE=7.0 CMPLR=clang
|
# add a local directory to your module and do e.g.
|
||||||
- BRBASE=7.0 EXTRA="CMD_CXXFLAGS=-std=c++98"
|
# - ./.ci-local/travis/install-extras.sh
|
||||||
- BRBASE=7.0 EXTRA="CMD_CXXFLAGS=-std=c++11"
|
|
||||||
- BRBASE=7.0 CMPLR=clang EXTRA="CMD_CXXFLAGS=-std=c++11"
|
# Define build jobs
|
||||||
- BRBASE=7.0 WINE=32 TEST=NO STATIC=YES
|
|
||||||
- BRBASE=7.0 WINE=32 TEST=NO STATIC=NO
|
# Well-known variables to use
|
||||||
- BRBASE=7.0 RTEMS=4.10 TEST=NO
|
# SET source setup file
|
||||||
- BRBASE=7.0 RTEMS=4.9 TEST=NO
|
# EXTRA content will be added to make command line
|
||||||
- BRBASE=3.16
|
# STATIC set to YES for static build (default: NO)
|
||||||
- BRBASE=3.15
|
# TEST set to NO to skip running the tests (default: YES)
|
||||||
|
# VV set to make build scripts verbose (default: unset)
|
||||||
|
|
||||||
|
# Usually from setup files, but may be specified or overridden
|
||||||
|
# on a job line
|
||||||
|
# MODULES list of dependency modules
|
||||||
|
# BASE branch or release tag name of the EPICS Base to use
|
||||||
|
# <MODULE> branch or release tag for a specific module
|
||||||
|
# ... see README for setup file syntax description
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
include:
|
||||||
|
|
||||||
|
# Different configurations of default gcc and clang
|
||||||
|
|
||||||
|
- env: BASE=7.0
|
||||||
|
|
||||||
|
- env: BASE=7.0
|
||||||
|
compiler: clang
|
||||||
|
|
||||||
|
- env: BASE=7.0 EXTRA="CMD_CXXFLAGS=-std=c++11"
|
||||||
|
|
||||||
|
- env: BASE=7.0 EXTRA="CMD_CXXFLAGS=-std=c++11"
|
||||||
|
compiler: clang
|
||||||
|
|
||||||
|
# Trusty: compiler versions very close to RHEL 7
|
||||||
|
|
||||||
|
- env: BASE=7.0
|
||||||
|
dist: trusty
|
||||||
|
|
||||||
|
- env: BASE=7.0 EXTRA="CMD_CXXFLAGS=-std=c++11"
|
||||||
|
dist: trusty
|
||||||
|
|
||||||
|
- env: BASE=3.15 EXTRA="CMD_CXXFLAGS=-std=c++11"
|
||||||
|
dist: trusty
|
||||||
|
|
||||||
|
# Cross-compilations to Windows using MinGW and WINE
|
||||||
|
|
||||||
|
- env: BASE=7.0 WINE=32 TEST=NO STATIC=YES
|
||||||
|
compiler: mingw
|
||||||
|
|
||||||
|
- env: BASE=7.0 WINE=64 TEST=NO STATIC=NO
|
||||||
|
compiler: mingw
|
||||||
|
|
||||||
|
# Other gcc versions (added as an extra package)
|
||||||
|
|
||||||
|
- env: BASE=7.0
|
||||||
|
compiler: gcc-6
|
||||||
|
addons: { apt: { packages: ["g++-6"], sources: ["ubuntu-toolchain-r-test"] } }
|
||||||
|
|
||||||
|
- env: BASE=7.0
|
||||||
|
compiler: gcc-7
|
||||||
|
addons: { apt: { packages: ["g++-7"], sources: ["ubuntu-toolchain-r-test"] } }
|
||||||
|
|
||||||
|
# MacOS build
|
||||||
|
|
||||||
|
- env: BASE=7.0
|
||||||
|
os: osx
|
||||||
|
compiler: clang
|
||||||
|
addons: { homebrew: { packages: ["re2c"], update: true } }
|
||||||
|
Reference in New Issue
Block a user