Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dev win ci tests #194

Open
wants to merge 40 commits into
base: dev
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
b92366a
attempting automatic DLL collection in CI
lwiniwar Mar 4, 2022
5745fe0
updating win_ci
lwiniwar Mar 4, 2022
dd68eb5
fixed indentation
lwiniwar Mar 4, 2022
293252c
added `with` statement to artifact loading
lwiniwar Mar 4, 2022
44f9d58
added manual run option
lwiniwar Mar 4, 2022
434baec
fixing manual trigger
lwiniwar Mar 4, 2022
1c72f2a
changes to yaml block syntax
lwiniwar Mar 4, 2022
4103d44
added separators between commands
lwiniwar Mar 4, 2022
2d082fd
fixing paths
lwiniwar Mar 4, 2022
d84c2f9
adding path to source folder
lwiniwar Mar 4, 2022
aadb600
path fixes...
lwiniwar Mar 4, 2022
8d228af
removed cache action for now
lwiniwar Mar 4, 2022
c274311
added scilab dir as dependency source
lwiniwar Mar 4, 2022
211a60c
added dependency on built libs (for scilab)
lwiniwar Mar 4, 2022
a967d9b
fix yaml
lwiniwar Mar 4, 2022
8b204c9
added quotes to scilab path
lwiniwar Mar 4, 2022
6731f70
fixed path quotes (again)
lwiniwar Mar 4, 2022
a66b3f1
added separate cache for scilab
lwiniwar Mar 4, 2022
f54eb66
just redownload scilab as caching is not working...
lwiniwar Mar 4, 2022
2673b2a
add "bin" to scilab dll source
lwiniwar Mar 4, 2022
23503d7
attempt to provide missing DLLs via zip
lwiniwar Mar 7, 2022
959a0db
added filename to download
lwiniwar Mar 7, 2022
f882fde
force reloading boost
lwiniwar Apr 6, 2022
5e22313
Merge branch 'dev' into dev-win-ci-tests
lwiniwar Apr 6, 2022
67de045
Update windows-build.yml
lwiniwar Apr 6, 2022
3a88aa1
Merge branch 'dev' into dev-win-ci-tests
lwiniwar Jul 7, 2022
19fe77a
Merge branch 'dev' into dev-win-ci-tests
lwiniwar Jul 7, 2022
4a6cef3
Merge branch 'dev' into dev-win-ci-tests
lwiniwar Aug 2, 2022
8cedd09
Update windows-build.yml
lwiniwar Aug 2, 2022
a7ef04d
Update dependencies.txt
lwiniwar Aug 2, 2022
a6dac8d
Update windows-build.yml
lwiniwar Aug 2, 2022
7f3df0f
Update windows-build.yml
lwiniwar Aug 2, 2022
ad39a59
Update windows-build.yml
lwiniwar Aug 3, 2022
ec3ddd6
Update windows-build.yml
lwiniwar Aug 3, 2022
25715a2
Update windows-build.yml
lwiniwar Aug 4, 2022
646cb7b
Update windows-build.yml
lwiniwar Aug 4, 2022
0e7e8b5
Update windows-build.yml
lwiniwar Aug 5, 2022
5d4025d
Update windows-build.yml
lwiniwar Aug 5, 2022
767a6a5
Update windows-build.yml
lwiniwar Aug 6, 2022
42c737f
Update windows-build.yml
lwiniwar Aug 6, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/cmake.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ name: CMake
on:
push:
branches: [ main, dev ]
pull_request:
branches: [ main, dev ]
#pull_request:
# branches: [ main, dev ]

env:
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
Expand Down
217 changes: 206 additions & 11 deletions .github/workflows/windows-build.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
name: win-build

on:
workflow_dispatch:
push:
branches: [ main, dev ]
pull_request:
branches: [ main, dev ]
workflow_dispatch:

env:
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
Expand Down Expand Up @@ -157,8 +157,8 @@ jobs:
uses: actions/cache@v2
with:
path: |
${{github.workspace}}/lib
key: ${{ runner.os }}-gdal-lastools-armadillo-latest3
${{github.workspace}}/lib
key: ${{ runner.os }}-gdal-lastools-armadillo-latest4

- uses: suisei-cn/actions-download-file@v1
if: steps.cache-lastools-armadillo-gdal.outputs.cache-hit != 'true'
Expand Down Expand Up @@ -237,8 +237,10 @@ jobs:
cd LAStools
cmake -DCMAKE_BUILD_TYPE=Release .
msbuild.exe LAStools.sln /p:Configuration=Release







build-helios:
runs-on: windows-2019
Expand All @@ -256,22 +258,23 @@ jobs:

- name: Add MSBuild to PATH
uses: microsoft/setup-msbuild@v1.0.2

