-
Notifications
You must be signed in to change notification settings - Fork 7
149 lines (124 loc) · 4.67 KB
/
ci.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
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
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
name: CI
on:
# We run CI on pushes to the main branch
push:
branches:
- main
# and on all pull requests to the main branch
pull_request:
branches:
- main
# as well as upon manual triggers through the 'Actions' tab of the Github UI
workflow_dispatch:
jobs:
linux-test:
name: Testing on Linux
runs-on: ubuntu-20.04
defaults:
run:
shell: bash -l {0}
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Create afwizard conda environment
uses: conda-incubator/setup-miniconda@v2
with:
auto-update-conda: true
auto-activate-base: false
activate-environment: afwizard-dev
environment-file: environment.yml
- name: SSH setup
uses: webfactory/[email protected]
with:
ssh-private-key: |
${{ secrets.SSH_KEY }}
- name: Add known host
run: |
echo "ssc-jupyter.iwr.uni-heidelberg.de ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJlEBwr7Qv0expAPxukZOmIUcVI1erVPya+GkzCd+iQK" >> ~/.ssh/known_hosts
- name: Install Wine to test lastools backend
run: |
sudo apt update
sudo apt install unzip wget wine
- name: Install development dependencies
run: |
python -m pip install -r requirements-dev.txt
- name: Install OPALS
working-directory: ${{ runner.workspace }}
run: |
scp -P 22222 [email protected]:/home/ssc-github/opals_2.5.0_linux64.tar.gz ${{ runner.workspace }}
tar xzvf ${{ runner.workspace }}/opals_2.5.0_linux64.tar.gz
echo "OPALS_DIR=${{ runner.workspace }}/opals_2.5.0" >> $GITHUB_ENV
- name: Install LAStools
working-directory: ${{ runner.workspace }}
run: |
wget https://github.com/LAStools/LAStools.github.io/raw/master/download/LAStools_210628.zip
unzip LAStools_210628.zip
rm LAStools_210628.zip
echo "LASTOOLS_DIR=${{ runner.workspace }}/LAStools" >> $GITHUB_ENV
- name: Install Python package
run: |
python -m pip install --no-deps .
- name: Run Python tests including notebooks
run: |
python -m pytest --nbval-lax
- name: Run coverage tests
run: |
python -m pytest --cov=./afwizard --cov-report=xml
- name: "Upload coverage to Codecov"
uses: codecov/codecov-action@v3
with:
fail_ci_if_error: false
files: ./coverage.xml
token: ${{ secrets.CODECOV_TOKEN }}
windows-test:
name: Testing on Windows
runs-on: windows-2019
if: github.event_name == 'workflow_dispatch'
defaults:
run:
shell: bash -l {0}
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Create afwizard conda environment
uses: conda-incubator/setup-miniconda@v2
with:
auto-update-conda: true
auto-activate-base: false
activate-environment: afwizard-dev
environment-file: environment.yml
- name: SSH setup
uses: webfactory/[email protected]
with:
ssh-private-key: |
${{ secrets.SSH_KEY }}
- name: Add known host
run: |
echo "ssc-jupyter.iwr.uni-heidelberg.de ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJlEBwr7Qv0expAPxukZOmIUcVI1erVPya+GkzCd+iQK" >> ~/.ssh/known_hosts
- name: Install development dependencies
run: |
python -m pip install -r requirements-dev.txt
- name: Download OPALS (Windows)
working-directory: ${{ runner.workspace }}
shell: powershell
run: |
c://progra~1//git//usr//bin//scp.exe -P 22222 [email protected]:/home/ssc-github/opals_2.5.0_win64-setup.exe ${{ runner.workspace }}
- name: Install OPALS (Windows)
working-directory: ${{ runner.workspace }}
shell: powershell
run: |
Start-Process -FilePath ${{ runner.workspace }}\opals_2.5.0_win64-setup.exe -ArgumentList /S,/TYPE=typical,/DATA=,/D=${{ runner.workspace }}\opalsInstallation -Wait
echo "OPALS_DIR=${{ runner.workspace }}\opalsInstallation" >> $env:GITHUB_ENV
- name: Install LAStools
working-directory: ${{ runner.workspace }}
shell: powershell
run: |
Invoke-WebRequest https://github.com/LAStools/LAStools.github.io/raw/master/download/LAStools_210628.zip -OutFile ${{ runner.workspace }}\LAStools.zip
Expand-Archive -LiteralPath ${{ runner.workspace }}\LAStools.zip -DestinationPath ${{ runner.workspace }}
echo "LASTOOLS_DIR=${{ runner.workspace }}/LAStools" >> $env:GITHUB_ENV
- name: Install the afwizard Python package
run: |
python -m pip install --no-deps .
- name: Run Python tests
run: |
python -m pytest --nbval-lax