Skip to content

Commit 9426301

Browse files
authored
Merge pull request #8 from alpinebuster/dev
Merge from branch dev to main
2 parents be74a0f + a69d4bf commit 9426301

File tree

206 files changed

+12499
-3339
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

206 files changed

+12499
-3339
lines changed

.gitattributes

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,15 @@
66
*.cpp text
77
*.c text
88
*.h text
9-
109
*.sh text eol=lf
11-
1210
# Declare files that will always have CRLF line endings on checkout.
1311
*.sln text eol=crlf
14-
1512
# Denote all files that are truly binary and should not be modified.
1613
*.png binary
1714
*.jpg binary
15+
16+
# LFS
17+
*.stl filter=lfs diff=lfs merge=lfs -text
18+
*.ply filter=lfs diff=lfs merge=lfs -text
19+
*.obj filter=lfs diff=lfs merge=lfs -text
20+
*.wasm filter=lfs diff=lfs merge=lfs -text

.github/actions/python-regression-tests/action.yml

Lines changed: 34 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ runs:
3737
using: composite
3838
steps:
3939
- name: Debug inputs
40+
if: ${{ runner.os != 'Windows' }}
4041
shell: bash
4142
run: |
4243
echo << EOF
@@ -50,6 +51,19 @@ runs:
5051
upload_test_artifacts: ${{ inputs.upload_test_artifacts }}
5152
EOF
5253
54+
- name: Debug inputs (Windows)
55+
if: ${{ runner.os == 'Windows' }}
56+
shell: powershell
57+
run: |
58+
Write-Output "autotest_data_s3_url: ${{ inputs.autotest_data_s3_url }}"
59+
Write-Output "build_config: ${{ inputs.build_config }}"
60+
Write-Output "mrbind: ${{ inputs.mrbind }}"
61+
Write-Output "pytest_args: ${{ inputs.pytest_args }}"
62+
Write-Output "smoke: ${{ inputs.smoke }}"
63+
Write-Output "test_artifacts_path: ${{ inputs.test_artifacts_path }}"
64+
Write-Output "ubuntu20_arm_workaround: ${{ inputs.ubuntu20_arm_workaround }}"
65+
Write-Output "upload_test_artifacts: ${{ inputs.upload_test_artifacts }}"
66+
5367
# cache management: https://github.com/MeshInspector/MeshLib/actions/caches
5468
- name: Cache autotest data from S3 Tests
5569
uses: actions/cache@v4
@@ -64,19 +78,14 @@ runs:
6478
aws-region: us-east-1
6579

6680
- name: Copy autotest data from S3 Tests
81+
if: ${{ runner.os != 'Windows' }}
6782
shell: bash
6883
run: aws s3 sync ${{ inputs.autotest_data_s3_url }} test_data --delete --no-sign-request --size-only --quiet
6984

70-
- name: Python Regression Tests
85+
- name: Copy autotest data from S3 Tests (Windows)
7186
if: ${{ runner.os == 'Windows' }}
7287
shell: powershell
73-
working-directory: source\x64\${{ inputs.build_config }}
74-
run: >
75-
py -3 ..\..\..\scripts\run_python_test_script.py
76-
-d '..\test_regression'
77-
-s ${{ inputs.smoke }}
78-
-bv ${{ fromJSON( inputs.mrbind ) && '3' || '2' }}
79-
-a='${{ inputs.pytest_args }}'
88+
run: aws s3 sync ${{ inputs.autotest_data_s3_url }} test_data --delete --no-sign-request --size-only --quiet
8089