- uses: suisei-cn/actions-download-file@v1
if: steps.cache-scilab.outputs.cache-hit != 'true'
id: downloadscilab
name: Download SciLab
with:
url: "https://www.scilab.org/download/6.1.0/scilab-6.1.0_x64.exe"

- name: Install scilab
if: steps.cache-scilab.outputs.cache-hit != 'true'
working-directory: ${{env.GITHUB_WORKSPACE}}
run: |
dir
Start-Process -FilePath .\scilab-6.1.0_x64.exe -ArgumentList "/SILENT /NORESTART /DIR=`"C:\Program Files\scilab-6.1.0\`"" -Wait
dir "C:\Program Files"
dir "C:\Program Files\scilab-6.1.0"



- uses: actions/checkout@v2

- name: Set Up Python
Expand All @@ -285,10 +288,10 @@ jobs:
with:
path: |
${{github.workspace}}/lib
key: ${{ runner.os }}-gdal-lastools-armadillo-latest3
key: ${{ runner.os }}-gdal-lastools-armadillo-latest4
restore-keys: |
Windows-gdal-lastools-armadillo-latest

- name: Load Boost from Cache
id: cache-boost
uses: actions/cache@v2
Expand Down Expand Up @@ -318,6 +321,198 @@ jobs:
${{github.workspace}}/run/helios.exe
${{github.workspace}}/run/_pyhelios.cpython-*.pyd

prepare-package:
runs-on: windows-2019
defaults:
run:
working-directory: ${{github.workspace}}
steps:
- uses: actions/checkout@v2
- name: Cache DLLs
id: cache-DLL
uses: actions/cache@v2
with:
path: |
${{github.workspace}}/run
key: ${{ runner.os }}-DLLs-2

- uses: suisei-cn/actions-download-file@v1
#if: steps.cache-DLL.outputs.cache-hit != 'true'
id: downloadgisinternals
name: Download GISInternals
with:
url: "https://download.gisinternals.com/sdk/downloads/release-1928-x64-gdal-3-5-0-mapserver-7-6-4.zip"

- name: Extract & copy DLLs
#if: steps.cache-DLL.outputs.cache-hit != 'true'
working-directory: ${{env.GITHUB_WORKSPACE}}
run: >-
7z x release-1928-x64-gdal-3-5-0-mapserver-7-6-4.zip;
dir bin;
$source1 = "bin";
$destination = "run";
$file_list = Get-Content "run\dependencies.txt";
foreach ($file in $file_list)
{
$source = $source1 + "\$file";
try { Copy-Item $source $destination }
catch {
Write-Host $_
}
}


- uses: suisei-cn/actions-download-file@v1
if: steps.cache-scilab.outputs.cache-hit != 'true'
id: downloadscilab
name: Download SciLab
with:
url: "https://www.scilab.org/download/6.1.0/scilab-6.1.0_x64.exe"

- name: Install scilab
if: steps.cache-scilab.outputs.cache-hit != 'true'
working-directory: ${{env.GITHUB_WORKSPACE}}
run: |
dir
Start-Process -FilePath .\scilab-6.1.0_x64.exe -ArgumentList "/SILENT /NORESTART /DIR=`"C:\Program Files\scilab-6.1.0\`"" -Wait
dir "C:\Program Files"
dir "C:\Program Files\scilab-6.1.0"

- name: Copy DLLs from scilab
#if: steps.cache-DLL.outputs.cache-hit != 'true'
working-directory: ${{env.GITHUB_WORKSPACE}}
run: >-
$source1 = "C:\Program Files\scilab-6.1.0\bin";
$destination = "run";
$file_list = Get-Content "run\dependencies.txt";
foreach ($file in $file_list)
{
$source = $source1 + "\$file";
try { Copy-Item $source $destination }
catch {
Write-Host $_
}
}

test-helios:
runs-on: windows-2019
needs: [build-helios, prepare-package]
defaults:
run:
working-directory: ${{github.workspace}}


strategy:
matrix:
python-version: ['3.6', '3.7', '3.8', '3.9']

steps:
- name: Load DLLs
id: cache-DLL
uses: actions/cache@v2
with:
path: |
${{github.workspace}}/run
key: ${{ runner.os }}-DLLs-2
restore-keys: |
Windows-DLLs

- uses: suisei-cn/actions-download-file@v1
if: steps.cache-scilab.outputs.cache-hit != 'true'
id: downloadDll
name: Download remaining DLLs (from taken from osgeo4w)
with:
url: "https://heibox.uni-heidelberg.de/f/a96bc746e6d64438ba2a/?dl=1"
filename: "missingDLLs.zip"

- name: Extract & copy DLLs
#if: steps.cache-DLL.outputs.cache-hit != 'true'
working-directory: ${{env.GITHUB_WORKSPACE}}
run: >-
7z x missingDLLs.zip;
dir;
$source1 = ".";
$destination = "run";
$file_list = Get-Content "run\dependencies.txt";
foreach ($file in $file_list)
{
$source = $source1 + "\$file";
try { Copy-Item $source $destination }
catch {
Write-Host $_
}
}

