-
Notifications
You must be signed in to change notification settings - Fork 21
82 lines (78 loc) · 3.15 KB
/
trickops.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
name: TrickOps
# This workflow is triggered on pushes to the repository.
on:
schedule:
- cron: '0 0 * * 0'
workflow_dispatch:
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-rockylinux8:
name: Unit Tests RockyLinux8
runs-on: ubuntu-20.04
container: rockylinux:8
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: |
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