8190
- name: Python Regression Tests
8291
if: ${{ runner.os != 'Windows' }}
@@ -90,8 +99,24 @@ runs:
9099
-s ${{ inputs.smoke }}
91100
-bv ${{ fromJSON( inputs.mrbind ) && '3' || '2' }}
92101
-a='${{ inputs.pytest_args }}'
102+
103+
- name: Python Regression Tests (Windows)
104+
if: ${{ runner.os == 'Windows' }}
105+
shell: powershell
106+
working-directory: source\x64\${{ inputs.build_config }}
107+
run: >
108+
py -3 ..\..\..\scripts\run_python_test_script.py
109+
-d '..\test_regression'
110+
-s ${{ inputs.smoke }}
111+
-bv ${{ fromJSON( inputs.mrbind ) && '3' || '2' }}
112+
-a='${{ inputs.pytest_args }}'
93113
94114
- name: Copy test artifacts to S3
95-
if: ${{ fromJSON( inputs.upload_test_artifacts ) && !cancelled() }}
115+
if: ${{ fromJSON( inputs.upload_test_artifacts ) && !cancelled() && runner.os != 'Windows' }}
96116
shell: bash
97117
run: aws s3 cp pytest_temp 's3://test-artifacts-git/tests/${{ github.run_id }}/${{ inputs.test_artifacts_path }}' --recursive --quiet
118+
119+
- name: Copy test artifacts to S3 (Windows)
120+
if: ${{ fromJSON( inputs.upload_test_artifacts ) && !cancelled() && runner.os == 'Windows' }}
121+
shell: powershell
122+
run: aws s3 cp pytest_temp 's3://test-artifacts-git/tests/${{ github.run_id }}/${{ inputs.test_artifacts_path }}' --recursive --quiet

.github/workflows/build-test-distribute.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ jobs:
138138
- config
139139
- windows-build-test
140140
timeout-minutes: 60
141-
runs-on: windows-2019
141+
runs-on: [self-hosted, windows, x64, vs-2019, vcpkg-2024.10.21, meshinspector]
142142
env:
143143
vs19_vcpkg_version: ${{ needs.config.outputs.vs19_vcpkg_version }}
144144
steps:

.github/workflows/build-test-windows.yml

Lines changed: 23 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -40,30 +40,32 @@ jobs:
4040
matrix:
4141
config: [ "Debug", "Release" ]
4242
build_system: [ MSBuild, CMake ]
43-
runner: [ windows-2022, windows-2019 ]
43+
os: [ windows-2022, windows-2019 ]
4444
full_config_build:
4545
- ${{fromJSON(inputs.full_config_build)}}
4646
exclude:
4747
- full_config_build: false
48-
runner: windows-2022
48+
os: windows-2022
4949
build_system: MSBuild
5050
config: "Debug"
5151
- full_config_build: false
52-
runner: windows-2019
52+
os: windows-2019
5353
build_system: CMake
5454
- full_config_build: false
55-
runner: windows-2022
55+
os: windows-2022
5656
build_system: CMake
5757
config: "Release"
5858
include:
59-
- runner: windows-2022
59+
- os: windows-2022
60+
runner: [windows-2022]
6061
vc-path: 'C:\Program Files\Microsoft Visual Studio\2022\Enterprise'
6162
CUDA-VERSION: '12.0.1.52833'
6263
CUDA-MAJOR: '12'
6364
CUDA-MINOR: '0'
6465
vcpkg-version: ${{ inputs.vs22_vcpkg_version }}
65-
- runner: windows-2019
66-
vc-path: 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise'
66+
- os: windows-2019
67+
runner: [self-hosted, windows, x64, vs-2019, meshinspector]
68+
vc-path: 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community'
6769
CUDA-VERSION: '11.4.2.47141'
6870
CUDA-MAJOR: '11'
6971
CUDA-MINOR: '4'
@@ -73,7 +75,7 @@ jobs:
7375
contents: read # This is required for actions/checkout
7476

7577
env:
76-
BUILD_C_SHARP: ${{ matrix.runner == 'windows-2022' && matrix.build_system == 'MSBuild' }}
78+
BUILD_C_SHARP: ${{ matrix.os == 'windows-2022' && matrix.build_system == 'MSBuild' }}
7779
PYTEST_C_SHARP_ARGS: --run-c-sharp-samples --csharp-sample-dir=..\source\x64\${{ matrix.config }}
7880

7981
steps:
@@ -94,13 +96,14 @@ jobs:
9496
with:
9597
target_os: windows
9698
target_arch: x64
97-
cxx_compiler: ${{ matrix.runner }} # runner name will be transformed to MSVC name (e.g. windows-2022 -> msvc-2022)
99+
cxx_compiler: ${{ matrix.os }} # os name will be transformed to MSVC name (e.g. windows-2022 -> msvc-2022)
98100
build_config: ${{ matrix.config }}
99101
build_system: ${{ matrix.build_system }}
100102

