Upgraded ci-scripts to v3.0.1

This commit is contained in:
Kevin Peterson
2020-06-15 14:54:44 -05:00
parent b33d89a508
commit 1a85f6ded5
8 changed files with 107 additions and 81 deletions

2
.ci

Submodule .ci updated: 55038b7315...12d769835e

3
.ci-local/base3-14.set Normal file
View File

@@ -0,0 +1,3 @@
BASE=3.14
include modules

3
.ci-local/base3-15.set Normal file
View File

@@ -0,0 +1,3 @@
BASE=3.15
include modules

3
.ci-local/base7-0.set Normal file
View File

@@ -0,0 +1,3 @@
BASE=7.0
include modules

9
.ci-local/modules.set Normal file
View File

@@ -0,0 +1,9 @@
MODULES="sncseq ipac asyn autosave busy motor"
SNCSEQ=R2-2-8
IPAC=master
ASYN=R4-38
AUTOSAVE=R5-9
BUSY=R1-7-1
MOTOR=master
MOTOR_RECURSIVE=NO

View File

@@ -0,0 +1,27 @@
#!/usr/bin/env python
import os
import shutil
# ugly hack: copy cue.py so that it can be imported
shutil.copy('.ci/cue.py', '.ci-local/travis')
from cue import *
# Add the path to the driver module to the RELEASE.local file, since it is needed by the example IOC
update_release_local('MOTOR_ACS', os.getenv('TRAVIS_BUILD_DIR'))
# Copy the travis RELEASE.local to the configure dir
shutil.copy("{}/RELEASE.local".format(cachedir), "configure/RELEASE.local")
# Sanity check
print("{}Contents of updated configure/RELEASE.local{}".format(ANSI_BLUE, ANSI_RESET))
os.system('cat configure/RELEASE.local')
print("{}End of updated configure/RELEASE.local{}".format(ANSI_BLUE, ANSI_RESET))
# Enable the building of example IOCs
print("{}Contents of updated configure/CONFIG_SITE.local{}".format(ANSI_BLUE, ANSI_RESET))
os.system('echo "BUILD_IOCS = YES" > configure/CONFIG_SITE.local')
os.system('cat configure/CONFIG_SITE.local')
print("{}End of updated configure/CONFIG_SITE.local{}".format(ANSI_BLUE, ANSI_RESET))
# Remove cue.py
os.system('rm -f .ci-local/travis/cue.py')

View File

@@ -1,31 +0,0 @@
#!/bin/bash
set -e
# Set VV in .travis.yml to make scripts verbose
[ "$VV" ] && set -x
CACHEDIR=${CACHEDIR:-${HOME}/.cache}
# source functions
. ./.ci/travis/utils.sh
# The module to be built isn't in the cache directory with the dependencies
pwd
# Add the path to the driver module to the RELEASE.local file, since it is needed by the example IOC
update_release_local MOTOR_ACS $TRAVIS_BUILD_DIR
# Copy the travis RELEASE.local to the configure dir
cp -f ${CACHEDIR}/RELEASE.local configure/RELEASE.local
# Sanity check
echo -e "${ANSI_BLUE}Contents of updated configure/RELEASE.local${ANSI_RESET}"
cat configure/RELEASE.local
echo -e "${ANSI_BLUE}End of updated configure/RELEASE.local${ANSI_RESET}"
# Enable the building of example IOCs
echo -e "${ANSI_BLUE}Creating configure/CONFIG_SITE.local${ANSI_RESET}"
echo -e "BUILD_IOCS = YES" > configure/CONFIG_SITE.local
cat configure/CONFIG_SITE.local
echo -e "${ANSI_BLUE}End of configure/CONFIG_SITE.local${ANSI_RESET}"

View File

@@ -11,15 +11,9 @@ cache:
env:
global:
- SETUP_PATH=.ci
- MODULES="sncseq ipac asyn autosave busy motor"
- SNCSEQ=R2-2-8
- IPAC=master
- ASYN=R4-38
- AUTOSAVE=R5-9
- BUSY=R1-7-1
- MOTOR=master
- MOTOR_RECURSIVE=NO
- SETUP_PATH=.ci-local:.ci
# for the sequencer on Windows
- CHOCO=re2c
addons:
apt:
@@ -37,19 +31,19 @@ addons:
- qemu-system-x86
homebrew:
packages:
# for all EPICS builds
- bash
# for the sequencer
- re2c
update: true
install:
- ./.ci/travis/prepare.sh
- python .ci/cue.py prepare
# ugly hacks go here:
- ./.ci-local/travis/post-prepare.sh
- python .ci-local/travis/post-prepare.py
script:
- ./.ci/travis/build.sh
- python .ci/cue.py build
- python .ci/cue.py test
- python .ci/cue.py test-results
# If you need to do more during install and build,
# add a local directory to your module and do e.g.
@@ -74,58 +68,76 @@ script:
jobs:
include:
# Default gcc and clang, static build
# Older Base releases
- env: BASE=7.0
- env: SET=base3-14
- env: BASE=7.0
- env: SET=base3-14 BCFG=static
- env: SET=base3-15
- env: SET=base3-15 BCFG=static
# Default gcc, static build
- env: SET=base7-0
- env: SET=base7-0 BCFG=static
# Default clang build
- env: SET=base7-0
compiler: clang
- env: BASE=7.0 STATIC=YES
- env: SET=base7-0 EXTRA="CMD_CXXFLAGS=-std=c++11"
compiler: clang
# Trusty: compiler versions very close to RHEL 7
- env: BASE=7.0
- env: SET=base7-0
dist: trusty
- env: SET=base7-0 BCFG=debug
dist: trusty
# Other gcc versions (added as an extra package)
- env: SET=base7-0
compiler: gcc-6
addons: { apt: { packages: ["g++-6"], sources: ["ubuntu-toolchain-r-test"] } }
- env: SET=base7-0
compiler: gcc-7
addons: { apt: { packages: ["g++-7"], sources: ["ubuntu-toolchain-r-test"] } }
# Cross-compilations to Windows using MinGW and WINE
- env: BASE=7.0 WINE=32 TEST=NO STATIC=YES
compiler: mingw
- env: SET=base7-0 WINE=32 TEST=NO BCFG=static
- env: BASE=7.0 WINE=64 TEST=NO STATIC=NO
compiler: mingw
- env: SET=base7-0 WINE=64 TEST=NO
# Windows builds
- env: SET=base7-0
os: windows
compiler: vs2017
- env: SET=base7-0 BCFG=static
os: windows
compiler: vs2017
- env: SET=base7-0 BCFG=debug
os: windows
compiler: vs2017
# MacOS build
- env: BASE=7.0
- env: SET=base7-0
os: osx
compiler: clang
# Cross-compilation to RTEMS
- env: BASE=7.0 RTEMS=4.10
- env: SET=base7-0 RTEMS=4.9
- env: BASE=7.0 RTEMS=4.9
# Older Base releases
- env: BASE=R3.15.7
- env: BASE=R3.15.7 STATIC=YES
# 3.14.12.2 build fails on newer distributions and doesn't know tapfiles target
- env: BASE=R3.14.12.8
- env: BASE=R3.14.12.8 STATIC=YES
# 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"] } }
- env: SET=base7-0 RTEMS=4.10