mirror of
https://github.com/Binary-Coalescence/motorDSM.git
synced 2025-08-04 21:55:40 -05:00
109 lines
3.0 KiB
YAML
109 lines
3.0 KiB
YAML
# .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 }}
|
|
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
|