FLAMEGPU / FLAMEGPU2

FLAME GPU 2 is a GPU accelerated agent based modelling framework for CUDA C++ and Python
https://flamegpu.com
MIT License
105 stars 20 forks source link

CI: Manylinux2014 -> Manylinux_2_28 and update deprecated actions #1228

Open ptheywood opened 1 month ago

ptheywood commented 1 month ago

Node 16 Github actions are deprecated, but node 20 actions are incompatible with Manylinux_2014/CentOS7.

Produced wheels are still not technically Manylinux compliant due to linkage against non-packaged .so files (see #647)

This will reduce wheel compatibility, by increasing the required glibc to 2.28 or newer.

Closes #1190 Closes #1224

Replaces #1200 and #1194 as they must be coupled.

Todo

The use of download_artifact will not have been tested by CI, as it is only used if a version tag is created. We might want to do a dry run on a fork.

ptheywood commented 1 month ago

Wheels generated by the Manylinux_2_28 wheel seem to be missing some wrapped methods. Will need to investiagate when a bit more when on a machine with a GPU.

AttributeError: 'MessageSpatial3D_Description' object has no attribute 'newVariableID'. Did you mean: 'newVariableInt'?
ptheywood commented 4 weeks ago

Wheels generated by the Manylinux_2_28 wheel seem to be missing some wrapped methods. Will need to investiagate when a bit more when on a machine with a GPU.

AttributeError: 'MessageSpatial3D_Description' object has no attribute 'newVariableID'. Did you mean: 'newVariableInt'?

This will be due to swig 4.2.1 being included in the manylinux_2_28 containers. Could downgrade (and block swig 4.2?), but it would be better to fix the root cause (i.e. make pyflamegpu swig 4.2 compatible).

See https://github.com/FLAMEGPU/FLAMEGPU2/issues/956