diff --git a/.ci b/.ci deleted file mode 160000 index 5764601..0000000 --- a/.ci +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 576460163031255c09948566dd2f2409d86ab8d4 diff --git a/.ci-local/base3-14.set b/.ci-local/base3-14.set deleted file mode 100644 index d77e8da..0000000 --- a/.ci-local/base3-14.set +++ /dev/null @@ -1,3 +0,0 @@ -BASE=3.14 - -include modules diff --git a/.ci-local/base3-15.set b/.ci-local/base3-15.set deleted file mode 100644 index 68ed2ef..0000000 --- a/.ci-local/base3-15.set +++ /dev/null @@ -1,3 +0,0 @@ -BASE=3.15 - -include modules diff --git a/.ci-local/base7-0.set b/.ci-local/base7-0.set deleted file mode 100644 index c20fcda..0000000 --- a/.ci-local/base7-0.set +++ /dev/null @@ -1,3 +0,0 @@ -BASE=7.0 - -include modules diff --git a/.ci-local/github-actions/post-prepare.py b/.ci-local/github-actions/post-prepare.py deleted file mode 100755 index 7dccc49..0000000 --- a/.ci-local/github-actions/post-prepare.py +++ /dev/null @@ -1,70 +0,0 @@ -#!/usr/bin/env python - -import os -import shutil -import re - -# Setup ANSI Colors (copied from cue.py) -ANSI_RED = "\033[31;1m" -ANSI_GREEN = "\033[32;1m" -ANSI_YELLOW = "\033[33;1m" -ANSI_BLUE = "\033[34;1m" -ANSI_MAGENTA = "\033[35;1m" -ANSI_CYAN = "\033[36;1m" -ANSI_RESET = "\033[0m" -ANSI_CLEAR = "\033[0K" - -def cat(filename): - ''' - Print the contents of a file - ''' - with open(filename, 'r') as fh: - for line in fh: - print(line.strip()) - -def sanity_check(filename): - ''' - Include the contents of a file in the github-actions log - ''' - print("{}Contents of {}{}".format(ANSI_BLUE, filename, ANSI_RESET)) - cat(filename) - print("{}End of {}{}".format(ANSI_BLUE, filename, ANSI_RESET)) - -if 'HOME' in os.environ: - # Linux & OS X - cache_dir = os.path.join(os.environ['HOME'], ".cache") -else: - # Windows - cache_dir = os.path.join(os.environ['HOMEDRIVE'], os.environ['HOMEPATH'], ".cache") - -module_dir = os.getenv('GITHUB_WORKSPACE') - -# Copy the github-actions RELEASE.local to the configure dir -filename = "configure/RELEASE.local" -shutil.copy("{}/RELEASE.local".format(cache_dir), filename) - -# Get the variable from the example release file -example = "configure/EXAMPLE_RELEASE.local" -fh = open(example, "r") -lines = fh.readlines() -fh.close() -pObj = re.compile('(MOTOR_[^=]+)') -module_var = None -for line in lines: - mObj = pObj.match(line) - if mObj != None: - module_var = mObj.group() - break - -# Add the path to the driver module to the RELEASE.local file, since it is needed by the example IOC -fh = open(filename, "a") -fh.write("{}={}\n".format(module_var, module_dir)) -fh.close() -sanity_check(filename) - -# Enable the building of example IOCs -filename = "configure/CONFIG_SITE.local" -fh = open(filename, 'w') -fh.write("BUILD_IOCS = YES") -fh.close() -sanity_check(filename) diff --git a/.ci-local/github-actions/sanity-check.py b/.ci-local/github-actions/sanity-check.py deleted file mode 100644 index 4e32f6d..0000000 --- a/.ci-local/github-actions/sanity-check.py +++ /dev/null @@ -1,9 +0,0 @@ -#!/usr/bin/env python - -import os -import pprint - -pprint.pprint(dict(os.environ), width = 1) - -#!print("{}", breakmehere) - diff --git a/.ci-local/modules.set b/.ci-local/modules.set deleted file mode 100644 index d62ebf7..0000000 --- a/.ci-local/modules.set +++ /dev/null @@ -1,9 +0,0 @@ -MODULES="sncseq ipac asyn autosave busy motor" - -SNCSEQ=R2-2-9 -IPAC=master -ASYN=R4-42 -AUTOSAVE=R5-10-2 -BUSY=R1-7-3 -MOTOR=master -MOTOR_RECURSIVE=NO diff --git a/.ci-local/travis/post-prepare.py b/.ci-local/travis/post-prepare.py deleted file mode 100755 index cbff548..0000000 --- a/.ci-local/travis/post-prepare.py +++ /dev/null @@ -1,43 +0,0 @@ -#!/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 * - -def cat(filename): - ''' - Print the contents of a file - ''' - with open(filename, 'r') as fh: - for line in fh: - print(line.strip()) - -def sanity_check(filename): - ''' - Include the contents of a file in the travis log - ''' - print("{}Contents of {}{}".format(ANSI_BLUE, filename, ANSI_RESET)) - cat(filename) - print("{}End of {}{}".format(ANSI_BLUE, filename, ANSI_RESET)) - -# Add the path to the driver module to the RELEASE.local file, since it is needed by the example IOC -update_release_local('MOTOR_DSM', os.getenv('TRAVIS_BUILD_DIR')) - -# Copy the travis RELEASE.local to the configure dir -filename = "configure/RELEASE.local" -shutil.copy("{}/RELEASE.local".format(cachedir), filename) -sanity_check(filename) - -# Enable the building of example IOCs -filename = "configure/CONFIG_SITE.local" -fh = open(filename, 'w') -fh.write("BUILD_IOCS = YES") -fh.close() -sanity_check(filename) - -# Remove cue.py -os.remove('.ci-local/travis/cue.py') -os.remove('.ci-local/travis/cue.pyc') diff --git a/.github/workflows/ci-scripts-build-full.yml b/.github/workflows/ci-scripts-build-full.yml deleted file mode 100644 index a0fae50..0000000 --- a/.github/workflows/ci-scripts-build-full.yml +++ /dev/null @@ -1,211 +0,0 @@ -# .github/workflows/ci-scripts-build.yml for use with EPICS Base ci-scripts -# (see: https://github.com/epics-base/ci-scripts) - -# This is YAML - indentation levels are crucial - -# Set the 'name:' properties to values that work for you (MYMODULE) - -name: "GHA full build" - -# Only run manually -on: - workflow_dispatch - -env: - SETUP_PATH: .ci-local:.ci - # For the sequencer on Linux/Windows/MacOS - APT: re2c - CHOCO: re2c - BREW: re2c - -jobs: - build-base: - name: ${{ matrix.name }} - runs-on: ${{ matrix.os }} - # Set environment variables from matrix parameters - env: - CMP: ${{ matrix.cmp }} - BCFG: ${{ matrix.configuration }} - BASE: ${{ matrix.base }} - WINE: ${{ matrix.wine }} - RTEMS: ${{ matrix.rtems }} - RTEMS_TARGET: ${{ matrix.rtems_target }} - EXTRA: ${{ matrix.extra }} - TEST: ${{ matrix.test }} - SET: ${{ matrix.set }} - strategy: - fail-fast: false - matrix: - # Job names also name artifacts, character limitations apply - include: - - os: ubuntu-20.04 - cmp: gcc - configuration: default - wine: "64" - base: "7.0" - set: modules - name: "Ub-20 gcc-9 + MinGW" - - - os: ubuntu-20.04 - cmp: gcc - configuration: static - wine: "64" - base: "7.0" - set: modules - name: "Ub-20 gcc-9 + MinGW, static" - - - os: ubuntu-20.04 - cmp: gcc - configuration: static - extra: "CMD_CXXFLAGS=-std=c++11" - base: "7.0" - set: modules - name: "Ub-20 gcc-9 C++11, static" - - - os: ubuntu-20.04 - cmp: clang - configuration: default - extra: "CMD_CXXFLAGS=-std=c++11" - base: "7.0" - set: modules - name: "Ub-20 clang-10 C++11" - - ### fails building autosave - #!- os: ubuntu-20.04 - #! cmp: gcc - #! configuration: default - #! rtems: "4.10" - #! base: "7.0" - #! set: modules - #! name: "Ub-20 gcc-9 + RT-4.10" - - - os: ubuntu-20.04 - cmp: gcc - configuration: default - rtems: "4.9" - base: "7.0" - set: modules - name: "Ub-20 gcc-9 + RT-4.9" - - ### fails building asyn - #!- os: ubuntu-20.04 - #! cmp: gcc - #! configuration: default - #! rtems: "5" - #! rtems_target: RTEMS-pc686-qemu - #! base: "7.0" - #! set: modules - #! name: "Ub-20 gcc-9 + RT-5.1 pc686" - - ### fails building autosave - #!- os: ubuntu-20.04 - #! cmp: gcc - #! configuration: default - #! rtems: "5" - #! rtems_target: RTEMS-beatnik - #! test: NO - #! base: "7.0" - #! set: modules - #! name: "Ub-20 gcc-9 + RT-5.1 beatnik" - - - os: ubuntu-18.04 - cmp: gcc - configuration: default - base: "7.0" - set: modules - name: "Ub-18 gcc-7" - - ### g++-8 not found - #!- os: ubuntu-18.04 - #! cmp: gcc-8 - #! utoolchain: true - #! configuration: default - #! base: "7.0" - #! set: modules - #! name: "Ub-18 gcc-8" - - #!- os: ubuntu-20.04 - #! cmp: gcc-8 - #! utoolchain: true - #! configuration: default - #! base: "7.0" - #! set: modules - #! name: "Ub-20 gcc-8" - - - os: ubuntu-20.04 - cmp: clang - configuration: default - base: "7.0" - set: modules - name: "Ub-20 clang-10" - - - os: macos-latest - cmp: clang - configuration: default - base: "7.0" - set: modules - name: "MacOS clang-12" - - - os: windows-2019 - cmp: gcc - configuration: default - base: "7.0" - set: modules - name: "Win2019 MinGW" - - - os: windows-2019 - cmp: gcc - configuration: static - base: "7.0" - set: modules - name: "Win2019 MinGW, static" - - - os: windows-2019 - cmp: vs2019 - configuration: default - base: "7.0" - set: modules - name: "Win2019 MSC-19" - - - os: windows-2019 - cmp: vs2019 - configuration: static - base: "7.0" - set: modules - name: "Win2019 MSC-19, static" - - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Automatic core dumper analysis - uses: mdavidsaver/ci-core-dumper@master - - name: "apt-get install" - run: | - sudo apt-get update - sudo apt-get -y install qemu-system-x86 g++-mingw-w64-x86-64 gdb - if: runner.os == 'Linux' - - name: "apt-get install ${{ matrix.cmp }}" - run: | - sudo apt-get -y install software-properties-common - sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test - sudo apt-get update - sudo apt-get -y install ${{ matrix.cmp }} - if: matrix.utoolchain - - name: Sanity Check - run: python .ci-local/github-actions/sanity-check.py - - name: Prepare and compile dependencies - run: python .ci/cue.py prepare - - name: Patch main module - run: python .ci-local/github-actions/post-prepare.py - - name: Build main module - run: python .ci/cue.py build - - name: Run main module tests - run: python .ci/cue.py test - - name: Upload tapfiles Artifact - uses: actions/upload-artifact@v2 - with: - name: tapfiles ${{ matrix.name }} - path: '**/O.*/*.tap' - - name: Collect and show test results - run: python .ci/cue.py test-results diff --git a/.github/workflows/ci-scripts-build.yml b/.github/workflows/ci-scripts-build.yml deleted file mode 100644 index 6107191..0000000 --- a/.github/workflows/ci-scripts-build.yml +++ /dev/null @@ -1,109 +0,0 @@ -# .github/workflows/ci-scripts-build.yml for use with EPICS Base ci-scripts -# (see: https://github.com/epics-base/ci-scripts) - -# This is YAML - indentation levels are crucial - -# Set the 'name:' properties to values that work for you (MYMODULE) - -name: "GHA build" - -# Trigger on pushes to the master branch and PRs -on: - push: - paths-ignore: - - 'documentation/*' - - '**/*.html' - - '**/*.md' - - '.github/workflows/ci-scripts-build-full.yml' - branches: - - master - pull_request: - paths-ignore: - - 'documentation/*' - - '**/*.html' - - '**/*.md' - - '.github/workflows/ci-scripts-build-full.yml' - -env: - SETUP_PATH: .ci-local:.ci - # For the sequencer on Linux/Windows/MacOS - APT: re2c - CHOCO: re2c - BREW: re2c - -jobs: - build-base: - name: ${{ matrix.name }} - runs-on: ${{ matrix.os }} - # Set environment variables from matrix parameters - env: - CMP: ${{ matrix.cmp }} - BCFG: ${{ matrix.configuration }} - BASE: ${{ matrix.base }} - WINE: ${{ matrix.wine }} - RTEMS: ${{ matrix.rtems }} - RTEMS_TARGET: ${{ matrix.rtems_target }} - EXTRA: ${{ matrix.extra }} - TEST: ${{ matrix.test }} - SET: ${{ matrix.set }} - strategy: - fail-fast: false - matrix: - # Job names also name artifacts, character limitations apply - include: - - os: ubuntu-20.04 - cmp: gcc - configuration: default - base: "7.0" - set: modules - name: "7.0 Ub-20 gcc-9" - - - os: macos-latest - cmp: clang - configuration: default - base: "3.15" - set: modules - name: "3.15 MacOS clang-12" - - - os: windows-2019 - cmp: vs2019 - configuration: static - base: "3.15" - set: modules - name: "3.15 Win VS2019, static" - - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Automatic core dumper analysis - uses: mdavidsaver/ci-core-dumper@master - - name: "apt-get install" - run: | - sudo apt-get update - sudo apt-get -y install qemu-system-x86 g++-mingw-w64-x86-64 gdb - if: runner.os == 'Linux' - - name: "apt-get install ${{ matrix.cmp }}" - run: | - sudo apt-get -y install software-properties-common - sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test - sudo apt-get update - sudo apt-get -y install ${{ matrix.cmp }} - if: matrix.utoolchain - - name: Sanity Check - run: python .ci-local/github-actions/sanity-check.py - - name: Prepare and compile dependencies - run: python .ci/cue.py prepare - - name: Patch main module - run: python .ci-local/github-actions/post-prepare.py - - name: Build main module - run: python .ci/cue.py build - - name: Run main module tests - run: python .ci/cue.py test - - name: Upload tapfiles Artifact - uses: actions/upload-artifact@v2 - with: - name: tapfiles ${{ matrix.name }} - path: '**/O.*/*.tap' - - name: Collect and show test results - run: python .ci/cue.py test-results diff --git a/.gitmodules b/.gitmodules deleted file mode 100644 index cfa3a70..0000000 --- a/.gitmodules +++ /dev/null @@ -1,3 +0,0 @@ -[submodule ".ci"] - path = .ci - url = https://github.com/epics-base/ci-scripts diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 034c812..0000000 --- a/.travis.yml +++ /dev/null @@ -1,143 +0,0 @@ -# .travis.xml for use with EPICS Base ci-scripts -# (see: https://github.com/epics-base/ci-scripts) - -language: cpp -compiler: gcc -dist: xenial - -cache: - directories: - - $HOME/.cache - -env: - global: - - SETUP_PATH=.ci-local:.ci - # for the sequencer on Windows - - CHOCO=re2c - -addons: - apt: - packages: - # for all EPICS builds - - libreadline6-dev - - libncurses5-dev - - perl - # for clang compiler - - clang - # for mingw builds (32bit and 64bit) - - g++-mingw-w64-i686 - - g++-mingw-w64-x86-64 - # for RTEMS cross builds - - qemu-system-x86 - homebrew: - packages: - # for the sequencer - - re2c - update: true - -install: - - python .ci/cue.py prepare - # ugly hacks go here: - - python .ci-local/travis/post-prepare.py - -script: - - 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. -# - ./.ci-local/travis/install-extras.sh - -# Define build jobs - -# Well-known variables to use -# SET source setup file -# EXTRA content will be added to make command line -# STATIC set to YES for static build (default: NO) -# 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 -# branch or release tag for a specific module -# ... see README for setup file syntax description - -jobs: - include: - -# Older Base releases - - - env: SET=base3-14 - - - 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: SET=base7-0 EXTRA="CMD_CXXFLAGS=-std=c++11" - compiler: clang - -# Trusty: compiler versions very close to RHEL 7 - - - 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: SET=base7-0 WINE=32 TEST=NO BCFG=static - - - 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: SET=base7-0 - os: osx - compiler: clang - -# Cross-compilation to RTEMS - - - env: SET=base7-0 RTEMS=4.9 - - - env: SET=base7-0 RTEMS=4.10