101103
- name: Clean Vcpkg Directory
104+
if: ${{ matrix.os == 'windows-2022' }}
102105
working-directory: C:\vcpkg
103-
run: git clean -ffdx
106+
run: git clean -ffdx
104107

105108
- name: Checkout & Update Vcpkg ${{ matrix.vcpkg-version }}
106109
working-directory: C:\vcpkg
@@ -135,17 +138,19 @@ jobs:
135138
run: C:\vcpkg\vcpkg.exe integrate install
136139

137140
- name: Restore CUDA Cache
141+
if: ${{ matrix.os == 'windows-2022' }}
138142
uses: actions/cache@v4
139143
id: cuda-cache
140144
with:
141145
key: cuda-${{matrix.CUDA-VERSION}}
142146
path: C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA*
143147

144148
- name: Install CUDA
145-
if: steps.cuda-cache.outputs.cache-hit != 'true'
149+
if: ${{ steps.cuda-cache.outputs.cache-hit != 'true' && matrix.os == 'windows-2022' }}
146150
run: choco install cuda --version=${{matrix.CUDA-VERSION}} --confirm
147151

148152
- name: Setup CUDA
153+
if: ${{ matrix.os == 'windows-2022' }}
149154
shell: bash
150155
run: |
151156
echo "CUDA_PATH=C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v${{ matrix.CUDA-MAJOR }}.${{ matrix.CUDA-MINOR }}" >> $GITHUB_ENV
@@ -154,6 +159,7 @@ jobs:
154159
echo "C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v${{ matrix.CUDA-MAJOR }}.${{ matrix.CUDA-MINOR }}\\bin" >> $GITHUB_PATH
155160
156161
- name: Install Visual Studio Integration
162+
if: ${{ matrix.os == 'windows-2022' }}
157163
run: |
158164
$x = (dir $env:CUDA_PATH -dir -recurse -depth 2).where({$_.name -eq 'visual_studio_integration'}).fullname
159165
$y = (dir $x -dir -recurse).where({$_.name -eq 'MSBuildExtensions'}).fullname + '\*'
@@ -280,7 +286,7 @@ jobs:
280286
mrbind: ${{ inputs.mrbind }}
281287
pytest_args: "${{ env.BUILD_C_SHARP == 'true' && env.PYTEST_C_SHARP_ARGS || '' }} --run-cuda=negative"
282288
smoke: ${{ !inputs.full_config_build && matrix.config == 'Debug' }}
283-
test_artifacts_path: windows/${{ matrix.runner }}/${{ matrix.config }}
289+
test_artifacts_path: windows/${{ matrix.os }}/${{ matrix.config }}
284290
upload_test_artifacts: ${{ inputs.upload_test_artifacts }}
285291

286292
- name: Delete unwanted files
@@ -291,35 +297,35 @@ jobs:
291297
if exist source\x64\Release\pybind11nonlimitedapi_meshlib_3*.dll del /Q source\x64\Release\pybind11nonlimitedapi_meshlib_3*.dll
292298
293299
- name: Archive files # https://github.com/actions/download-artifact#maintaining-file-permissions-and-case-sensitive-files
294-
if: ${{ inputs.upload_artifacts && matrix.runner == 'windows-2019' && matrix.build_system == 'MSBuild' }}
300+
if: ${{ inputs.upload_artifacts && matrix.os == 'windows-2019' && matrix.build_system == 'MSBuild' }}
295301
run: tar -a -c -f MREDist_${{ matrix.config }}.zip ./source/x64/${{matrix.config}}
296302

297303
- name: Upload Windows Binaries Archive
298-
if: ${{ inputs.upload_artifacts && matrix.runner == 'windows-2019' && matrix.build_system == 'MSBuild' }}
304+
if: ${{ inputs.upload_artifacts && matrix.os == 'windows-2019' && matrix.build_system == 'MSBuild' }}
299305
uses: actions/upload-artifact@v4
300306
with:
301307
name: WindowsArchive_${{matrix.config}}
302308
path: MREDist_${{matrix.config}}.zip
303309
retention-days: 1
304310

