-
Notifications
You must be signed in to change notification settings - Fork 1
74 lines (69 loc) · 2.9 KB
/
main.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
name: CI_test
on:
push:
branches:
- main
- development
- feature-tests
# needed for julia-actions/cache to delete old caches
permissions:
actions: write
contents: read
jobs:
test:
strategy:
fail-fast: false
matrix:
julia-version:
- '1.10.4' # the one I have been developing with
- '1' # to check the latest v1 version
- 'pre' # check upcoming releases
os: ["ubuntu-latest"]
shell: ["bash"]
compiler: ["g++"]
include:
- os: "macOS-latest"
julia-version: '1'
shell: "bash"
compiler: "g++-13"
runs-on: ${{ matrix.os }}
defaults:
run:
shell: ${{ matrix.shell }}
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: true
token: ${{ secrets.GH_PCVCT }}
- name: Set up test project
run: |
mkdir -p ./test/test-project/data/inputs/configs/default
cp ./test/PhysiCell/sample_projects/template/config/PhysiCell_settings.xml ./test/test-project/data/inputs/configs/default/PhysiCell_settings.xml
mkdir -p ./test/test-project/data/inputs/custom_codes/default
cp ./test/PhysiCell/sample_projects/template/main.cpp ./test/test-project/data/inputs/custom_codes/default/main.cpp
cp ./test/PhysiCell/sample_projects/template/Makefile ./test/test-project/data/inputs/custom_codes/default/Makefile
cp -r ./test/PhysiCell/sample_projects/template/custom_modules ./test/test-project/data/inputs/custom_codes/default/custom_modules
mkdir -p ./test/test-project/data/inputs/rulesets_collections/default
touch ./test/test-project/data/inputs/rulesets_collections/default/base_rulesets.csv
echo "default,pressure,decreases,cycle entry,0,0.5,4,0" >> ./test/test-project/data/inputs/rulesets_collections/default/base_rulesets.csv
echo "Template project files are in place within ./test/test-project/data/inputs"
- uses: julia-actions/setup-julia@v2
with:
version: ${{ matrix.julia-version }}
- name: Set environment variable PHYSICELL_CPP
run: echo "PHYSICELL_CPP=${{ matrix.compiler }}" >> $GITHUB_ENV
- uses: julia-actions/cache@v2
- uses: julia-actions/julia-buildpkg@v1
- uses: julia-actions/julia-runtest@v1 # not sure what this does yet...runs files marked as tests?
# - name: Install julia dependencies
# run: |
# julia -e 'using Pkg; \
# Pkg.add(["DataFrames", "CSV", "SQLite", "Random", "LightXML", "LazyGrids", "Dates", "Tables", "Distributions", "Statistics", "QuasiMonteCarlo", "Sobol", "MAT", "FFTW", "GlobalSensitivity"]); \
# Pkg.update()'
# echo "Julia packages added and updated"
# - name: Run sampling
# run: |
# cd ./test
# julia -t 8 ./test-project/VCT/RunSampling.jl
# echo "RunSampling.jl complete"