2021-05-03 19:39:20 +00:00
|
|
|
name: TrickOps
|
|
|
|
# This workflow is triggered on pushes to the repository.
|
2021-05-27 03:07:56 +00:00
|
|
|
on:
|
|
|
|
push:
|
|
|
|
paths-ignore:
|
|
|
|
- 'docs/**'
|
|
|
|
- '.github/workflows/**'
|
|
|
|
- '!.github/workflows/trickops.yml'
|
|
|
|
pull_request:
|
2021-05-03 19:39:20 +00:00
|
|
|
|
|
|
|
defaults:
|
|
|
|
run:
|
|
|
|
shell: bash
|
|
|
|
|
|
|
|
jobs:
|
|
|
|
trickops-tests-ubuntu:
|
|
|
|
name: Unit Tests Ubuntu:20.04
|
|
|
|
runs-on: ubuntu-20.04
|
|
|
|
container: ubuntu:20.04
|
|
|
|
steps:
|
|
|
|
- uses: actions/checkout@master
|
|
|
|
- name: install dependencies
|
|
|
|
# Note that perl is for trick-gte which TrickOps runs and qt and everything after it is for koviz
|
|
|
|
run: |
|
|
|
|
export DEBIAN_FRONTEND=noninteractive && apt-get update && apt-get install -y git python3 python3-venv perl perl-modules-5.30 qtbase5-dev wget unzip g++ make flex bison
|
|
|
|
- name: create virtual environment
|
|
|
|
run: |
|
|
|
|
cd share/trick/trickops/
|
|
|
|
python3 -m venv .venv && source .venv/bin/activate && pip3 install -r requirements.txt
|
|
|
|
- name: get and build koviz
|
|
|
|
run: |
|
|
|
|
cd /tmp/ && wget -q https://github.com/nasa/koviz/archive/refs/heads/master.zip && unzip master.zip
|
|
|
|
cd /tmp/koviz-master/ && qmake && make
|
|
|
|
- name: run unit and doc tests
|
|
|
|
run: |
|
|
|
|
cd share/trick/trickops/tests/
|
|
|
|
source ../.venv/bin/activate
|
|
|
|
export PATH="/tmp/koviz-master/bin:${PATH}"
|
|
|
|
./run_tests.py
|
|
|
|
- uses: actions/upload-artifact@master
|
|
|
|
if: ${{ always() }}
|
|
|
|
with:
|
|
|
|
name: doctests
|
|
|
|
path: |
|
|
|
|
share/trick/trickops/tests/*_doctest_log.txt
|
|
|
|
/tmp/log.*
|
|
|
|
|
|
|
|
trickops-tests-centos8:
|
|
|
|
name: Unit Tests CentOS:latest
|
|
|
|
runs-on: ubuntu-20.04
|
|
|
|
container: centos:latest
|
|
|
|
steps:
|
|
|
|
- uses: actions/checkout@master
|
|
|
|
- name: install dependencies
|
|
|
|
# Note that perl is for trick-gte which TrickOps runs and qt and everything after it is for koviz
|
|
|
|
run: |
|
2022-02-02 00:32:59 +00:00
|
|
|
sed -i -e "s|mirrorlist=|#mirrorlist=|g" -e "s|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g" /etc/yum.repos.d/CentOS-Linux-*
|
2021-05-03 19:39:20 +00:00
|
|
|
dnf install -y git python3-devel which perl perl-Digest-MD5 qt5-qtbase-devel bison clang flex make gcc gcc-c++ wget
|
|
|
|
- name: create virtual environment
|
|
|
|
run: |
|
|
|
|
cd share/trick/trickops/
|
|
|
|
python3 -m venv .venv && source .venv/bin/activate && pip3 install -r requirements.txt
|
|
|
|
- name: get and build koviz
|
|
|
|
run: |
|
|
|
|
cd /tmp/ && wget -q https://github.com/nasa/koviz/archive/refs/heads/master.zip && unzip master.zip
|
|
|
|
cd /tmp/koviz-master/ && qmake-qt5 && make
|
|
|
|
- name: run unit and doc tests
|
|
|
|
run: |
|
|
|
|
cd share/trick/trickops/tests/
|
|
|
|
source ../.venv/bin/activate
|
|
|
|
export PATH="/tmp/koviz-master/bin:${PATH}"
|
|
|
|
./run_tests.py
|
|
|
|
- uses: actions/upload-artifact@master
|
|
|
|
if: ${{ always() }}
|
|
|
|
with:
|
|
|
|
name: doctests
|
|
|
|
path: |
|
|
|
|
share/trick/trickops/tests/*_doctest_log.txt
|
|
|
|
/tmp/log.*
|
|
|
|
|
|
|
|
# TODO: ExampleWorkflow.py is not included here because it needs a built Trick
|
|
|
|
# to function correctly and I don't want to duplicate the Trick build testing
|
|
|
|
# here to provide testing of what is essentially an example provided for
|
|
|
|
# documentation purposes. If we could leverage artifacts from a previous
|
|
|
|
# stage and/or stable containers where Trick is already pre-built, we should
|
|
|
|
# consider adding ExampleWorfklow.py to testing in this file. -Jordan 4/2021
|