305311
- name: Create and fix fake Wheel for NuGet
306-
if: ${{ inputs.nuget_build && matrix.runner == 'windows-2022' && matrix.config == 'Release' && matrix.build_system == 'MSBuild' && env.BUILD_C_SHARP == 'true' }}
312+
if: ${{ inputs.nuget_build && matrix.os == 'windows-2022' && matrix.config == 'Release' && matrix.build_system == 'MSBuild' && env.BUILD_C_SHARP == 'true' }}
307313
run: |
308314
py -3 -m venv wheel_venv
309315
wheel_venv\Scripts\Activate
310316
python -m pip install delvewheel
311317
python ./scripts/nuget_patch/patch_library_deps.py "./source/x64/Release/MRMeshC.dll" "./patched_content/"
312318
313319
- name: Upload NuGet files to Artifacts
314-
if: ${{ inputs.nuget_build && matrix.runner == 'windows-2022' && matrix.config == 'Release' && matrix.build_system == 'MSBuild' && env.BUILD_C_SHARP == 'true' }}
320+
if: ${{ inputs.nuget_build && matrix.os == 'windows-2022' && matrix.config == 'Release' && matrix.build_system == 'MSBuild' && env.BUILD_C_SHARP == 'true' }}
315321
uses: actions/upload-artifact@v4
316322
with:
317323
name: DotNetPatchArchiveWindows-x64
318324
path: ./patched_content/*
319325
retention-days: 1
320326

321327
- name: Upload NuGet library DLL to Artifacts
322-
if: ${{ inputs.nuget_build && matrix.runner == 'windows-2022' && matrix.config == 'Release' && matrix.build_system == 'MSBuild' && env.BUILD_C_SHARP == 'true' }}
328+
if: ${{ inputs.nuget_build && matrix.os == 'windows-2022' && matrix.config == 'Release' && matrix.build_system == 'MSBuild' && env.BUILD_C_SHARP == 'true' }}
323329
uses: actions/upload-artifact@v4
324330
with:
325331
name: DotNetDll

.github/workflows/pip-build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,7 @@ jobs:
182182
windows-pip-build:
183183
needs: setup
184184
timeout-minutes: 90
185-
runs-on: windows-2019
185+
runs-on: [self-hosted, windows, x64, vs-2019, meshinspector]
186186
strategy:
187187
fail-fast: false
188188
permissions:

.github/workflows/prepare-images.yml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -145,12 +145,10 @@ jobs:
145145
strategy:
146146
fail-fast: false
147147
matrix:
148-
runner: [ windows-2022, windows-2019 ]
148+
runner: [ windows-2022 ]
149149
include:
150150
- runner: windows-2022
151151
vcpkg-version: ${{ inputs.vs22_vcpkg_version }}
152-
- runner: windows-2019
153-
vcpkg-version: ${{ inputs.vs19_vcpkg_version }}
154152
steps:
155153
- name: Setup vcpkg
156154
working-directory: C:\vcpkg

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,3 +34,5 @@ source/MRDotNetTest/obj/*
3434
/include
3535
/out/build/
3636
.cache
37+
venv/*
38+
wheelhouse/*

.mailmap

Lines changed: 1 addition & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1 @@
1-
Alexandr Burakov <[email protected]> Alexandr Burakov <[email protected]>
2-
Alexandr Burakov <[email protected]> Aleksandr Burakov <[email protected]>
3-
Alexandr Burakov <[email protected]> A.Burakov <[email protected]>
4-
Alexandr Burakov <[email protected]> Aleksandr Burakov <[email protected]>
5-
Alexandr Burakov <[email protected]> ABSitf <[email protected]>
6-
Alexandr Burakov <[email protected]> A.Burakov <[email protected]>
7-
Alex Koksin <[email protected]> Alexey Koksin <[email protected]>
8-
Alex Koksin <[email protected]> Alex koksin <[email protected]>
9-
Alex Koksin <[email protected]> ADALISK\akoksin <[email protected]>
10-
Alex Koksin <[email protected]> ASTROCOMP\astro <[email protected]>
11-
Alex Koksin <[email protected]> theastrowander <[email protected]>
12-
Alex Koksin <[email protected]> Alex Koksin <[email protected]>
13-
Alex Koksin <[email protected]> Alexey Koksin <[email protected]>
14-
Anton Chernobrovkin <[email protected]> AntonChernobrovkin <[email protected]>
15-
Anton Chernobrovkin <[email protected]> Chernobrovkin-AD <[email protected]>
16-
Anton Chernobrovkin <[email protected]> Chernobrovkin-AD <[email protected]>
17-
Anton Chernobrovkin <[email protected]> AntonChernobrovkin <[email protected]>
18-
Artur Sharafutdinov <[email protected]> Artur Sharafutdinov <[email protected]>
19-
Bot <[email protected]> dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
20-
Daniil Antipov <[email protected]> Daniil <[email protected]>
21-
Daniil Antipov <[email protected]> ADniill <[email protected]>
22-
Egor Mikhaylov <[email protected]> Egor Mikhaylov <[email protected]>
23-
Egor Mikhaylov <[email protected]> Egor Mikhailov <[email protected]>
24-
Emil Peters <[email protected]> dwight <Emil Peters>
25-
Fedor Chelnokov <[email protected]> Fedor Chelnokov <[email protected]>
26-
Fedor Chelnokov <[email protected]> Fedr <[email protected]>
27-
Grant Karapetyan <[email protected]> Grant Karapetyan <[email protected]>
28-
Grant Karapetyan <[email protected]> grantim <[email protected]>
29-
Grant Karapetyan <[email protected]> grantim <[email protected]>
30-
Maxim Rayskiy <[email protected]> Maxim Rayskiy <[email protected]>
31-
Maxim Rayskiy <[email protected]> MaxRayskiy <[email protected]>
32-
Maxim Rayskiy <[email protected]> MaxRayskiy <[email protected]>
33-
Maxim Rayskiy <[email protected]> max.rayskiy <[email protected]>
34-
35-
36-
Maxim Rayskiy <[email protected]> MaxRayskiy <[email protected]>
37-
Maxim Rayskiy <[email protected]> meshinspector-bot <[email protected]>
38-
Rodion Orlov <[email protected]> Rodion Orlov <[email protected]>
39-
Rodion Orlov <[email protected]> Rodion Orlov <[email protected]>
1+
alpinebuster <[email protected]>

.vscode/launch.json

Lines changed: 29 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,31 @@
11
{
2-
// Use IntelliSense to learn about possible attributes.
3-
// Hover to view descriptions of existing attributes.
4-
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
5-
"version": "0.2.0",
6-
"configurations": []
2+
"version": "0.2.0",
3+
"configurations": [
4+
{
5+
"name": "Run server.py",
6+
"type": "debugpy",
7+
"request": "launch",
8+
"program": "${workspaceFolder}/build/Debug/bin/server.py",
9+
"console": "integratedTerminal",
10+
"cwd": "${workspaceFolder}/build/Debug/bin"
11+
},
12+
{
13+
"name": "Launch Chrome + WASM",
14+
"type": "chrome",
15+
"request": "launch",
16+
// Keep the port and path the same as in server.py
17+
"url": "http://localhost:9310/index_mrjs.html",
18+
"webRoot": "${workspaceFolder}/build/Debug/bin",
19+
"sourceMaps": true
20+
}
21+
],
22+
"compounds": [
23+
{
24+
"name": "Server + Chrome Debug",
25+
"configurations": [
26+
"Run server.py",
27+
"Launch Chrome + WASM"
28+
]
29+
}
30+
]
731
}

.vscode/settings.json

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,10 @@
108108
"filesystem": "cpp",
109109
"locale": "cpp",
110110
"climits": "cpp",
111-
"__verbose_abort": "cpp"
111+
"__verbose_abort": "cpp",
112+
"*.lxx": "cpp",
113+
"adolcforward": "cpp",
114+
"cassert": "cpp",
115+
"sparsecholesky": "cpp"
112116
}
113117
}

0 commit comments

Comments
 (0)