From 1a85f6ded5fb9adab8e71304b1f985df759608db Mon Sep 17 00:00:00 2001 From: Kevin Peterson Date: Mon, 15 Jun 2020 14:54:44 -0500 Subject: [PATCH] Upgraded ci-scripts to v3.0.1 --- .ci | 2 +- .ci-local/base3-14.set | 3 + .ci-local/base3-15.set | 3 + .ci-local/base7-0.set | 3 + .ci-local/modules.set | 9 +++ .ci-local/travis/post-prepare.py | 27 ++++++++ .ci-local/travis/post-prepare.sh | 31 --------- .travis.yml | 110 +++++++++++++++++-------------- 8 files changed, 107 insertions(+), 81 deletions(-) create mode 100644 .ci-local/base3-14.set create mode 100644 .ci-local/base3-15.set create mode 100644 .ci-local/base7-0.set create mode 100644 .ci-local/modules.set create mode 100755 .ci-local/travis/post-prepare.py delete mode 100755 .ci-local/travis/post-prepare.sh diff --git a/.ci b/.ci index 55038b7..12d7698 160000 --- a/.ci +++ b/.ci @@ -1 +1 @@ -Subproject commit 55038b731516f22584b7e1cede4ef0a05b8b647e +Subproject commit 12d769835e1ee88e94b5b0b4bc0cf7068e678064 diff --git a/.ci-local/base3-14.set b/.ci-local/base3-14.set new file mode 100644 index 0000000..d77e8da --- /dev/null +++ b/.ci-local/base3-14.set @@ -0,0 +1,3 @@ +BASE=3.14 + +include modules diff --git a/.ci-local/base3-15.set b/.ci-local/base3-15.set new file mode 100644 index 0000000..68ed2ef --- /dev/null +++ b/.ci-local/base3-15.set @@ -0,0 +1,3 @@ +BASE=3.15 + +include modules diff --git a/.ci-local/base7-0.set b/.ci-local/base7-0.set new file mode 100644 index 0000000..c20fcda --- /dev/null +++ b/.ci-local/base7-0.set @@ -0,0 +1,3 @@ +BASE=7.0 + +include modules diff --git a/.ci-local/modules.set b/.ci-local/modules.set new file mode 100644 index 0000000..60db10d --- /dev/null +++ b/.ci-local/modules.set @@ -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 diff --git a/.ci-local/travis/post-prepare.py b/.ci-local/travis/post-prepare.py new file mode 100755 index 0000000..0993e5a --- /dev/null +++ b/.ci-local/travis/post-prepare.py @@ -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') diff --git a/.ci-local/travis/post-prepare.sh b/.ci-local/travis/post-prepare.sh deleted file mode 100755 index c883b03..0000000 --- a/.ci-local/travis/post-prepare.sh +++ /dev/null @@ -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}" diff --git a/.travis.yml b/.travis.yml index 5860d5f..034c812 100644 --- a/.travis.yml +++ b/.travis.yml @@ -11,16 +11,10 @@ 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: packages: @@ -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