add GHA config
This commit is contained in:
1
.ci
Submodule
1
.ci
Submodule
Submodule .ci added at 93062ba941
12
.ci-local/defaults.set
Normal file
12
.ci-local/defaults.set
Normal file
@ -0,0 +1,12 @@
|
||||
MODULES=calc asyn
|
||||
|
||||
# EPICS Base
|
||||
BASE_DIRNAME=base
|
||||
BASE_REPONAME=epics-base
|
||||
BASE_REPOOWNER=epics-base
|
||||
BASE_VARNAME=EPICS_BASE
|
||||
BASE_RECURSIVE=no
|
||||
|
||||
ASYN_REPOOWNER=epics-modules
|
||||
|
||||
CALC_REPOOWNER=epics-modules
|
164
.github/workflows/ci-scripts-build.yml
vendored
Normal file
164
.github/workflows/ci-scripts-build.yml
vendored
Normal file
@ -0,0 +1,164 @@
|
||||
# .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
|
||||
|
||||
# Workflow name, shared by all branches
|
||||
|
||||
name: StreamDevice
|
||||
|
||||
# Trigger on pushes and PRs to any branch
|
||||
on:
|
||||
push:
|
||||
paths-ignore:
|
||||
- 'docs/*'
|
||||
- '.gitattributes'
|
||||
- '.gitignore'
|
||||
- '**/*.html'
|
||||
- '**/*.md'
|
||||
pull_request:
|
||||
paths-ignore:
|
||||
- 'docs/*'
|
||||
- '.gitattributes'
|
||||
- '.gitignore'
|
||||
- '**/*.html'
|
||||
- '**/*.md'
|
||||
|
||||
env:
|
||||
SETUP_PATH: .ci-local:.ci
|
||||
EPICS_TEST_IMPRECISE_TIMING: YES
|
||||
|
||||
jobs:
|
||||
native:
|
||||
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 }}
|
||||
TEST: ${{ matrix.test }}
|
||||
EXTRA: ${{ matrix.extra }}
|
||||
VV: "1"
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- name: Native Linux (WError)
|
||||
os: ubuntu-20.04
|
||||
cmp: gcc
|
||||
configuration: default
|
||||
base: "7.0"
|
||||
extra: "CMD_CPPFLAGS=-Werror"
|
||||
pcre: apt
|
||||
|
||||
- name: Cross mingw64 DLL
|
||||
os: ubuntu-20.04
|
||||
cmp: gcc
|
||||
configuration: default
|
||||
base: "7.0"
|
||||
wine: "64"
|
||||
pcre: no
|
||||
|
||||
- name: Cross mingw64 static
|
||||
os: ubuntu-20.04
|
||||
cmp: gcc
|
||||
configuration: static
|
||||
base: "7.0"
|
||||
wine: "64"
|
||||
pcre: no
|
||||
|
||||
- name: RTEMS 4.10
|
||||
os: ubuntu-20.04
|
||||
cmp: gcc
|
||||
configuration: default
|
||||
base: "7.0"
|
||||
rtems: "4.10"
|
||||
rtems_target: RTEMS-pc386-qemu
|
||||
pcre: no
|
||||
|
||||
- name: Native Linux with clang
|
||||
os: ubuntu-20.04
|
||||
cmp: clang
|
||||
configuration: default
|
||||
base: "7.0"
|
||||
pcre: apt
|
||||
|
||||
- name: Native Linux with 3.15
|
||||
os: ubuntu-20.04
|
||||
cmp: gcc
|
||||
configuration: default
|
||||
base: "3.15"
|
||||
pcre: apt
|
||||
|
||||
- name: Native Linux with 3.14
|
||||
os: ubuntu-20.04
|
||||
cmp: gcc
|
||||
configuration: default
|
||||
base: "3.14"
|
||||
pcre: apt
|
||||
|
||||
- name: OSX
|
||||
os: macos-latest
|
||||
cmp: clang
|
||||
configuration: default
|
||||
base: "7.0"
|
||||
pcre: no
|
||||
|
||||
- name: vs2019 DLL
|
||||
os: windows-2019
|
||||
cmp: vs2019
|
||||
configuration: debug
|
||||
base: "7.0"
|
||||
pcre: no
|
||||
extra: "CMD_CFLAGS=-analysis CMD_CXXFLAGS=-analysis"
|
||||
|
||||
- name: vs2019 static
|
||||
os: windows-2019
|
||||
cmp: vs2019
|
||||
configuration: static-debug
|
||||
base: "7.0"
|
||||
pcre: no
|
||||
extra: "CMD_CFLAGS=-analysis CMD_CXXFLAGS=-analysis"
|
||||
|
||||
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: Reset RELEASE
|
||||
shell: bash
|
||||
# 'make' on Mac doesn't understand "undefine PCRE"
|
||||
# so replace the whole file
|
||||
run: |
|
||||
cat <<EOF > configure/RELEASE
|
||||
-include \$(TOP)/../RELEASE.local
|
||||
-include \$(TOP)/../RELEASE.\$(EPICS_HOST_ARCH).local
|
||||
-include \$(TOP)/configure/RELEASE.local
|
||||
EOF
|
||||
|
||||
- name: Prepare and compile dependencies
|
||||
run: python .ci/cue.py prepare
|
||||
|
||||
- name: "apt-get install pcre"
|
||||
if: matrix.pcre == 'apt'
|
||||
shell: bash
|
||||
run: |
|
||||
sudo apt-get -y install libpcre3-dev
|
||||
cat <<EOF >> configure/CONFIG_SITE.local
|
||||
PCRE_INCLUDE=/usr/include
|
||||
PCRE_LIB=/usr/lib
|
||||
EOF
|
||||
|
||||
- name: Build main module
|
||||
run: python .ci/cue.py build
|
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.git
|
Reference in New Issue
Block a user