CI: fixes, reorganisation
Description
Fixes
-
platform:conda:macos-*
(#754 (closed)):- Jobs were compiling with
CFLAGS="-O3"
which is known to be buggy with Clang (!2121 (merged)).- Now all macOS jobs (i.e. anything which extends
.macos-job
) are compiled withCFLAGS="-O2"
- Now all macOS jobs (i.e. anything which extends
-
lalsimulation/test/python/test_IMRPhenom{XAS|XP}_NRTidalv3.py
test was failing with too-stringent tolerance on numerical comparison- Use NumPy's
assert_allclose()
with a relative tolerance of 0.002
- Use NumPy's
- Jobs were compiling with
-
gcc:12
,gcc:13
,gcc:14
:- GCC now warns on functions mixing
int
s andenum
s between their prototypes and definitions (e.g. usingenum
for an argument in the prototype, but then using anint
for the same argument in the definition; or vice versa)- Fixed
-
igwn/lalsuite-dev-gcc:12
andigwn/lalsuite-dev-gcc:13
images are missing Pythonh5py
package- Images need updating
-
igwn/lalsuite-dev-gcc:14
image is missing Pythonglue.pipeline
package- Image needs updating
- GCC now warns on functions mixing
- Drop support for GCC 7
- Per #732 (closed)
- Drop support for ICC
- Been broken since !2074 (merged)
- No Debian bookworm image
- Was only ever best effort
- Unlikely to ever be fixed without a maintainer
Reorganisation
Per #529 (closed), move almost everything from .gitlab-ci.yml
into sub-files within .gitlab/ci/
:
$ wc -l .gitlab-ci.yml .gitlab/ci/*.yml
249 .gitlab-ci.yml
126 .gitlab/ci/compilers.yml
285 .gitlab/ci/conda.yml
135 .gitlab/ci/containers.yml
94 .gitlab/ci/coverage.yml
184 .gitlab/ci/deb.yml
57 .gitlab/ci/docs.yml
130 .gitlab/ci/integration.yml
338 .gitlab/ci/lint.yml
164 .gitlab/ci/pkg.yml
75 .gitlab/ci/platform.yml
202 .gitlab/ci/rpm.yml
140 .gitlab/ci/rules.yml
106 .gitlab/ci/tarballs.yml
122 .gitlab/ci/upgrade.yml
263 .gitlab/ci/wheels.yml
2670 total
Now .gitlab-ci.yml
just contains setup/settings and basic/common template/fragments:
# -- setup --------------------------------------
stages: ...
include: ...
# -- global settings ----------------------------
cache: ...
variables: ...
default: ...
# -- helper fragments ----------------------------------
.retry: ...
.build-init: ...
# -- base templates ----------------------------------
.build-job: ...
.macos-job: ...
.macos-x86_64: ...
.macos-arm64: ...
.deploy: ...
# -- CI job templates ----------------------------------
.make-distcheck: ...
API Changes and Justification
Backwards Compatible Changes
-
This change does not modify any class/function/struct/type definitions in a public C header file or any Python class/function definitions -
This change adds new classes/functions/structs/types to a public C header file or Python module
While fixing the GCC int
/enum
warnings involves modifying functions definitions, a change of type int <--> enum
should be backward-compatible, since C will usually convert one from another, and at the ABI level an enum
should usually be an int
.
Backwards Incompatible Changes
-
This change modifies an existing class/function/struct/type definition in a public C header file or Python module -
This change removes an existing class/function/struct/type from a public C header file or Python module
Review Status
n/a