mirror of
https://github.com/nasa/trick.git
synced 2025-06-01 15:10:59 +00:00
#959 add build matrix to test workflow
This commit is contained in:
parent
d46ca57b73
commit
c857e2f48c
249
.github/workflows/test.yml
vendored
249
.github/workflows/test.yml
vendored
@ -3,90 +3,125 @@ name: Trick CI
|
|||||||
on: [push]
|
on: [push]
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
ubuntu-1604:
|
build:
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
cfg:
|
||||||
|
#-------- Operating Systems ----------------
|
||||||
|
- {os: ubuntu, tag: 16.04, arch: debian}
|
||||||
|
- {os: ubuntu, tag: 18.04, arch: debian}
|
||||||
|
- {os: ubuntu, tag: 19.04, arch: debian}
|
||||||
|
- {os: centos, tag: 7, arch: rhel}
|
||||||
|
- {os: centos, tag: 8, arch: rhel}
|
||||||
|
- {os: fedora, tag: 30, arch: rhel}
|
||||||
|
- {os: fedora, tag: 31, arch: rhel}
|
||||||
|
#-------- Defaults --------------------------
|
||||||
|
include:
|
||||||
|
- cfg: {}
|
||||||
|
deps: >-
|
||||||
|
bison
|
||||||
|
clang
|
||||||
|
flex
|
||||||
|
git
|
||||||
|
llvm
|
||||||
|
make
|
||||||
|
maven
|
||||||
|
swig
|
||||||
|
install_gtest: echo gtest already installed
|
||||||
|
conf_pkg: echo package manager already configured
|
||||||
|
install_cmd: install -y
|
||||||
|
#-------- Ubuntu Dependencies ----------------
|
||||||
|
- cfg: {arch: debian}
|
||||||
|
pkg_mgr: apt-get
|
||||||
|
conf_pkg: apt-get update
|
||||||
|
arch_deps: >-
|
||||||
|
curl
|
||||||
|
g++
|
||||||
|
libx11-dev
|
||||||
|
libxml2-dev
|
||||||
|
libxt-dev
|
||||||
|
libmotif-common
|
||||||
|
libmotif-dev
|
||||||
|
openjdk-8-jdk
|
||||||
|
python2.7-dev
|
||||||
|
zlib1g-dev
|
||||||
|
llvm-dev
|
||||||
|
libclang-dev
|
||||||
|
libudunits2-dev
|
||||||
|
libgtest-dev
|
||||||
|
cmake
|
||||||
|
install_gtest: cd /usr/src/gtest && cmake . && make && cp libgtest* /usr/lib/
|
||||||
|
#-------- RHEL Dependencies ----------------
|
||||||
|
- cfg: {arch: rhel}
|
||||||
|
arch_deps: >-
|
||||||
|
clang-devel
|
||||||
|
gcc
|
||||||
|
gcc-c++
|
||||||
|
java-1.8.0-openjdk-devel
|
||||||
|
libxml2-devel
|
||||||
|
llvm-devel
|
||||||
|
llvm-static
|
||||||
|
ncurses-devel
|
||||||
|
openmotif
|
||||||
|
openmotif-devel
|
||||||
|
perl
|
||||||
|
perl-Digest-MD5
|
||||||
|
udunits2
|
||||||
|
udunits2-devel
|
||||||
|
which
|
||||||
|
zlib-devel
|
||||||
|
gtest-devel
|
||||||
|
#-------- CentOS Only Dependencies ----------------
|
||||||
|
- cfg: {os: centos}
|
||||||
|
pkg_mgr: yum
|
||||||
|
conf_pkg: yum -y install epel-release && yum -y update
|
||||||
|
os_deps: >-
|
||||||
|
libX11-devel
|
||||||
|
libXt-devel
|
||||||
|
#-------- Fedora Only Dependencies ----------------
|
||||||
|
- cfg: {os: fedora}
|
||||||
|
pkg_mgr: dnf
|
||||||
|
os_deps: >-
|
||||||
|
perl-Text-Balanced
|
||||||
|
python-devel
|
||||||
|
#-------- Version Specific Dependencies ----------------
|
||||||
|
- cfg: {os: centos, tag: 7}
|
||||||
|
tag_deps: >-
|
||||||
|
python-devel
|
||||||
|
- cfg: {os: centos, tag: 8}
|
||||||
|
tag_deps: >-
|
||||||
|
python3-devel
|
||||||
|
- cfg: {os: fedora, tag: 31}
|
||||||
|
tag_deps: >-
|
||||||
|
diffutils
|
||||||
|
- cfg: {os: centos, tag: 8}
|
||||||
|
conf_pkg: >
|
||||||
|
yum -y install epel-release &&
|
||||||
|
yum -y update &&
|
||||||
|
yum install -y 'dnf-command(config-manager)' &&
|
||||||
|
yum config-manager --enable PowerTools
|
||||||
|
#-------- Job definition ----------------
|
||||||
runs-on: ubuntu-18.04
|
runs-on: ubuntu-18.04
|
||||||
container: docker://ubuntu:16.04
|
container: docker://${{matrix.cfg.os}}:${{matrix.cfg.tag}}
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repository
|
- name: Update Package Manager
|
||||||
uses: actions/checkout@master
|
run: ${{matrix.conf_pkg}}
|
||||||
|
- name: Install Dependencies
|
||||||
- name: update apt
|
run: |
|
||||||
run: apt-get update
|
${{matrix.pkg_mgr}} ${{matrix.install_cmd}} ${{matrix.deps}} ${{matrix.arch_deps}} ${{matrix.os_deps}} ${{matrix.tag_deps}}
|
||||||
|
- name: Install GTest
|
||||||
- name: Install dependencies
|
run: ${{matrix.install_gtest}}
|
||||||
run: >
|
- name: Checkout repository
|
||||||
apt-get install -y git bison curl flex g++ libx11-dev libxml2-dev libxt-dev
|
uses: actions/checkout@master
|
||||||
libmotif-common libmotif-dev make openjdk-8-jdk python2.7-dev swig
|
- name: Build trick
|
||||||
zlib1g-dev llvm llvm-dev clang libclang-dev libudunits2-dev
|
run: |
|
||||||
libgtest-dev cmake maven
|
export MAKEFLAGS=-j4
|
||||||
|
./configure
|
||||||
- name: Build gtest
|
make
|
||||||
run: cd /usr/src/gtest && cmake . && make && cp libgtest* /usr/lib/
|
- name: Test
|
||||||
|
run: make test
|
||||||
|
|
||||||
- name: Build Trick
|
|
||||||
run: |
|
|
||||||
export MAKEFLAGS=-j4
|
|
||||||
./configure
|
|
||||||
make
|
|
||||||
- name: Run tests
|
|
||||||
run: make test
|
|
||||||
|
|
||||||
ubuntu-1804:
|
|
||||||
runs-on: ubuntu-18.04
|
|
||||||
container: docker://ubuntu:18.04
|
|
||||||
steps:
|
|
||||||
- name: Checkout repository
|
|
||||||
uses: actions/checkout@master
|
|
||||||
|
|
||||||
- name: update apt
|
|
||||||
run: apt-get update
|
|
||||||
|
|
||||||
- name: Install dependencies
|
|
||||||
run: >
|
|
||||||
apt-get install -y git bison curl flex g++ libx11-dev libxml2-dev libxt-dev
|
|
||||||
libmotif-common libmotif-dev make openjdk-8-jdk python2.7-dev swig
|
|
||||||
zlib1g-dev llvm llvm-dev clang libclang-dev libudunits2-dev
|
|
||||||
libgtest-dev cmake maven
|
|
||||||
|
|
||||||
- name: Build gtest
|
|
||||||
run: cd /usr/src/gtest && cmake . && make && cp libgtest* /usr/lib/
|
|
||||||
|
|
||||||
- name: Build Trick
|
|
||||||
run: |
|
|
||||||
export MAKEFLAGS=-j4
|
|
||||||
./configure
|
|
||||||
make
|
|
||||||
- name: Run tests
|
|
||||||
run: make test
|
|
||||||
|
|
||||||
ubuntu-1904:
|
|
||||||
runs-on: ubuntu-18.04
|
|
||||||
container: docker://ubuntu:19.04
|
|
||||||
steps:
|
|
||||||
- name: Checkout repository
|
|
||||||
uses: actions/checkout@master
|
|
||||||
|
|
||||||
- name: update apt
|
|
||||||
run: apt-get update
|
|
||||||
|
|
||||||
- name: Install dependencies
|
|
||||||
run: >
|
|
||||||
apt-get install -y git bison curl flex g++ libx11-dev libxml2-dev libxt-dev
|
|
||||||
libmotif-common libmotif-dev make openjdk-8-jdk python2.7-dev swig
|
|
||||||
zlib1g-dev llvm llvm-dev clang libclang-dev libudunits2-dev
|
|
||||||
libgtest-dev cmake maven
|
|
||||||
|
|
||||||
- name: Build gtest
|
|
||||||
run: cd /usr/src/gtest && cmake . && make && cp libgtest* /usr/lib/
|
|
||||||
|
|
||||||
- name: Build Trick
|
|
||||||
run: |
|
|
||||||
export MAKEFLAGS=-j4
|
|
||||||
./configure
|
|
||||||
make
|
|
||||||
- name: Run tests
|
|
||||||
run: make test
|
|
||||||
|
|
||||||
macOS:
|
macOS:
|
||||||
runs-on: macos-latest
|
runs-on: macos-latest
|
||||||
steps:
|
steps:
|
||||||
@ -101,7 +136,6 @@ jobs:
|
|||||||
cmake .
|
cmake .
|
||||||
make
|
make
|
||||||
make install
|
make install
|
||||||
|
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: |
|
run: |
|
||||||
# sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.15.pkg -target /
|
# sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.15.pkg -target /
|
||||||
@ -118,57 +152,6 @@ jobs:
|
|||||||
export MAKEFLAGS=-j4
|
export MAKEFLAGS=-j4
|
||||||
make test
|
make test
|
||||||
|
|
||||||
centos-7:
|
|
||||||
runs-on: ubuntu-18.04
|
|
||||||
container: docker://centos:7
|
|
||||||
steps:
|
|
||||||
- name: Checkout repository
|
|
||||||
uses: actions/checkout@master
|
|
||||||
|
|
||||||
- name: Install the epel repository and update yum
|
|
||||||
run: yum -y install epel-release && yum -y update
|
|
||||||
|
|
||||||
- name: Install dependencies
|
|
||||||
run: >
|
|
||||||
yum install -y git bison flex gcc gcc-c++ make which clang clang-devel
|
|
||||||
llvm llvm-devel llvm-static libxml2-devel libX11-devel libXt-devel
|
|
||||||
ncurses-devel openmotif openmotif-devel perl perl-Digest-MD5
|
|
||||||
python-devel swig zlib-devel udunits2 udunits2-devel
|
|
||||||
java-1.8.0-openjdk-devel gtest-devel maven
|
|
||||||
- name: Build Trick
|
|
||||||
run: |
|
|
||||||
export MAKEFLAGS=-j4
|
|
||||||
./configure
|
|
||||||
make
|
|
||||||
|
|
||||||
- name: Run tests
|
|
||||||
run: make test
|
|
||||||
|
|
||||||
fedora-30:
|
|
||||||
runs-on: ubuntu-18.04
|
|
||||||
container: docker://fedora:30
|
|
||||||
steps:
|
|
||||||
- name: Checkout repository
|
|
||||||
uses: actions/checkout@master
|
|
||||||
|
|
||||||
- name: Install dependencies
|
|
||||||
run: >
|
|
||||||
dnf install -y git bison flex gcc gcc-c++ libxml2-devel make openmotif
|
|
||||||
openmotif-devel python-devel perl swig zlib-devel llvm llvm-devel llvm-static
|
|
||||||
clang clang-devel perl-Text-Balanced perl-Digest-MD5 udunits2 udunits2-devel
|
|
||||||
java-1.8.0-openjdk-devel ncurses-devel maven which
|
|
||||||
|
|
||||||
- name: Install gtest
|
|
||||||
run: dnf install -y gtest-devel
|
|
||||||
|
|
||||||
- name: Build Trick
|
|
||||||
run: |
|
|
||||||
export MAKEFLAGS=-j4
|
|
||||||
./configure
|
|
||||||
make
|
|
||||||
|
|
||||||
- name: Run tests
|
|
||||||
run: make test
|
|
||||||
trick_32bit:
|
trick_32bit:
|
||||||
runs-on: ubuntu-18.04
|
runs-on: ubuntu-18.04
|
||||||
container: docker://centos:7
|
container: docker://centos:7
|
||||||
|
Loading…
x
Reference in New Issue
Block a user