87
87
VISUALISATION : ${{ matrix.VISUALISATION }}
88
88
89
89
steps :
90
- - uses : actions/checkout@v3
90
+ - uses : actions/checkout@v4
91
91
92
92
- name : Install CUDA
93
93
if : ${{ startswith(env.OS, 'ubuntu') && env.CUDA != '' }}
@@ -106,7 +106,7 @@ jobs:
106
106
107
107
- name : Select Python
108
108
if : ${{ env.PYTHON != '' && env.FLAMEGPU_BUILD_PYTHON == 'ON' }}
109
- uses : actions/setup-python@v4
109
+ uses : actions/setup-python@v5
110
110
with :
111
111
python-version : ${{ env.PYTHON }}
112
112
@@ -249,7 +249,7 @@ jobs:
249
249
CUDAFLAGS : -allow-unsupported-compiler
250
250
251
251
steps :
252
- - uses : actions/checkout@v3
252
+ - uses : actions/checkout@v4
253
253
254
254
- name : Install CUDA (Windows)
255
255
if : ${{ runner.os == 'Windows' && env.CUDA != '' }}
@@ -261,7 +261,7 @@ jobs:
261
261
262
262
- name : Select Python
263
263
if : ${{ env.PYTHON != '' && env.FLAMEGPU_BUILD_PYTHON == 'ON' }}
264
- uses : actions/setup-python@v4
264
+ uses : actions/setup-python@v5
265
265
with :
266
266
python-version : ${{ env.PYTHON }}
267
267
@@ -312,11 +312,11 @@ jobs:
312
312
run : cmake --build . --config ${{ env.CONFIG }} --target ALL_BUILD --verbose -j `nproc`
313
313
314
314
315
- # Manylinux2014 Wheel builds, using the manylinux2014 container
316
- wheel-manylinux2014 :
315
+ # Manylinux Wheel builds, using the ManyLinux_2_28 container. 2014's base OS is depreacted and no longer supported on GitHub actions
316
+ wheel-manylinux_2_28 :
317
317
runs-on : ${{ matrix.cudacxx.os }}
318
318
# Run steps inside a manylinux container.
319
- container : quay.io/pypa/manylinux2014_x86_64
319
+ container : quay.io/pypa/manylinux_2_28_x86_64
320
320
strategy :
321
321
fail-fast : false
322
322
# Multiplicative build matrix
@@ -325,11 +325,11 @@ jobs:
325
325
cudacxx :
326
326
- cuda : " 12.0"
327
327
cuda_arch : " 50-real;60-real;70-real;80-real;90-real;90-virtual"
328
- hostcxx : devtoolset-10
328
+ hostcxx : gcctoolset-12
329
329
os : ubuntu-20.04
330
330
- cuda : " 11.2"
331
331
cuda_arch : " 35-real;50-real;60-real;70-real;80-real;80-virtual"
332
- hostcxx : devtoolset -9
332
+ hostcxx : gcctoolset -9
333
333
os : ubuntu-20.04
334
334
python :
335
335
- " 3.12"
@@ -346,17 +346,17 @@ jobs:
346
346
- " OFF"
347
347
348
348
# Name the job based on matrix/env options
349
- name : " wheel-manylinux2014 (${{ matrix.cudacxx.cuda }}, ${{matrix.python}}, ${{ matrix.VISUALISATION }}, ${{ matrix.config.name }}, ${{ matrix.cudacxx.os }})"
349
+ name : " wheel-manylinux_2_28 (${{ matrix.cudacxx.cuda }}, ${{matrix.python}}, ${{ matrix.VISUALISATION }}, ${{ matrix.config.name }}, ${{ matrix.cudacxx.os }})"
350
350
351
351
env :
352
352
# Control if the wheel should be repaired. This will fail until .so's are addressed
353
353
AUDITWHEEL_REPAIR : " OFF"
354
- MANYLINUX : " manylinux2014 "
354
+ MANYLINUX : " manylinux_2_28 "
355
355
ARCH : " x86_64"
356
356
# Control if static GLEW should be built and used or not.
357
357
USE_STATIC_GLEW : " ON"
358
358
# Compute the wheelhouse name which should be unique within the matrix. This must be unique per build matrix/job combination
359
- ARTIFACT_NAME : wheel-manylinux2014 -${{ matrix.cudacxx.cuda }}-${{matrix.python}}-${{ matrix.VISUALISATION }}-${{ matrix.config.name }}-${{ matrix.cudacxx.os }}
359
+ ARTIFACT_NAME : wheel-manylinux_2_28 -${{ matrix.cudacxx.cuda }}-${{matrix.python}}-${{ matrix.VISUALISATION }}-${{ matrix.config.name }}-${{ matrix.cudacxx.os }}
360
360
# Define constants
361
361
BUILD_DIR : " build"
362
362
FLAMEGPU_BUILD_TESTS : " OFF"
@@ -375,16 +375,13 @@ jobs:
375
375
ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION : true
376
376
377
377
steps :
378
- - uses : actions/checkout@v3
379
-
380
- # Downgrade the devtoolset in the image based on the build matrix, using:
381
- # gcc-10 for CUDA >= 11.2. Unclear if devtoolset-10 will upgrade to unpatched 11.3 which breaks CUDA builds that use <chrono>.
382
- # gcc-9 for CUDA >= 11.0
383
- # these are not the officially supported toolset on centos by cuda, but it's what works.
384
- - name : Install RHEL devtoolset (CentOS)
385
- if : ${{ startsWith(env.HOSTCXX, 'devtoolset-') }}
378
+ - uses : actions/checkout@v4
379
+
380
+ # Downgrade the gcc-toolset in the image based on the build matrix
381
+ - name : Install RHEL gcc-toolset (EL 8)
382
+ if : ${{ startsWith(env.HOSTCXX, 'gcc-toolset-') }}
386
383
run : |
387
- # Install devtoolset -X
384
+ # Install gcc-toolset -X
388
385
yum install -y ${{ env.HOSTCXX }}
389
386
# Enable the toolset via source not scl enable which doesn't get on with multi-step GHA
390
387
source /opt/rh/${{ env.HOSTCXX }}/enable
@@ -394,13 +391,13 @@ jobs:
394
391
echo "CXX=$(which g++)" >> $GITHUB_ENV
395
392
echo "CUDAHOSTCXX=$(which g++)" >> $GITHUB_ENV
396
393
397
- - name : Install CUDA (CentOS )
394
+ - name : Install CUDA (EL 8 )
398
395
if : ${{ env.CUDA != '' }}
399
396
env :
400
397
cuda : ${{ env.CUDA }}
401
- run : .github/scripts/install_cuda_centos .sh
398
+ run : .github/scripts/install_cuda_el8 .sh
402
399
403
- - name : Install Visualisation Dependencies (CentOS )
400
+ - name : Install Visualisation Dependencies (EL 8 )
404
401
if : ${{ env.VISUALISATION == 'ON' }}
405
402
run : |
406
403
yum install -y glew-devel fontconfig-devel SDL2-devel freetype-devel
@@ -426,11 +423,13 @@ jobs:
426
423
make
427
424
make install
428
425
426
+ - name : Add custom problem matchers for annotations
427
+ run : echo "::add-matcher::.github/problem-matchers.json"
428
+
429
429
# This patches a bug where ManyLinux doesn't generate buildnumber as git dir is owned by diff user
430
430
- name : Enable git safe-directory
431
431
run : git config --global --add safe.directory $GITHUB_WORKSPACE
432
432
433
- # Unlike other builds manylinux, uses static glew as it has been built and installed.
434
433
- name : Configure cmake
435
434
run : >
436
435
cmake . -B "${{ env.BUILD_DIR }}"
@@ -469,7 +468,7 @@ jobs:
469
468
# Use a unique name per job matrix run, to avoid a risk of corruption according to the docs (although it should work with unique filenames)
470
469
- name : Upload Wheel Artifacts
471
470
if : ${{ env.FLAMEGPU_BUILD_PYTHON == 'ON' }}
472
- uses : actions/upload-artifact@v3
471
+ uses : actions/upload-artifact@v4
473
472
with :
474
473
name : ${{ env.ARTIFACT_NAME }}
475
474
path : ${{ env.BUILD_DIR }}/lib/${{ env.CONFIG }}/python/dist/*.whl
@@ -534,7 +533,7 @@ jobs:
534
533
CUDAFLAGS : -allow-unsupported-compiler
535
534
536
535
steps :
537
- - uses : actions/checkout@v3
536
+ - uses : actions/checkout@v4
538
537
539
538
- name : Install CUDA (Windows)
540
539
if : ${{ runner.os == 'Windows' && env.CUDA != '' }}
@@ -546,7 +545,7 @@ jobs:
546
545
547
546
- name : Select Python
548
547
if : ${{ env.PYTHON != '' && env.FLAMEGPU_BUILD_PYTHON == 'ON' }}
549
- uses : actions/setup-python@v4
548
+ uses : actions/setup-python@v5
550
549
with :
551
550
python-version : ${{ env.PYTHON }}
552
551
@@ -587,7 +586,7 @@ jobs:
587
586
# Use a unique name per job matrix run, to avoid a risk of corruption according to the docs (although it should work with unique filenames)
588
587
- name : Upload Wheel Artifacts
589
588
if : ${{env.FLAMEGPU_BUILD_PYTHON == 'ON' }}
590
- uses : actions/upload-artifact@v3
589
+ uses : actions/upload-artifact@v4
591
590
with :
592
591
name : ${{ env.ARTIFACT_NAME }}
593
592
path : ${{ env.BUILD_DIR }}/lib/${{ env.CONFIG }}/python/dist/*.whl
@@ -600,17 +599,17 @@ jobs:
600
599
needs :
601
600
- build-ubuntu
602
601
- build-windows
603
- - wheel-manylinux2014
602
+ - wheel-manylinux_2_28
604
603
- wheel-windows
605
604
if : ${{ success() && startsWith(github.ref, 'refs/tags/v') && github.event_name != 'workflow_dispatch' && github.event_name != 'pull_request' }}
606
605
runs-on : ubuntu-20.04
607
606
steps :
608
- - uses : actions/checkout@v3
607
+ - uses : actions/checkout@v4
609
608
610
609
# Download python wheels from previous jobs.
611
610
- name : Download Wheel Artifacts
612
611
id : download
613
- uses : actions/download-artifact@v3
612
+ uses : actions/download-artifact@v4
614
613
with :
615
614
path : artifacts
616
615
0 commit comments