-
Notifications
You must be signed in to change notification settings - Fork 0
132 lines (111 loc) · 3.59 KB
/
CI.yaml
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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
name: Test
on:
push:
branches:
- main
pull_request:
branches:
- main
env:
RUNNING_ON_GA: GA
jobs:
test-orchestrator:
runs-on: ${{ matrix.os }}
timeout-minutes: 60
strategy:
fail-fast: false
matrix:
os: [macos-latest, ubuntu-latest]
# The process
steps:
- name: Set up Python
uses: actions/setup-python@v4
id: cp39
with:
python-version: 3.9
- uses: actions/checkout@v3
name: Checkout Code
- name: Install Linux Dependencies
if: matrix.os == 'ubuntu-latest'
run: |
sudo apt-get update
sudo apt-get install ffmpeg libsm6 libxext6 -y
sudo apt-get install libportaudio2 libportaudiocpp0 portaudio19-dev libasound-dev libsndfile1-dev portaudio19-dev python3-pyaudio -y
echo "MANUAL_OS_SET=Linux" >> $GITHUB_ENV
- name: Install HomeBrew for MacOS
if: matrix.os == 'macos-latest'
uses: Homebrew/actions/setup-homebrew@master
- name: Install MacOS Dependencies
if: matrix.os == 'macos-latest'
run: |
brew install portaudio
echo "MANUAL_OS_SET=Darwin" >> $GITHUB_ENV
echo "OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES" >> $GITHUB_ENV
- uses: actions/checkout@v3
name: Checkout ChimeraPy-Engine (Bleeding Edge)
with:
repository: ChimeraPy/ChimeraPy-Engine
ref: main
path: ChimeraPy-Engine
- name: Install ChimeraPy-Engine (Bleeding Edge)
run: |
cd ChimeraPy-Engine
${{ steps.cp39.outputs.python-path }} -m pip install --upgrade pip
${{ steps.cp39.outputs.python-path }} -m pip install -e ".[test]"
- name: Install Package and Plugin Test Package
run: |
${{ steps.cp39.outputs.python-path }} -m pip install -e ".[test]"
cd chimerapy/orchestrator/tests/plugin-nodes-package
${{ steps.cp39.outputs.python-path }} -m pip install .
- name: Perform Tests (${{ matrix.os }})
run: |
${{ steps.cp39.outputs.python-path }} -m coverage run --source=chimerapy/orchestrator -m pytest -v --color yes chimerapy/orchestrator/tests
- name: Upload Coverage Data to coveralls.io
if : matrix.os == 'ubuntu-latest'
run: coveralls --service=github
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
COVERALLS_FLAG_NAME: ${{ matrix.test-name }}
COVERALLS_PARALLEL: true
test-dashboard:
runs-on: ${{ matrix.os }}
timeout-minutes: 60
strategy:
fail-fast: false
matrix:
os: [macos-latest, ubuntu-latest]
steps:
- uses: actions/checkout@v3
name: Checkout Code
- uses: actions/setup-node@v3
name: Set up Node
with:
node-version: 16
- name: Install Dependencies
run: |
cd dashboard
npm install
- name: Perform Tests (${{ matrix.os }})
run: |
cd dashboard
npm run test
- name: Perform Linting and Formatting (${{ matrix.os }})
if: matrix.os == 'ubuntu-latest'
continue-on-error: true
run: |
cd dashboard
npm run lint
npm run format
coveralls:
name: Indicate Completion to coveralls.io
needs: test-orchestrator
runs-on: ubuntu-latest
container: python:3-slim
if: github.ref == 'refs/heads/main'
steps:
- name: Finished
run: |
pip3 install --upgrade coveralls
coveralls --service=github --finish
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}