Change record field defaults #202
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# .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: EK9000 | |
# Trigger on pushes and PRs to any branch | |
on: | |
push: | |
paths-ignore: | |
- 'documentation/*' | |
- '**/*.html' | |
- '**/*.md' | |
pull_request: | |
env: | |
SETUP_PATH: .ci-local:.ci | |
# For the sequencer on Linux/Windows/MacOS | |
APT: re2c | |
CHOCO: re2c | |
BREW: re2c | |
MODULES: "asyn modbus" | |
ASYN: master | |
MODBUS: master | |
# FIXME: Motor module build fails in mingw/windows. Only needed for motor support though | |
#MOTOR: master | |
jobs: | |
format: | |
name: clang-format formatting check | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: clang-format check | |
uses: jidicula/[email protected] | |
with: | |
clang-format-version: '14' | |
check-path: 'ek9000App' | |
exclude-regex: 'terminals.h' | |
scripts-check: | |
name: Scripts Check | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: '3.10' | |
cache: 'pip' | |
- name: Install Packages | |
run: python3 -m pip install -r ek9000App/src/scripts/requirements.txt | |
- name: Check terminals.json and templates | |
run: python3 ek9000App/src/scripts/ci_check.py | |
build-base: | |
name: ${{ matrix.name }} | |
runs-on: ${{ matrix.os }} | |
# Set environment variables from matrix parameters | |
env: | |
CMP: ${{ matrix.cmp }} | |
BCFG: ${{ matrix.configuration }} | |
WINE: ${{ matrix.wine }} | |
RTEMS: ${{ matrix.rtems }} | |
RTEMS_TARGET: ${{ matrix.rtems_target }} | |
EXTRA: ${{ matrix.extra }} | |
TEST: ${{ matrix.test }} | |
strategy: | |
fail-fast: false | |
matrix: | |
# Job names also name artifacts, character limitations apply | |
include: | |
- os: ubuntu-20.04 | |
cmp: gcc | |
configuration: default | |
wine: "64" | |
name: "Ub-20 gcc-9 + MinGW" | |
- os: ubuntu-20.04 | |
cmp: gcc | |
configuration: static | |
extra: "CMD_CXXFLAGS=-std=c++14" | |
name: "clang-tidy checks" | |
clang-tidy: true | |
- os: ubuntu-20.04 | |
cmp: gcc | |
configuration: static | |
extra: "CMD_CXXFLAGS=-std=c++14" | |
name: "Ub-20 gcc-9 C++14, static" | |
- os: ubuntu-20.04 | |
cmp: gcc | |
configuration: static | |
extra: "CMD_CXXFLAGS=-std=c++03" | |
name: "Ub-20 gcc-9 C++03, static" | |
- os: ubuntu-20.04 | |
cmp: clang | |
configuration: default | |
extra: "CMD_CXXFLAGS=-std=c++14" | |
name: "Ub-20 clang-10 C++14" | |
- os: ubuntu-20.04 | |
cmp: gcc | |
configuration: default | |
rtems: "5" | |
rtems_target: RTEMS-beatnik | |
test: NO | |
name: "Ub-20 gcc-9 + RT-5.1 beatnik" | |
- os: ubuntu-20.04 | |
cmp: clang | |
configuration: default | |
extra: "CMD_CXXFLAGS=-std=c++03" | |
name: "Ub-20 clang-10 C++03" | |
- os: macos-latest | |
cmp: clang | |
configuration: default | |
name: "MacOS clang-12" | |
- os: windows-2019 | |
cmp: gcc | |
configuration: default | |
name: "Win2019 MinGW" | |
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 bear clang-tidy | |
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: Prepare and compile dependencies | |
run: python .ci/cue.py prepare | |
- name: Build main module | |
run: python .ci/cue.py build | |
- name: Run clang-tidy | |
run: | | |
make clean | |
bear make -j$(nproc) | |
python3 clang-tidy.py | |
if: matrix.clang-tidy | |
- 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 |