Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
58 changes: 28 additions & 30 deletions .appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,17 +33,7 @@ skip_commits:
- 'templates/*'
- '**/*.html'
- '**/*.md'
- '.travis.yml'

#---------------------------------#
# additional packages #
#---------------------------------#

install:
# fetch submodules (like ci-scripts)
- cmd: git submodule update --init --recursive
# for the sequencer
- cinst re2c
- ".github/*"

#---------------------------------#
# build matrix configuration #
Expand Down Expand Up @@ -89,33 +79,23 @@ configuration:
environment:
# common / default variables for all jobs
SETUP_PATH: .ci-local:.ci
BASE: "7.0"

matrix:
- CMP: gcc
- CMP: vs2019
BASE: "7.0"
SET: "deps2"
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
- CMP: gcc
BASE: "7.0"
SET: "deps2"
- CMP: vs2019
BASE: "3.15"
SET: "deps2"
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
- CMP: vs2019
BASE: "3.14"
SET: "deps1"
SET: "synapps-6.0"
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
#- CMP: vs2017
# BASE: "7.0"
# SET: "deps2"
# APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
- CMP: vs2017
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
- CMP: vs2015
BASE: "7.0"
SET: "deps2"
#- CMP: vs2013
# BASE: "7.0"
# SET: "deps2"
- CMP: vs2013

# Platform: processor architecture
platform:
Expand All @@ -125,28 +105,46 @@ platform:
# Matrix configuration: exclude sets of jobs
matrix:
exclude:
# VS2012 and older installs don't have the 64 bit compiler
- platform: x64
CMP: vs2012
- platform: x64
CMP: vs2010
# Exclude more jobs to reduce build time
# E.g., skip 32-bit for newer compilers
- platform: x86
CMP: vs2019
#- platform: x86
# CMP: vs2015
# MinGW debug builds use the same libraries, unlike VS
- configuration: dynamic-debug
CMP: gcc
- configuration: static-debug
CMP: gcc

#---------------------------------#
# building & testing #
#---------------------------------#

build_script:
install:
- cmd: git submodule update --init --recursive
# for the sequencer
- choco install re2c
- cmd: pip install git+https://github.com/mdavidsaver/ci-core-dumper#egg=ci-core-dumper
- cmd: python .ci/cue.py prepare

build_script:
- cmd: python .ci/cue.py build

test_script:
- cmd: python -m ci_core_dumper install
- cmd: python .ci/cue.py -T 20M test

on_finish:
- ps: Get-ChildItem *.tap -Recurse -Force | % { Push-AppveyorArtifact $_.FullName -FileName $_.Name }
- cmd: python .ci/cue.py -T 5M test-results

on_failure:
- cmd: python -m ci_core_dumper report

#---------------------------------#
# debugging #
#---------------------------------#
Expand Down
8 changes: 0 additions & 8 deletions .ci-local/deps-latest.set

This file was deleted.

8 changes: 0 additions & 8 deletions .ci-local/deps1.set

This file was deleted.

8 changes: 0 additions & 8 deletions .ci-local/deps2.set

This file was deleted.

3 changes: 0 additions & 3 deletions .ci-local/no-deps.set

This file was deleted.

20 changes: 20 additions & 0 deletions .ci-local/sscan-2.10.1-fix.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
diff --git a/sscanApp/src/Makefile b/sscanApp/src/Makefile
index 7853dcb..012e246 100644
--- a/sscanApp/src/Makefile
+++ b/sscanApp/src/Makefile
@@ -44,15 +44,7 @@ ifdef SNCSEQ
endif

# save scan data stuff
-# XDR not available on WIN32
-ifeq ($(OS_CLASS), WIN32)
sscan_SRCS += saveData_writeXDR.c, writeXDR.c
-else
-sscan_SRCS += xdr_lib.c
-sscan_SRCS += saveData.c
-sscan_SRCS_vxWorks += xdr_stdio.c
-sscan_SYS_LIBS_cygwin32 += $(CYGWIN_RPC_LIB)
-endif

# for scanProgress
ifdef SNCSEQ
8 changes: 8 additions & 0 deletions .ci-local/synapps-5.8.set
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
SNCSEQ=R2-2-1
SSCAN=R2-10-1
CALC=R3-4-2-1
IPAC=2.12

BASE=3.14

