Skip to content

Update to meson 1.8.3 #23

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

Merged
merged 630 commits into from
Aug 5, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
630 commits
Select commit Hold shift + click to select a range
4fa5292
coredata: replace get_option with optstore.get_value_for
dcbaker Mar 4, 2025
251f74d
coredata: remove get_option_for_subproject
dcbaker Mar 4, 2025
c56e42c
options: merge set_value and set_option
dcbaker Mar 4, 2025
b19f670
options: inline _set_dependenents
dcbaker Mar 5, 2025
8689c94
linkers: revert a binutils bug workaround, sort of
eli-schwartz Dec 13, 2024
0be18b0
tests: support DC being more than plain dmd or ldc2
the-horo Mar 11, 2025
be842e8
modules/gnome: header argument of generate_gir accepts an array of st…
tintou Mar 12, 2025
77dd042
mesonbuild/compilers/detect.py: Support Open D ldc and dmd
the-horo Mar 11, 2025
fa3816a
Move flatten_kwargs to IntrospectionInterpreter
bruchar1 Mar 12, 2025
e65c879
Extract common func_subdir functions to InterpreterBase
bruchar1 Mar 12, 2025
7679c16
Move variables to InterpreterBase
bruchar1 Mar 12, 2025
a6af244
Move options loading to InterpreterBase
bruchar1 Mar 12, 2025
e149830
Add subTests to test_introspect_json_dump
bruchar1 Mar 13, 2025
d17df82
Move Interpreter.read_buildfile to base class
bruchar1 Mar 13, 2025
ad04f4e
hdf5: don't throw if the pkg-config doesn't support --list-all
marcin-serwin Mar 19, 2025
d8f6870
ci: stop installing python2 for the msys2 jobs, it's gone
lazka Mar 20, 2025
e5286ae
handle monorepo license files specified in project() via ../
eli-schwartz Mar 20, 2025
992ec92
man page: Running without 'setup' is deprecated
ferdnyc Mar 19, 2025
f164ec6
CI: Fix filemode tests with cygwin 3.6.0
jon-turney Mar 21, 2025
67a903b
options: Make sure the gnu99 deprecation is only printed once
amyspark Mar 21, 2025
17117c2
dependencies/dev: prepend sysroot when searching for GTest sources
rossburton Nov 20, 2024
5d5f0ce
Fix doc for `meson test --print-errorlogs` [skip ci]
kazarmy Mar 22, 2025
4c52a68
docs: Fix apt-get installation command line
hpkfft Mar 22, 2025
cfb5a48
linkers: darwin: do not use -bundle for shared_modules
bonzini Mar 7, 2025
1447fff
docs: Clarify string building with absolute paths
hpkfft Mar 26, 2025
8afce56
envconfig: fix unhandled exception when cross-file lacks required keys
XueSongTap Mar 23, 2025
19482e4
select the correct meson_command for pyinstaller builds, even on not-…
eli-schwartz Mar 26, 2025
6cc848d
rust: new target rustdoc
bonzini Dec 20, 2024
7875bc2
docs: add release notes for "ninja rustdoc"
bonzini Feb 14, 2025
dfefd83
ninjabackend: split out generation of rustc arguments
bonzini Feb 13, 2025
2c10d77
compilers: introduce get_exe() and get_exe_args()
bonzini Nov 21, 2024
b13cd10
build, interpreter: associate a doctest target to a BuildTarget
bonzini Nov 20, 2024
54118b6
ninjabackend: generate command line for rust doctests
bonzini Nov 20, 2024
7b166c0
interpreter, rust: move "args" out of BaseTest
bonzini Nov 21, 2024
d9af002
compilers: rust: fix derivation of RustdocTestCompiler
bonzini Mar 7, 2025
efcef42
rust: unit tests: do not use deprecated rust_crate_type
bonzini Dec 19, 2024
00dc6fa
rust: extract common parts of rust.test and rust.doctest
bonzini Nov 20, 2024
bf8d492
rust: add rust.doctest
bonzini Feb 13, 2025
0c8f640
rust: add link_whole to rust.test and rust.doctest
bonzini Dec 19, 2024
3111426
wayland: Mark module stable
xclaesse Apr 4, 2022
8e92f1e
environment: remove incorrect check for subproject options
bonzini Mar 26, 2025
babd423
use correct section when suggesting the placement of subproject options
bonzini Mar 26, 2025
5c3bde3
add testcase for subproject options in machine file
bonzini Apr 2, 2025
1f4bb37
modules/cmake: Make fully type safe
dcbaker Apr 1, 2025
f9c9726
unittests: use more subtests
dcbaker Mar 11, 2025
4001d02
options: move BASE_OPTIONS to the options module
dcbaker Mar 4, 2025
24d57b5
options: rename "native_file_*" arguments to "machine_file_*"
dcbaker Mar 10, 2025
631486b
options: rename OptStore.pending_project_options -> pending_options
dcbaker Mar 11, 2025
3829b6f
options: Rename BASE_OPTIONS -> COMPILER_BASE_OPTIONS
dcbaker Mar 5, 2025
7f16144
option: move the `is_per_machine_option` to the `OptionStore`
dcbaker Mar 10, 2025
d6d1daf
environment: filter machine file build options that are invalid
dcbaker Mar 10, 2025
05799ae
options: we need to skip build options for machine files as well
dcbaker Mar 10, 2025
8011649
mtest: set VALGRIND_OPTS to fail tests on errors
thesamesam Mar 25, 2025
6f426e0
mtest: refactor get_wrapper slightly
thesamesam Mar 27, 2025
604f8c0
docs: fix default for mformat sort_files option
bgilbert Mar 26, 2025
95d7fac
Docs: Cleaner admonishment styling
ferdnyc Aug 3, 2024
5d9b973
compilers/rust: fix sanity_check for Windows targets
kasper93 Mar 16, 2025
d332a12
environment: build_dir is allowed to be None in the initializer
dcbaker Aug 27, 2024
2b2d075
tests: demonstrate that our scanner cannot handle cross target modules
dcbaker Jan 2, 2024
3996272
tests: our fortran order deps are wrong if a new module is introduced
dcbaker Mar 7, 2024
aa0a2a0
backend/ninja: fortran must fully depend on all linked targets
dcbaker Jan 3, 2024
3c4417f
backend/ninja: Fortran targets need to -I transitive deps private dirs
dcbaker Mar 7, 2024
11771a8
backend/ninja: depfile generation needs a full dependency on all scan…
dcbaker Mar 11, 2024
cc815c4
backend/ninja: fix cross module dependencies
dcbaker Mar 11, 2024
ea344be
backend/ninja: use a two step process for dependency scanning
dcbaker Mar 11, 2024
60cf59b
tests/fortran: also test using a generator()
dcbaker Apr 1, 2024
23a12c3
tests/fortran: use fs.copyfile
dcbaker Apr 1, 2024
a8321c6
Docs: Set note/warning title color to black text
ferdnyc Apr 3, 2025
4ecf608
compilers: remove useless get_option_compile_args
bonzini Apr 2, 2025
47984f8
compilers: introduce get_option_std_args
bonzini Apr 2, 2025
ff0c758
compilers: move -std options to get_option_std_args, special-casing CUDA
bonzini Apr 2, 2025
a7ea0cd
add test case for cpp_std/cuda_std
bonzini Apr 3, 2025
31db63e
cmake: pass clib_compiler to resolve_cmake_trace_targets()
Akaricchi Oct 6, 2024
4a3d60e
cmake: filter and order clib_compiler languages
Akaricchi Oct 9, 2024
9b0a178
backends: extract get_fortran_order_deps()
bonzini Apr 3, 2025
a53f129
rust: add external objects to the link command line
bonzini Dec 20, 2024
8bab167
rust: add shared library testcase for "objects"
bonzini Dec 20, 2024
a02857c
templates: Fix style by adding space after if
hpkfft Mar 30, 2025
1dde326
tests/d: Limit integer debug and version statements
the-horo Apr 2, 2025
4bc6b27
cmake/interpreter: Don't add __CMake_build to includes
Lihis Mar 28, 2025
1da15c2
docs: say '--wrapper', not '--wrap' for tests
thesamesam Apr 6, 2025
4e1e876
Add C# to home page supported language list
ember91 Apr 6, 2025
78213e6
ci: opensuse: handle libSDL2-devel going away
thesamesam Apr 2, 2025
66329e6
ci: arch: workaround cmake-4 vs wxwidgets
thesamesam Apr 2, 2025
9150c2a
ci: arch: add vulkan-headers and vulkan-icd-loader
thesamesam Apr 3, 2025
23d60e9
Fix link to "Building Fancy DMG Images on Mac OS X"
hvrauhal Apr 7, 2025
00864ca
Fix documentation typos
ember91 Apr 6, 2025
390ea46
coredata: move MutableKeyedOptionDict to options
dcbaker Mar 12, 2025
90d6a3e
coredata: move update_project_options to the optstore
dcbaker Mar 12, 2025
4c1d1da
options: fix typing issues stemming from initialize_from_top_level_pr…
dcbaker Apr 2, 2025
768712c
options: fix an assertion that is incorrect
dcbaker Apr 4, 2025
9d1837e
tests: Add a rewriter test that handles prefix
dcbaker Apr 2, 2025
aa8f922
coredata: delete set_default_options
dcbaker Mar 12, 2025
237513d
modules/gnome, modules/Python: Allow injecting RPATH flags through LD…
amyspark Feb 10, 2025
f044c6e
gnome: Add a test consuming Python
amyspark Feb 11, 2025
edd746d
options: make cmd_line_options handling more similar to the rest
bonzini Apr 2, 2025
d66c6c1
options: fix incorrect comment
bonzini Apr 2, 2025
677c98b
options: go through set_option for non-:-prefixed options
bonzini Apr 2, 2025
b578f70
tests: enhance deprecated options test
ePirat Apr 1, 2025
a3c41c6
options: always look up root-project options in self.options
bonzini Apr 9, 2025
a4be4cd
tests: add test for deprecated options with project-option syntax
bonzini Apr 2, 2025
43816f6
fixes for mypy
bruchar1 Nov 12, 2024
0c94202
Move get_rsp_threshold function to mesonlib
bruchar1 Dec 19, 2024
1afdac1
New xgettext method for i18n module
bruchar1 Nov 7, 2024
f23b0e7
interpreter: Error if java sources used with non-jar target (#14424)
amcn Apr 9, 2025
a717554
Add documentation for compiler.has_define to user guide
WillAyd Apr 9, 2025
eca9d81
linkers: fix Apple ld -install_name with custom suffix
bonzini Apr 11, 2025
a2d2d31
add exe_wrapper to the wasm cross file
bonzini Mar 10, 2025
bb776a5
Fix two shared objects in archive for AIX.
KamathForAIX Apr 14, 2025
028abfe
minstall: Don't treat symlinks to directories as directories in do_co…
DaanDeMeyer Apr 11, 2025
cdf4b39
Condense directory names for 1.8 rc1.
jpakkane Apr 14, 2025
59d3c42
Fix version requirement.
jpakkane Apr 14, 2025
48fc3ec
environment: handle all iOS variants as xnu
bonzini Apr 15, 2025
cece1a7
linkers: pass system to DynamicLinker.__init__ for Darwin linkers
bonzini Apr 15, 2025
7a43b6e
linkers: apple: fix shared module args
bonzini Apr 15, 2025
ce7e187
compilers/rust: remove CRT selection from native_static_libs args
kasper93 Mar 16, 2025
e574889
ninjabackend: ensure that native static libraries use Unix-style naming
kasper93 Mar 16, 2025
80f26fe
setup.py: crudely label wheels using setuptools_scm if building from git
eli-schwartz Apr 16, 2025
db89387
build nightly wheels whenever a PR is merged
eli-schwartz Apr 16, 2025
84b7870
Bump version number for rc1.
jpakkane Apr 14, 2025
944456b
linkers: fix regression when using lld after iOS changes
eli-schwartz Apr 16, 2025
02792fa
nightly wheels: fix glob to match across directory separator
eli-schwartz Apr 17, 2025
da28caa
build/executable: Respect name_prefix
sp1ritCS Apr 16, 2025
855cf19
android: Added android_exe_type kwargs to executable
sp1ritCS Apr 16, 2025
b9db06b
fix prefix computation in validate_original_args
bonzini Apr 17, 2025
9589549
Make run_mypy.py work in mypy_primer
hauntsaninja Apr 18, 2025
7889cac
Log non-fatally if CMake doesn't find a package
bgilbert Apr 19, 2025
1e59db3
move "since 1.8.0" for rust.doctest to the right place
bonzini Apr 9, 2025
d9cb883
fix typo
bonzini Apr 9, 2025
514fc7b
add wayland stabilisation to release notes
bonzini Apr 9, 2025
76323ad
document -Dswift_std in release notes
bonzini Apr 9, 2025
83c4d8f
document improvements to Objective-C and Objective-C++
bonzini Apr 9, 2025
0f5307a
document c_std=c2y in release notes
bonzini Apr 9, 2025
86ad009
man: document "meson setup -D"
bonzini Apr 9, 2025
872f1a2
document android_exe_type in release notes
bonzini Apr 19, 2025
cf2cda0
docs: users: list is for notable meson adoptees
thesamesam Apr 22, 2025
7e5ac33
determine_windows_extra_paths: sort internal dependencies first
lb90 Feb 14, 2024
b4266ee
interpreter: Remove accidental annotations changes for func_get_option
dcbaker Apr 21, 2025
84a2bc4
interpreter: remove dead code from func_get_option
dcbaker Apr 21, 2025
2e8a804
interpreter: fix interaction between option refactor and b_sanitize
dcbaker Apr 21, 2025
66420a4
options: use early return
bonzini Apr 19, 2025
705a63f
options: strengthen typing for add_system_option_internal
bonzini Apr 23, 2025
8fe6edf
options: subproject system options require the global ones
bonzini Apr 19, 2025
b324a08
coredata: remove unnecessary use of env.options
bonzini Apr 19, 2025
05fc298
add testcase for propagating options to subprojects
bonzini Apr 19, 2025
475bfba
ci: bump Ubuntu version for UnusedMissingReturn jobs
bonzini Apr 19, 2025
fc9fd42
interpreter: do not use pathlib for DependencyVariableString creation
bonzini Mar 7, 2025
17fafda
Bump version number for rc2.
jpakkane Apr 24, 2025
39be44f
Bump version number for release.
jpakkane Apr 28, 2025
0c8216f
options: fix "deprecated" with dictionary argument and non-string types
bonzini May 7, 2025
21302a5
unittests: fix overly loose regex in tests for `--slice=` option
pks-t Apr 29, 2025
cb8da2d
options: tighten type of cmd_line_options
bonzini Apr 29, 2025
5a3f188
options: extract validation of command line options
bonzini Apr 29, 2025
4e9fac1
interpreter: add backend options before validating the command line o…
bonzini Apr 29, 2025
ea45ee0
unittests: smoke test the backend options
bonzini Apr 29, 2025
93ec537
cmake: include_directories() returns an array
bonzini May 2, 2025
fc3509d
test casees: add test for cmake_proj.include_directories
bonzini May 5, 2025
43c86bb
more explicit error message for unrecognized lexer token
bruchar1 May 1, 2025
1356bd9
parser: update position when reporting lexer errors for unrecognized …
eli-schwartz May 1, 2025
7cf7257
dependencies/python: Replace non-breakable space with space
dnicolodi Apr 30, 2025
081dbd0
dependencies/python: Fix Framework Python when pkg-config is installed
dnicolodi Apr 30, 2025
de70eb2
options: set subproject options as augments
bonzini May 2, 2025
4bd7d63
options: allow setting subproject options in subproject() call
bonzini May 3, 2025
93e83b3
options: fix types for initialize_from_subproject_call
bonzini May 2, 2025
3abb3ca
interpreter: convert subproject default options to dictionary
bonzini May 2, 2025
e56dc17
interpreter: allow passing default default_options to do_subproject
bonzini May 2, 2025
474ddd7
test cases: cover passing default_options together with static: true
bonzini May 3, 2025
ccec3b3
test cases: add testcase for setting options from superproject
bonzini May 3, 2025
7147237
compilers/rust: fix syntax of has_argument checks
applemayexist May 11, 2025
451dc96
cpp: Fix cpp_std=vc++14
peterh May 12, 2025
65977c9
cross: add rustdoc to ubuntu-armhf toolchain
bonzini May 12, 2025
6b3ecc6
rust: skip doctests when build machine cannot run host binaries
bonzini May 12, 2025
8d3abc7
Skip gettext extractor on macos because it is unstable
bruchar1 May 9, 2025
605355b
environment: split list of important environment variables to a constant
bonzini May 7, 2025
83e172d
environment: move a comment around
bonzini May 7, 2025
f2c0bdc
options: restore special behavior of CFLAGS vs. c_args
bonzini May 6, 2025
c3ae329
unittests: add test for CFLAGS in linker command line
bonzini May 7, 2025
c150eb6
mconf: remove dead function
bonzini May 9, 2025
93a900b
mconf: extract option processing to CoreData.set_from_configure_command
bonzini May 9, 2025
4b3185f
msetup: update coredata if options are passed together with --reconfi…
bonzini May 9, 2025
91bea51
add test case for setting options from reconfigure
bonzini May 9, 2025
a832cb5
options: "custom" buildtype does not trigger changes in debug or opti…
bonzini May 14, 2025
faabf0a
unittests: add minimal coverage of --buildtype=custom
bonzini May 14, 2025
1ee05a6
options: remove unnecessary Union[OptionKey, str]
bonzini May 19, 2025
ac06686
options: commonize code to accept unknown options
bonzini May 19, 2025
f372a56
options: accept compiler and built-in options in --reconfigure and "m…
bonzini May 19, 2025
697dbd0
options: accept build options in --reconfigure or "meson configure"
bonzini May 19, 2025
e6e8a5e
gnome: fix typo in creating gir flags
bonzini May 23, 2025
860033f
gnome: initialize CFLAGS environment variable to linker arguments
bonzini May 23, 2025
15d3bdb
ci: do not update pip on macos
bonzini May 23, 2025
f5aa3c7
options: process project options before machine options
bonzini May 15, 2025
fe87af6
cmake: Fix toolchain including unsupported languages
amyspark May 18, 2025
bf17c66
Bump versions to 1.8.1 for release
eli-schwartz May 23, 2025
9062126
Unbreak "Fix setuptools 49 test. (fixes #7452)"
eli-schwartz May 25, 2025
8b2e8dd
vs2010backend: Escape linker arguments
peterh May 15, 2025
dcf41df
vs2010backend: fix EmbedManifest state when /MANIFEST:EMBED is used
peterh May 12, 2025
30834d8
cargo: set edition for build machine as well
bonzini May 29, 2025
2449399
Vala: Fix GResource source directories
jameswestman May 27, 2025
57f55b1
Vala: Add test for generated UI in subdirectories
jameswestman May 27, 2025
0961b3c
cmake: Fix target_link_libraries against project targets
amyspark May 13, 2025
00245a5
ninjabackend: clear allow_thin_archives[] at generate() time
bonzini Jun 2, 2025
bba726b
vsbackend: detect toolset and SDK version at generate() time
bonzini Jun 2, 2025
83d1607
unittests: use subtests to break up test_compiler_detection
dcbaker May 29, 2025
d719bc5
unittests: add asserts to test_compiler_detection
dcbaker May 29, 2025
1c7b6b5
unittests: Handle missing compiler support in test_compiler_detection
dcbaker May 29, 2025
12103c5
build: fix tasking compiler b_lto support after option refactor
dcbaker May 19, 2025
522fd0c
backend: fix tasking compiler support after option refactor
gerioldman May 20, 2025
c2ccd4b
build: Fix tasking compiler b_lto detection for overrides
dcbaker May 19, 2025
0383356
vala: Pass --shared-library to valac when generating a .gir file
tintou May 6, 2025
c7ebee5
Fix Flang stdlib linking for LLVM toolchain versions >= 19
Mugundanmcw Jun 6, 2025
d0e29f5
CI: always install llvm for MSYS2
lazka May 19, 2025
ba54a3e
tests: don't skip frameworks/17 mpi for auto/pkgconfig
thesamesam May 22, 2025
5a82ea0
Bump versions to 1.8.2 for release
eli-schwartz Jun 9, 2025
7edd739
cpp: fix _LIBCPP_ENABLE_ASSERTIONS warning
mortie May 2, 2025
b13b2be
Add project to check that test target's args and depends are in path
lb90 May 27, 2025
0edf3ac
Test serialization: set LD_LIBRARY_PATH also on Darwin
lb90 Apr 1, 2025
27075bb
Test serialization: Also look for depends when setting PATH on Windows
lb90 May 28, 2025
c9e10ab
Test serialization: Simplify determination of Windows extra paths
lb90 May 29, 2025
bf8038d
Update Windows version in CI.
jpakkane Jun 17, 2025
418af9e
Remove coverage measurement.
jpakkane Jun 17, 2025
a1b4084
compilers: pgi: fix preprocessing arguments
bonzini Jun 11, 2025
425f473
options: do not store duplicate UserOptions
bonzini Jun 18, 2025
9befcec
mconf: print global compiler options
bonzini Jun 18, 2025
203abf6
mconf: print sections lazily
bonzini Jun 18, 2025
73bdfe6
mconf: print overrides specific to the main project
bonzini Jun 18, 2025
2e5d1b4
Correct get_option_std_args for IntelClCCompiler
michaeljsteel Jul 4, 2025
0d07601
Add -F compiler flag for included MacOS frameworks
mattbsage Jun 19, 2025
b293ca7
options: ignore c(pp)_link_args when deciding whether to apply C(XX)F…
bonzini Jul 9, 2025
524e547
options: apply CFLAGS even if c_link_args exists
bonzini Jul 9, 2025
8c97348
unittests: add test for c_link_args and CFLAGS interaction
bonzini Jul 9, 2025
d9b9885
qt dependency: Don't insert backslashes into cflags on windows
nirbheek Jul 3, 2025
c0dade7
interpreter: allow retrieving build options with get_option()
bonzini May 26, 2025
4fe5593
unittests: add test case for setting and retrieving build options
bonzini Jul 12, 2025
11ed299
mconf: print build option names including "build."
bonzini Jul 12, 2025
38162e7
environment: allow setting build options with "build." prefix
bonzini Jul 12, 2025
4443094
environment: really remove assertion
bonzini Jul 14, 2025
2ad03a0
coredata: actually use the correct machine for the dependency cache key
dcbaker Jul 16, 2025
4a622cf
coredata: remove use of `stringlistify` to do a cast
dcbaker Jul 16, 2025
19d9947
wrap: Don't use old patch.exe from Strawberry Perl
nirbheek Jul 13, 2025
29fc4b0
c: add more exceptions to -Wno-*
helehto Jul 27, 2025
77eaf12
scalapack: Fix exception when MKLROOT is unset
mgorny Jul 10, 2025
90c1a71
hdf5: Skip failing Fortran config-tool test when h5fc is broken
mgorny Jul 11, 2025
f02eeb3
Replace deprecated setup.py install command
bruchar1 May 7, 2025
8f66a59
gnome.mkenums: Use rspfiles on Windows when possible
amyspark Mar 21, 2025
2ddec9e
gnome.mkenums: Allow passthrough of ExternalPrograms to enable conver…
amyspark Mar 22, 2025
6b5a2f6
gnome.generate_gir: Use rspfiles on Windows when possible
amyspark Jun 5, 2025
872ae45
Bump versions to 1.8.3 for release
eli-schwartz Jul 30, 2025
1bb5984
Merge tag '1.8.3' into main-numpymeson
mattip Jul 31, 2025
cb85ff2
fix long-standing linting problems
mattip Jul 31, 2025
99d408f
update syntax for MKL get_option()
mattip Aug 1, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 2 additions & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
github: [eli-schwartz]
custom: ['https://mesonbuild.com/Donating.html']
11 changes: 0 additions & 11 deletions .github/codecov.yml

This file was deleted.

5 changes: 0 additions & 5 deletions .github/codeql/codeql-config.yml

This file was deleted.

4 changes: 0 additions & 4 deletions .github/codeql/lgtm.qls

This file was deleted.

32 changes: 0 additions & 32 deletions .github/workflows/codeql-analysis.yml

This file was deleted.

24 changes: 7 additions & 17 deletions .github/workflows/cygwin.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,10 @@ jobs:
MESON_CI_JOBNAME: cygwin-${{ matrix.NAME }}

steps:
# remove inheritable permissions since they break assumptions testsuite
# makes about file modes
- run: icacls . /inheritance:r /T /C

- uses: actions/cache/restore@v4
id: restore-cache
with:
Expand All @@ -53,7 +57,7 @@ jobs:

- uses: actions/checkout@v4

- uses: cygwin/cygwin-install-action@master
- uses: cygwin/cygwin-install-action@v5
with:
platform: ${{ matrix.ARCH }}
packages: |
Expand Down Expand Up @@ -83,7 +87,7 @@ jobs:
- name: Run pip
run: |
export PATH=/usr/bin:/usr/local/bin:$(cygpath ${SYSTEMROOT})/system32
python3 -m pip --disable-pip-version-check install gcovr fastjsonschema pefile pytest pytest-subtests pytest-xdist coverage
python3 -m pip --disable-pip-version-check install gcovr fastjsonschema pefile pytest pytest-subtests pytest-xdist
shell: C:\cygwin\bin\bash.exe --noprofile --norc -o igncr -eo pipefail '{0}'

- uses: actions/cache/save@v4
Expand All @@ -95,7 +99,7 @@ jobs:
- name: Run tests
run: |
export PATH=/usr/bin:/usr/local/bin:$(cygpath ${SYSTEMROOT})/system32
python3 ./tools/run_with_cov.py run_tests.py --backend=ninja
python3 ./run_tests.py --backend=ninja
env:
# Cygwin's static boost installation is broken (some static library
# variants such as boost_thread are not present)
Expand All @@ -108,17 +112,3 @@ jobs:
path: meson-test-run.*
# test log should be saved on failure
if: ${{ !cancelled() }}

- name: Aggregate coverage reports
run: |
export PATH=/usr/bin:/usr/local/bin:$(cygpath ${SYSTEMROOT})/system32
./ci/combine_cov.sh
shell: C:\cygwin\bin\bash.exe --noprofile --norc -o igncr -eo pipefail '{0}'

- name: Upload coverage report
uses: codecov/codecov-action@v3
with:
files: .coverage/coverage.xml
name: "${{ matrix.NAME }}"
fail_ci_if_error: false
verbose: true
2 changes: 1 addition & 1 deletion .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ jobs:
with:
python-version: '3.x'
# Pin mypy to version 1.8, so we retain the ability to lint for Python 3.7
- run: python -m pip install "mypy==1.8" coverage strictyaml types-PyYAML types-tqdm types-chevron
- run: python -m pip install "mypy==1.8" strictyaml types-PyYAML types-tqdm types-chevron
- run: python run_mypy.py --allver
env:
PYTHONUNBUFFERED: 1
Expand Down
46 changes: 11 additions & 35 deletions .github/workflows/macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,12 +32,10 @@ jobs:
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.x'
- run: |
python -m pip install --upgrade pip
python -m pip install pytest pytest-xdist pytest-subtests fastjsonschema coverage
export PATH="$HOME/Library/Python/3.9/bin:$PATH"
/usr/bin/python3 -m pip install --upgrade pip
/usr/bin/python3 -m pip install pytest pytest-xdist pytest-subtests fastjsonschema
- run: brew install pkg-config ninja llvm qt@5
- env:
CPPFLAGS: "-I/opt/homebrew/include"
Expand All @@ -48,20 +46,9 @@ jobs:
# These cannot evaluate anything, so we cannot set PATH or SDKROOT here
run: |
export SDKROOT="$(xcodebuild -version -sdk macosx Path)"
export PATH="$HOME/tools:/opt/homebrew/opt/qt@5/bin:/opt/homebrew/opt/llvm/bin:$PATH"
export PKG_CONFIG_PATH="/opt/homebrew/opt/qt@5/lib/pkgconfig:$PKG_CONFIG_PATH"
./tools/run_with_cov.py ./run_unittests.py

- name: Aggregate coverage reports
run: ./ci/combine_cov.sh

- name: Upload coverage report
uses: codecov/codecov-action@v3
with:
files: .coverage/coverage.xml
name: "appleclang [unit tests]"
fail_ci_if_error: false
verbose: true
export PATH="$HOME/Library/Python/3.9/bin:$HOME/tools:/opt/homebrew/opt/qt@5/bin:/opt/homebrew/opt/llvm/bin:$PATH"
export PKG_CONFIG_PATH="/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/Current/lib/pkgconfig:/opt/homebrew/opt/qt@5/lib/pkgconfig:$PKG_CONFIG_PATH"
/usr/bin/python3 ./run_unittests.py


project-tests-appleclang:
Expand Down Expand Up @@ -98,9 +85,7 @@ jobs:
# https://github.com/actions/setup-python/issues/58
- run: brew install pkg-config ninja llvm qt@5 boost ldc hdf5 openmpi lapack scalapack sdl2 boost-python3 gtk-doc zstd ncurses objfw libomp
- run: |
python3 -m pip install --upgrade setuptools
python3 -m pip install --upgrade pip
python3 -m pip install cython coverage
python3 -m pip install cython
- env:
CPPFLAGS: "-I/opt/homebrew/include"
LDFLAGS: "-L/opt/homebrew/lib"
Expand All @@ -110,20 +95,11 @@ jobs:
# These cannot evaluate anything, so we cannot set PATH or SDKROOT here
run: |
export SDKROOT="$(xcodebuild -version -sdk macosx Path)"
export PATH="$HOME/tools:/opt/homebrew/opt/qt@5/bin:/opt/homebrew/opt/llvm/bin:/opt/homebrew/opt/ncurses/bin:$PATH"
# Append LLVM's bin directory to PATH to prioritise Apple Clang over Homebrew Clang.
# We need this to avoid objfw test failures.
export PATH="$HOME/tools:/opt/homebrew/opt/qt@5/bin:/opt/homebrew/opt/ncurses/bin:$PATH:/opt/homebrew/opt/llvm/bin"
export PKG_CONFIG_PATH="/opt/homebrew/opt/qt@5/lib/pkgconfig:/opt/homebrew/opt/lapack/lib/pkgconfig:/opt/homebrew/opt/ncurses/lib/pkgconfig:$PKG_CONFIG_PATH"
./tools/run_with_cov.py ./run_project_tests.py --backend=ninja

- name: Aggregate coverage reports
run: ./ci/combine_cov.sh

- name: Upload coverage report
uses: codecov/codecov-action@v3
with:
files: .coverage/coverage.xml
name: "appleclang [project tests; unity=${{ matrix.unity }}]"
fail_ci_if_error: false
verbose: true
./run_project_tests.py --backend=ninja

Qt4macos:
# This job only works on Intel Macs, because OpenSSL 1.0 doesn't build on
Expand Down
19 changes: 4 additions & 15 deletions .github/workflows/msys2.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ permissions:

jobs:
test:
runs-on: windows-2019
runs-on: windows-2022
name: ${{ matrix.NAME }}
strategy:
fail-fast: false
Expand Down Expand Up @@ -79,18 +79,18 @@ jobs:
mingw-w64-${{ matrix.MSYS2_ARCH }}-libxml2
mingw-w64-${{ matrix.MSYS2_ARCH }}-ninja
mingw-w64-${{ matrix.MSYS2_ARCH }}-pkg-config
mingw-w64-${{ matrix.MSYS2_ARCH }}-python2
mingw-w64-${{ matrix.MSYS2_ARCH }}-python
mingw-w64-${{ matrix.MSYS2_ARCH }}-python-lxml
mingw-w64-${{ matrix.MSYS2_ARCH }}-python-setuptools
mingw-w64-${{ matrix.MSYS2_ARCH }}-python-pip
mingw-w64-${{ matrix.MSYS2_ARCH }}-python-fastjsonschema
mingw-w64-${{ matrix.MSYS2_ARCH }}-objfw
mingw-w64-${{ matrix.MSYS2_ARCH }}-llvm
mingw-w64-${{ matrix.MSYS2_ARCH }}-${{ matrix.TOOLCHAIN }}

- name: Install dependencies
run: |
python3 -m pip --disable-pip-version-check install gcovr pefile pytest pytest-subtests pytest-xdist coverage
python3 -m pip --disable-pip-version-check install gcovr pefile pytest pytest-subtests pytest-xdist

- name: Install pypy3 on x86_64
run: |
Expand Down Expand Up @@ -125,20 +125,9 @@ jobs:
pacman --noconfirm --needed -S mingw-w64-${{ matrix.MSYS2_ARCH }}-${{ matrix.MSYS2_CURSES }}
fi

MSYSTEM= python3 ./tools/run_with_cov.py run_tests.py --backend=ninja
MSYSTEM= python3 ./run_tests.py --backend=ninja

- uses: actions/upload-artifact@v4
with:
name: ${{ matrix.NAME }}
path: meson-test-run.*

- name: Aggregate coverage reports
run: ./ci/combine_cov.sh

- name: Upload coverage report
uses: codecov/codecov-action@v3
with:
files: .coverage/coverage.xml
name: "${{ matrix.NAME }}"
fail_ci_if_error: false
verbose: true
32 changes: 32 additions & 0 deletions .github/workflows/nightly.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: Nightly Wheels

concurrency:
group: wheels
cancel-in-progress: true

on:
push:
branches:
- master
paths:
- "mesonbuild/**"

permissions:
contents: read

jobs:
wheel:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Build wheel
run: |
python -m pip install build setuptools_scm
python -m build -nwx
- name: Upload wheel
uses: scientific-python/upload-nightly-action@main
with:
artifacts_path: dist
anaconda_nightly_upload_token: ${{secrets.ANACONDA_ORG_UPLOAD_TOKEN}}
14 changes: 1 addition & 13 deletions .github/workflows/nonnative.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,18 +36,6 @@ jobs:
- run: |
apt-get -y purge clang gcc gdc
apt-get -y autoremove
python3 -m pip install coverage
- uses: actions/checkout@v4
- name: Run tests
run: bash -c 'source /ci/env_vars.sh; cd $GITHUB_WORKSPACE; ./tools/run_with_cov.py ./run_tests.py $CI_ARGS --cross ubuntu-armhf.json --cross-only'

- name: Aggregate coverage reports
run: ./ci/combine_cov.sh

- name: Upload coverage report
uses: codecov/codecov-action@v3
with:
files: .coverage/coverage.xml
name: "Ubuntu nonnative"
fail_ci_if_error: false
verbose: true
run: bash -c 'source /ci/env_vars.sh; cd $GITHUB_WORKSPACE; ./run_tests.py $CI_ARGS --cross ubuntu-armhf.json --cross-only'
32 changes: 2 additions & 30 deletions .github/workflows/os_comp.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,12 +26,6 @@ on:
- ".github/workflows/os_comp.yml"
- "run*tests.py"

# make GHA actions use node16 which still works with bionic
# See https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
# Unclear how long this will work though
env:
ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true

permissions:
contents: read

Expand Down Expand Up @@ -78,18 +72,7 @@ jobs:

source /ci/env_vars.sh
cd $GITHUB_WORKSPACE
./tools/run_with_cov.py ./run_tests.py $CI_ARGS

- name: Aggregate coverage reports
run: ./ci/combine_cov.sh

- name: Upload coverage report
uses: codecov/codecov-action@v3
with:
files: .coverage/coverage.xml
name: "OS Comp [${{ matrix.cfg.name }}]"
fail_ci_if_error: false
verbose: true
./run_tests.py $CI_ARGS

pypy:
name: 'Arch / PyPy'
Expand Down Expand Up @@ -178,15 +161,4 @@ jobs:
update-alternatives --set i686-w64-mingw32-gcc /usr/bin/i686-w64-mingw32-gcc-posix
update-alternatives --set i686-w64-mingw32-g++ /usr/bin/i686-w64-mingw32-g++-posix

./tools/run_with_cov.py ./run_tests.py $RUN_TESTS_ARGS -- $MESON_ARGS

- name: Aggregate coverage reports
run: ./ci/combine_cov.sh

- name: Upload coverage report
uses: codecov/codecov-action@v3
with:
files: .coverage/coverage.xml
name: "Ubuntu [${{ matrix.cfg.CC }} ${{ matrix.cfg.RUN_TESTS_ARGS }} ${{ matrix.cfg.MESON_ARGS }}]"
fail_ci_if_error: false
verbose: true
./run_tests.py $RUN_TESTS_ARGS -- $MESON_ARGS
Loading
Loading