forked from OSGeo/grass
-
Notifications
You must be signed in to change notification settings - Fork 0
145 lines (131 loc) · 3.93 KB
/
osgeo4w.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
---
name: OSGeo4W
on:
push:
branches:
- main
- releasebranch_*
pull_request:
jobs:
build:
name: ${{ matrix.os }} build and tests
concurrency:
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.head_ref || github.sha }}-${{
matrix.os }}
cancel-in-progress: true
runs-on: ${{ matrix.os }}
env:
PYTHONWARNINGS: always
strategy:
matrix:
os:
- windows-2019
fail-fast: false
steps:
- name: Set git to use LF
run: |
git config --global core.autocrlf false
git config --global core.eol lf
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: msys2/setup-msys2@d44ca8e88d8b43d56cf5670f91747359d5537f97 # v2.26.0
with:
path-type: inherit
location: D:\
update: true
msystem: MINGW64
install: >-
bison
diffutils
dos2unix
flex
git
libintl
make
tar
zip
pacboy: >-
bzip2
ccache
fftw
gcc
gettext
libiconv
libsystre
libtre-git
libwinpthread-git
openblas
pcre
pkgconf
toolchain
zlib
- name: Setup OSGeo4W environment
uses: echoix/setup-OSGeo4W@f4311523e39f2c8b10e34ebbc3f2ff437ecfb9ed # v0.2.0
id: osgeo4w
with:
package-dir: "D:/OSGeo4W_pkg"
packages: |
cairo-devel
freetype-devel
gdal-devel
geos-devel
libjpeg-turbo-devel
liblas-devel
libpng-devel
libpq-devel
libtiff-devel
netcdf-devel
proj-devel
python3-core
python3-jupyter
python3-matplotlib
python3-numpy
python3-pip
python3-ply
python3-pytest
python3-pywin32
python3-six
python3-wxpython
sqlite3-devel
zstd-devel
- name: Set number of cores for compilation
run: |
echo "MAKEFLAGS=-j$(nproc)" >> $GITHUB_ENV
shell: msys2 {0}
- name: Compile GRASS GIS
shell: msys2 {0}
run: |
.github/workflows/build_osgeo4w.sh
- name: Print installed versions
if: always()
shell: msys2 {0}
run: .github/workflows/print_versions.sh
- name: Test executing of the grass command
run: .github/workflows/test_simple.bat '${{env.O4WROOT}}\opt\grass\grass85.bat'
env:
O4WROOT: ${{ steps.osgeo4w.outputs.root }}
- name: Test executing of the grass command in bash
shell: msys2 {0}
run: .github/workflows/test_simple.sh
- name: Install pytest plugins
run: python -m pip install pytest-timeout
shell: cmd /D /E:ON /V:OFF /S /C "CALL C:/OSGeo4W/OSGeo4W.bat "{0}""
- name: Run pytest with a single worker
run: |
call %OSGEO4W_ROOT%\opt\grass\etc\env.bat
set PYTHONPATH=%GISBASE%\etc\python;%PYTHONPATH%
path %GISBASE%\lib;%GISBASE%\bin;%PATH%
pytest --verbose --color=yes ^
--durations=0 --durations-min=0.5 ^
-ra .
shell: cmd /D /E:ON /V:OFF /S /C "CALL C:/OSGeo4W/OSGeo4W.bat "{0}""
- name: Run tests
run: .github/workflows/test_thorough.bat '${{env.O4WROOT}}\opt\grass\grass85.bat' '${{env.O4WROOT}}\bin\python3'
env:
O4WROOT: ${{ steps.osgeo4w.outputs.root }}
- name: Make HTML test report available
if: ${{ always() }}
uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
with:
name: testreport-${{ matrix.os }}
path: testreport
retention-days: 3