SSCAN_HOOK=.ci-local/sscan-2.10.1-fix.patch
6 changes: 6 additions & 0 deletions .ci-local/synapps-6.0.set
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
SNCSEQ=R2-2-5
SSCAN=R2-11-1
CALC=R3-7-1
IPAC=2.15

BASE=3.15
6 changes: 6 additions & 0 deletions .ci-local/synapps-6.3.set
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
SNCSEQ=R2-2-9
SSCAN=R2-11-5
CALC=R3-7-4
IPAC=2.16

BASE=7.0
164 changes: 164 additions & 0 deletions .github/workflows/ci-scripts-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,164 @@
name: Build and Test

# Trigger on pushes and PRs to any branch
on:
push:
paths-ignore:
- 'documentation/*'
- '.gitattributes'
- '**/*.html'
- '**/*.md'
- '**/*.txt'
pull_request:
paths-ignore:
- 'documentation/*'
- '.gitattributes'
- '**/*.html'
- '**/*.md'
- '**/*.txt'
workflow_dispatch:

env:
SETUP_PATH: .ci-local:.ci
BASE_RECURSIVE: NO
MODULES: "sncseq sscan calc ipac"
APT: re2c libtirpc-dev libreadline-dev
CHOCO: re2c
BREW: re2c

jobs:
test:
name: ${{ matrix.name }}
runs-on: ${{ matrix.os }}
env:
CMP: ${{ matrix.cmp }}
BCFG: ${{ matrix.configuration }}
BASE: ${{ matrix.base }}
SET: ${{ matrix.deps }}
CI_CROSS_TARGETS: ${{ matrix.cross }}
TEST: ${{ matrix.test }}

strategy:
fail-fast: false
matrix:
# Job names also name artifacts, character limitations apply
include:
- name: Linux Base7.0
os: ubuntu-latest
cmp: gcc
configuration: default
base: "7.0"

- name: Linux Base7.0 static
os: ubuntu-latest
cmp: gcc
configuration: static
base: "7.0"

- name: Linux Base3.15
os: ubuntu-latest
cmp: gcc
configuration: default
base: "3.15"

- name: Linux Base3.15 static
os: ubuntu-latest
cmp: gcc
configuration: static
base: "3.15"

- name: Linux Base7.0 synapps-6.3
os: ubuntu-latest
cmp: gcc
configuration: default
deps: "synapps-6.3"

- name: Linux Base3.15 synapps-6.0
os: ubuntu-latest
cmp: gcc
configuration: default
deps: "synapps-6.0"

- name: Linux Base3.14 synapps-6.0
os: ubuntu-latest
cmp: gcc
configuration: default
base: "3.14"
deps: "synapps-6.0"

- name: Linux Base3.14 synapps-5.8
os: ubuntu-latest
cmp: gcc
configuration: default
deps: "synapps-5.8"

- name: Linux Base3.15 no-deps
os: ubuntu-latest
cmp: gcc
configuration: default
base: "3.15"

- name: MacOS Base7.0
os: macos-latest
cmp: clang
configuration: default

- name: Win2019 Base7.0 DLL
os: windows-2019
cmp: vs2019
configuration: default
base: "7.0"

- name: Win2019 Base7.0 static
os: windows-2019
cmp: vs2019
configuration: static
base: "7.0"

- name: RTEMS-4.9 Base7.0
os: ubuntu-latest
cmp: gcc
configuration: default
base: "7.0"
cross: "RTEMS-pc386-qemu@4.9"

- name: RTEMS-4.10 Base7.0
os: ubuntu-latest
cmp: gcc
configuration: default
base: "7.0"
cross: "RTEMS-pc386-qemu@4.10"
test: NO

- name: RTEMS-5 Base7.0
os: ubuntu-latest
cmp: gcc
configuration: default
base: "7.0"
cross: "RTEMS-pc686-qemu@5"

steps:
- uses: actions/checkout@v4
with:
submodules: true

- name: Prepare and compile EPICS dependencies
run: python .ci/cue.py prepare

- name: Build main module
run: python .ci/cue.py build

- name: Run main module tests
run: python .ci/cue.py -T 20M test

- name: Upload tapfiles Artifact
if: ${{ always() }}
uses: actions/upload-artifact@v4
with:
name: tapfiles ${{ matrix.name }}
path: '**/O.*/*.tap'
if-no-files-found: ignore

- name: Collect and show test results
if: ${{ always() }}
run: python .ci/cue.py -T 5M test-results
Loading