- name: Set Up Python
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}

- name: Load artifact
uses: actions/download-artifact@v3
with:
name: ${{ runner.os}}-helios-pybinds-${{ matrix.python-version }}
path: ${{github.workspace}}/run/
- name: Add msbuild to PATH
uses: microsoft/setup-msbuild@v1.1

- name: Debug
working-directory: ${{env.GITHUB_WORKSPACE}}
shell: cmd
run: |
echo %PATH%
"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\Hostx86\x86\dumpbin.exe" /dependents ${{env.GITHUB_WORKSPACE}}/run/helios.exe
"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\Hostx86\x86\dumpbin.exe" /imports ${{env.GITHUB_WORKSPACE}}/run/helios.exe
dir run

- name: Debug-Artifact
uses: actions/upload-artifact@v2
with:
name: ${{ runner.os}}-helios-pybinds-${{ matrix.python-version }}-withlib
path: |
${{github.workspace}}/run/helios.exe
${{github.workspace}}/run/_pyhelios.cpython-*.pyd
${{github.workspace}}/run/*.dll

- name: Test
if: false
run: ${{github.workspace}}/run/helios.exe --test


build-gdal:
runs-on: windows-2019
needs: []
defaults:
run:
working-directory: ${{github.workspace}}

steps:
- uses: suisei-cn/actions-download-file@v1
id: buildgdal-downloadgdal
name: Download GDAL
with:
url: "https://github.com/OSGeo/gdal/releases/download/v3.5.0/gdal-3.5.0.tar.gz"
target: lib/gdal.tar.gz

- name: Extract GDAL
working-directory: ${{env.GITHUB_WORKSPACE}}
run: |
cd lib
7z x gdal.tar.gz -so | 7z x -aoa -si -ttar -o"."
dir .
move gdal-3.5.0 gdal
dir gdal

- name: Add msbuild to PATH
uses: microsoft/setup-msbuild@v1.1

- name: Build GDAL
working-directory: ${{env.GITHUB_WORKSPACE}}
shell: cmd
run: |
cd lib\gdal
mkdir build
cd build
cmake ..
cmake --build .
cmake --build . --target install
dir
109 changes: 109 additions & 0 deletions run/dependencies.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
api_scilab.dll
ast.dll
blasplus.dll
boolean.dll
boolean_gw.dll
cacsd.dll
cacsd_f.dll
call_scilab.dll
console_gw.dll
core.dll
core_f.dll
core_gw.dll
coverage.dll
data_structures.dll
differential_equations.dll
differential_equations_f.dll
differential_equations_gw.dll
dynamic_link.dll
dynamic_link_gw.dll
eispack_f.dll
elementary_functions.dll
elementary_functions_f.dll
elementary_functions_gw.dll
expat.dll
external_objects.dll
fftw.dll
fileio.dll
fileio_gw.dll
freexl.dll
functions_manager.dll
gdal305.dll
geos.dll
geos_c.dll
GetWindowsVersion.dll
graphics.dll
hdf5.dll
hdf5_hl.dll
history_browser.dll
history_manager_gw.dll
iconv-2.dll
iconv.dll
integer_gw.dll
io.dll
io_gw.dll
lapack.dll
libcrypto-1_1-x64.dll
libcurl.dll
libifcoremd.dll
libintl.dll
libiomp5md.dll
libjvm.dll
liblzma.dll
libmmd.dll
libmysql.dll
libpng16.dll
libpq.dll
libssl-1_1-x64.dll
libxml2.dll
linear_algebra.dll
linear_algebra_f.dll
linear_algebra_gw.dll
linpack_f.dll
localization_gw.dll
lwgeom.dll
netcdf.dll
ogdi.dll
openjp2.dll
output_stream.dll
output_stream_f.dll
output_stream_gw.dll
pcre.dll
polynomials.dll
polynomials_f.dll
preferences.dll
proj_7_2.dll
scicommons.dll
scicompletion.dll
sciconsole.dll
scigraphic_objects.dll
scigui.dll
scihistory_manager.dll
scilab_windows.dll
scilocalization.dll
scirenderer.dll
sciui_data.dll
slatec_f.dll
slicot_f.dll
sparse.dll
sparse_f.dll
sparse_gw.dll
spatialite.dll
sqlite3.dll
string.dll
string_gw.dll
szip.dll
tcl85.dll
tclsci.dll
threads.dll
time.dll
time_gw.dll
tk85.dll
windows_tools.dll
xerces-c_3_2.dll
xml.dll
zlib1.dll
zstd.dll
libexpat.dll
tiff.dll
zlib.dll