Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
305 commits
Select commit Hold shift + click to select a range
86d1426
cmake: extend library pattern to work on GNU/Hurd as well
pinotree Jul 20, 2024
e9037e7
mdist: don't fail on readonly source trees
eli-schwartz Jul 22, 2024
fa70974
Remove reference to GPL in test files
bruchar1 Jul 22, 2024
a97de6b
Ensure override var exists. Closes #13402.
jpakkane Jul 22, 2024
93f5ceb
depfixer: deduplicate rpaths on darwin
holymonson Jul 14, 2024
f76f9dd
depfixer: Add missing annotation that breaks mypy check
dcbaker Jul 23, 2024
0c93149
CI: skip LTO tests on cygwin
eli-schwartz Jul 23, 2024
7bd00a3
CI: arch: fix failing to detect any glib ecosystem tools
eli-schwartz Jun 24, 2024
4205c1e
CI: gentoo: avoid bloating up the image with cache data
eli-schwartz Feb 16, 2024
f009ccb
CI: arch: do not package up source files for stepping through code wi…
eli-schwartz Jul 24, 2024
4842b8b
backend/ninja: fix off-by-one in cmd length estimate
dcbaker Jul 25, 2024
a544c75
backend/ninja: use 32k byte limit for command lines on !Windows
dcbaker Jul 25, 2024
8a202de
wrap: Use OSError instead of URLError for exception handling
nirbheek Jul 25, 2024
8d2a41c
backends/ninja: Add annotation for NinjaBuildElement.rule
dcbaker Jul 24, 2024
065288e
backends/ninja: fix annotation of NinjaBuildElement.add_item
dcbaker Jul 24, 2024
9d6191c
backends/base: fix annotation for as_meson_exe_cmdline
dcbaker Jul 24, 2024
dcefe67
backends/ninja: Add annotation for generate_coverage_commands
dcbaker Jul 24, 2024
6258f0d
coverage: improve llvm-cov detection
Jannik2099 Jul 21, 2024
541fee0
mtest: remove superfluous '\r' from read_decode()
the-risk-taker Jul 15, 2024
1e26a88
add initial support for llvm-flang
h-vetinari Jun 14, 2024
cc03322
ci: Update to checkout@v4 to squelch node warnings
nirbheek Jul 26, 2024
b7e94d2
ci: Update codeql-analysis action to fix deprecations
nirbheek Jul 26, 2024
d077c2f
ci: update actions/cache to v4 to fix deprecations
nirbheek Jul 26, 2024
fb108e6
ci: Update actions/setup-python to v5 to fix deprecations
nirbheek Jul 26, 2024
2daf5f7
ci: Update actions/upload-artifact to v4 to fix deprecations
nirbheek Jul 26, 2024
433c13c
various low-hanging typing fruit
eli-schwartz Jul 29, 2024
f2de6df
mypy: fix broken logic checks that used "if func"
eli-schwartz Dec 25, 2023
ec0da1d
mypy: reduce layers of indirection to ensure narrower type inference
eli-schwartz Jul 30, 2024
823779a
mypy: add annotation for object attribute used as a private cache via…
eli-schwartz Jul 30, 2024
574fbe7
backends: start disentangling some hairy global annotations
eli-schwartz Jul 30, 2024
4a352dd
flake8: move unused typing-only imports to TYPE_CHECKING
eli-schwartz Jun 5, 2024
a59231f
compilers: simplify CompileResult / RunResult by using dataclasses
eli-schwartz Feb 12, 2024
28ab1ce
compilers: straighten out CompileResult according to how it is actual…
eli-schwartz Feb 12, 2024
077d540
unittests: fix EncodingWarnings. minus 123 warnings collected by pytest
eli-schwartz Jul 28, 2024
a05b790
mdist: correctly detect dirty hg repos with non-English locale
eli-schwartz Jul 29, 2024
03a8f35
tests: nasm: make it easier to debug generator() style build
eli-schwartz Jul 30, 2024
a51be6b
backend/ninja: stop adding random attributes to BuildTargets
dcbaker Jul 30, 2024
bdc2f27
Fix some small typing issues in interpreter.py
nirbheek Jul 29, 2024
fa4f233
mformat: fix formatting of empty build file
bruchar1 Aug 1, 2024
fdf8605
CI: Adjust path filters to run tests on Cygwin when unittests change
jon-turney Jul 29, 2024
97fc2a1
CI: Install make on Cygwin
jon-turney Jul 29, 2024
2f49804
Revert "CI: skip LTO tests on cygwin"
jon-turney Jul 28, 2024
3587786
minstall: update symlink install message presentation
jdknight Aug 4, 2024
b875c75
Merge pull request #13506 from jon-turney/cygwin-lto-fix
jpakkane Aug 4, 2024
839fef4
docs: document prefer_static effect on dependency()
sertonix Jul 30, 2024
fec6cf6
docs: fix example for feature.require
ePirat Aug 5, 2024
8882d8b
Add Zig to ubuntu-rolling image
andy5995 Mar 10, 2024
21eda4d
CI: mark arch as skipping frameworks/libgcrypt
eli-schwartz Jul 25, 2024
02e4138
Revert "minstall: update symlink install message presentation"
eli-schwartz Aug 6, 2024
0579c42
dependencies/dub: Correctly handle dub >= 1.35 as well as older dub
rtbo May 18, 2023
5035726
modules/dlang: Use the DubDependency.class_dubbin correctly
rtbo May 18, 2023
2917646
reactivate dub tests
rtbo May 18, 2023
a5211a1
ci: fix dub tests on Windows
thesamesam Aug 6, 2024
3702b4b
compilers: change get_argument_syntax to static method
kasper93 May 13, 2024
43b80e0
linkers: Fix RSP syntax for linkers invoked with clang
kasper93 Apr 21, 2023
81b151f
Fix compiling ObjC/ObjC++ on Windows/MinGW
Midar Aug 4, 2024
8ef4e34
linkers: fix LLD linker response file handling
benoit-pierre Sep 10, 2023
db22551
docs: fix a few grammar and formatting issues
ldv-alt Aug 12, 2024
85e9233
compilers: do not strip '-isystem' from C build arguments
eternalNight Aug 15, 2024
67b238d
unittests: fix git dist test on Windows with Python < 3.8
dcbaker Jul 17, 2024
5d32265
unittests: use os.environ.get for MESON_UNIT_TEST_BACKEND
dcbaker Jul 16, 2024
5eb4d73
unittests: use mock.patch.dict to deal with os.environ
dcbaker Jul 16, 2024
e808aa1
unittests: use TestCase.addCleanup for cleaning up builddirs
dcbaker Jul 16, 2024
4b76aab
unittests: use setUpClass instead of setUp for class constant data
dcbaker Jul 16, 2024
42a4d1a
cargo: Ignore Cargo.lock if toml implementation is missing
xclaesse Aug 15, 2024
ca73422
ci: try to install urld harder for opensuse, ubuntu
thesamesam Aug 16, 2024
9f85279
ci: opensuse: add setuptools
thesamesam Aug 16, 2024
9c3dcea
ci: skip frameworks/17 mpi for auto/pkgconfig on Ubuntu
thesamesam Aug 19, 2024
cdf646f
ci: ubuntu: fix coverage unittests by patching/updating lcov
thesamesam Aug 19, 2024
18f4a05
mformat: correctly handle editorconfig files without the root setting
dcbaker Aug 19, 2024
d9ba422
format: fix indentation of comments
bruchar1 Aug 6, 2024
7280639
linkers: skip -export_dynamic flag before MacOS 10.7
wolfgangwalther Aug 17, 2024
ab3cfc2
tests/format: Make the compare script more useful
dcbaker Aug 19, 2024
df70680
mformat: A triple string with a ' in it cannot be simplified
dcbaker Aug 19, 2024
45db233
Discard swiftc linker detect output
slimeuniverse Aug 23, 2024
49cc486
mdist: don't mutate meson_command, which is supposed to be immutable
dcbaker Aug 20, 2024
0bd45b3
Use proper array form in swiftc.
jpakkane Aug 23, 2024
a57c880
Better handle CTRL-C during clang-tidy/format
marktsuchida Aug 14, 2024
761e247
compilers: Allow prelinking with Apple Clang
amyspark Jun 28, 2024
b522231
Convert Bash usage to a Python script.
jpakkane Aug 24, 2024
79c47bd
Skip symlink tests on Windows.
jpakkane Aug 24, 2024
415ccb4
cmake/interpreter: clear up some ambiguous Optional handling
dcbaker Aug 20, 2024
08a46bb
cmake/interpreter: Fix some incorrect and missing annotations
dcbaker Aug 20, 2024
75e5ca5
cmake/interpreter: Remove None from values we promise wont have None
dcbaker Aug 20, 2024
3c0de47
Allow external programs in test()'s 'args' parameter
dgibson Jul 31, 2024
1794a1e
Extend MESON_TESTTHREADS usage
MarekPikula Aug 27, 2024
29797f9
Feature checks: fall back to reporting insufficiently portable features
eli-schwartz Jun 15, 2023
19847ba
update various deprecation notices to call out meson 2.0
eli-schwartz Aug 29, 2024
18427ad
Add lto support to clang-cl and lld-link
apache-hb Aug 16, 2024
df41e78
fix a typo
oworope Sep 1, 2024
d299add
intro: add install_rpath to intro-install_plan.json
dnicolodi Sep 1, 2024
0534753
Add missing `__future__.annotations` imports
dcbaker Sep 4, 2024
7071ee6
docs: Update descriptions of `host_machine.system()` about Windows
lhmouse Aug 29, 2024
49a58cf
modules/gnome: Make 'gnome.yelp()' install actual media with symlinks
sidt4 Aug 15, 2024
1e6e4c8
mformat: provide nice error message instead of backtrace for invalid …
dcbaker Aug 19, 2024
3bb3d57
Add support for LLVM 19 in Debian.
jpakkane Sep 4, 2024
6d92547
mformat: regenerate long lines even if they're already multiline
bgilbert Aug 20, 2024
83f8de5
tests: handle uncommon architecture format for nm
eli-schwartz Aug 21, 2024
7b3169f
allow internal_dependency object to carry both_lib
bruchar1 Dec 12, 2023
2d6915a
add default_both_libraries core option
bruchar1 Dec 12, 2023
0fc3630
auto select static or shared when linking both_libraries together
bruchar1 Dec 13, 2023
ce1602c
alias_target with both_libs builds both
bruchar1 Dec 13, 2023
d3ef02b
mformat: detect invalid config
bruchar1 Aug 20, 2024
37c5bff
mformat: better handling of continuation lines
bruchar1 Aug 20, 2024
8b5e53b
machinefile: Remove unused type alias
dcbaker Sep 3, 2024
ca5490f
machinefile: Make fully typesafe
dcbaker Sep 3, 2024
d353219
run_mypy: register utils/vsenv.py, as it is type-safe
eli-schwartz Jan 2, 2024
cd0981b
options: fix imports
dcbaker Aug 28, 2024
e940d58
fix LDFLAGS for cuda
lucifer1004 Aug 29, 2024
7cf2dd6
options: fix typing issues with the OptionStore type
dcbaker Aug 28, 2024
69f1679
options.py: Fix Intel Copyright
dcbaker Sep 4, 2024
53e1148
options: use a TypedDict for kwargs to ArgumentParser.add_argument
dcbaker Aug 28, 2024
58c6b13
Fix check for 32-bit clang-cl
vid512 Sep 7, 2024
f83dca3
interpreterbase: Use explicit `TypeAlias` annotation to allow recursi…
dcbaker Sep 4, 2024
a22a50a
compilers: avoid -Wunused-value compiler warning in CLikeCompiler.has…
thom311 Feb 7, 2024
fa8bd93
compilers: avoid -Wunused-value compiler warning in CLikeCompiler.has…
thom311 Feb 7, 2024
68d620e
Fix typing for InternalDependency.get_as_static() and get_as_shared()
bruchar1 Sep 10, 2024
8a641ca
Fix pkgconfig.generate handling of BothLibraries dependencies
bruchar1 Sep 10, 2024
3aedec5
Harmonize d_import_dirs and include_directories behavior.
amcn Sep 7, 2024
4179996
Fix typos
spaette Sep 11, 2024
9c6881f
ci: gentoo: install dev-qt/qttools
thesamesam Sep 12, 2024
bb2adc0
add epiphany
spaette Sep 12, 2024
1888697
ci/run.ps1: Clean up D related code
the-horo Sep 3, 2024
7813354
cmake: actually print the cycle in the error message
dcbaker Aug 26, 2024
050b788
Fix various incorrect uses of `its` vs `it's`.
amcn Sep 14, 2024
74dd77e
Prevent raw exception during project()
amcn Sep 7, 2024
2b80d4c
When configuring fails in Github Actions, print folded logs
eli-schwartz Jan 25, 2024
9cb9ad8
compilers: Pass mode to determine_args, not its string value
amcn Sep 16, 2024
81c5088
mdist: detect pathological git repo cases and show a slightly better …
eli-schwartz Sep 2, 2024
e5d03f5
backend/ninja: Generate sysroot in rust-project.json
eternalNight Sep 19, 2024
19f9369
Fix typos
spaette Sep 13, 2024
5e6122b
mdist: correctly detect dirty hg repos with non-English locale, redux
eli-schwartz Sep 20, 2024
d3f2821
tests: only skip MPI test on Ubuntu if we are in a CI container
eli-schwartz Sep 18, 2024
9501228
nasm: Use different test sources for x86 and x86_64
qookei Sep 20, 2024
933b012
CI: run lint workflows on changes to the lint config files
dcbaker Sep 20, 2024
7659c6c
pylint: disable `too-many-positional-arguments`
benoit-pierre Sep 20, 2024
3f4957c
rewriter: don't output target info to stderr
benoit-pierre Sep 15, 2023
c8b4634
Add get_variable() system dependency
vid512 Sep 19, 2024
cbbe455
Document get_variable(system)
vid512 Sep 20, 2024
59f6105
add diasdk dependency
vid512 Sep 5, 2024
527752a
add description
vid512 Sep 5, 2024
63cea2a
add test cases
vid512 Sep 5, 2024
dbad301
add doc snippet
vid512 Sep 5, 2024
b1abfa8
Add Accept-Language and Accept-Encoding headers to wrap requests
WillAyd Sep 22, 2024
5102f43
Add a newline at the end of test files
mjgarton Sep 16, 2024
bc30d59
meson command tests: clean up temporary script upon completion
amcn Sep 20, 2024
191b801
run_single_test: Ensure symlinks exist and are cleaned up
amcn Sep 21, 2024
726d9c0
.github/workflows/os_comp.yml: set HOME to /root on OpenSUSE
the-horo Sep 13, 2024
6e98767
dependency: define equality and hash operators for Dependency
dcbaker Mar 13, 2024
b7bf61e
interpreter: when overriding a dependency make its name match
dcbaker Mar 13, 2024
e2ab616
MPI detection: mpicc/mpiicc before pkg-config
paugier Sep 4, 2024
901f5df
MPI detection: support more implementations (any compilers)
paugier Aug 30, 2024
1796635
MPI detection: get version from old IntelMPI wrappers
paugier Sep 2, 2024
c572879
MPI detection: try --showme:compile/--showme:link and -compile_info/-…
paugier Sep 5, 2024
6797f9b
qt module: allow has_tools to specify which tools to check
chubinou Jun 12, 2024
798bf51
linkers: basic support for the 'zig cc' linker
Akaricchi Sep 27, 2023
f3daf62
linkers: Disable -rpath-link with ld.zigcc
RossComputerGuy Jul 31, 2024
8eaeff5
clang-tidy: Avoid spawning too many threads
blue42u Aug 20, 2024
1aac6cc
compiler,rust: fix sanity check and internal deps for baremetal rust …
fvalette-ledger Jul 30, 2024
c359752
env2mfile: Fix a typo
smcv Sep 23, 2024
b7ce7c2
linkers: Fix linker detection with clang on Solaris
alanc Sep 24, 2024
83b2968
Don't fail to package when run twice
apache-hb Sep 22, 2024
790c43d
docs: update the Visual Studio guide for the post-0.59 era with autom…
eli-schwartz Sep 29, 2024
3f13528
metrowerks: Fix compute_parameters_with_absolute_paths
mid-kid Sep 29, 2024
aed67bb
metrowerks: Whine when trying to build a shared library
mid-kid Sep 29, 2024
ddc03e5
metrowerks: Pass warning flags to all subtools
mid-kid Sep 29, 2024
5399d3d
compilers/detect: remove unsupported -cpp flag for Clang preprocessor…
tambry Sep 30, 2024
9294c81
cmake/traceparser: fix typo
stephanlachnit Sep 30, 2024
fb4995a
programs: Store the project version when overriding find_program
nirbheek Sep 26, 2024
a31f8d6
tests: use statx instead of sendmmsg in has_function test
Tachi107 Sep 28, 2024
d584c7d
tests: set c++ stdandard to c++11 for hd5f
dcbaker Sep 30, 2024
9ce6076
Add a simple reproducibility test command.
jpakkane Sep 18, 2024
e250805
interpreterobjects: use typed_pos_args for subproject.get_variable
dcbaker Aug 27, 2024
2ce15a6
modules/cmake: use typed_pos_args for subproject.get_variable
dcbaker Aug 27, 2024
626f4fd
modules/cmake: use typed_pos_args for subproject.dependency
dcbaker Aug 27, 2024
60e2da2
modules/cmake: use typed_pos_args for remaining subproject methods
dcbaker Aug 27, 2024
f9c2a68
interpreterbase/decorators: delete now unused stringArgs
dcbaker Aug 27, 2024
c79453e
modules/cmake: simplify _args_to_info
dcbaker Aug 27, 2024
351ae5d
modules/cmake: use typed_kwargs for subproject.dependency
dcbaker Aug 27, 2024
3d27f1c
modules/cmake: use typed_kwargs instead of permittedKwargs
dcbaker Aug 27, 2024
efa85c5
minstall: fix bug link
dcbaker Oct 1, 2024
d528b83
compilers: annotate lang_suffixes
dcbaker Oct 1, 2024
cd75bbe
compilers: remove hasattr for `file_suffixes`
dcbaker Oct 1, 2024
3728b22
compilers: remove hasattr from `can_compile_suffixes`
dcbaker Oct 1, 2024
940c45f
Add additional C++ filename extensions
mid-kid Sep 29, 2024
21b1054
mark the PyPI metadata as supporting python 3.13
eli-schwartz Oct 1, 2024
54cb8ce
backend/ninja: allow cleandead with dyndeps and ninja >= 1.12
dcbaker Sep 30, 2024
3b248c2
docs: Use examples for build_machine.cpu() that genuinely exist
smcv Oct 2, 2024
3ee9e35
Document the .kernel() and .subsystem() methods
dcbaker Oct 1, 2024
ed1d626
env2mfile: Convert MachineInfo into a dataclass
smcv Oct 2, 2024
6224a7f
env2mfile: Split detect_cross_debianlike()
smcv Oct 2, 2024
1c11a04
unittests: Test env2mfile's dpkg_architecture_to_machine_info
smcv Oct 2, 2024
b4a7251
env2mfile: Add a function for mostly-identity mappings with special c…
smcv Oct 2, 2024
1909a81
env2mfile: Map Debian GNU/Hurd to system() -> gnu
smcv Oct 2, 2024
114a3e2
env2mfile: Don't hard-code Debian as always being Linux
smcv Oct 2, 2024
9d0de83
env2mfile: Base cpu on DEB_HOST_GNU_CPU unless DEB_HOST_ARCH is special
smcv Oct 2, 2024
3c2d04d
ci/ciimage: Lower nofile ulimit on containers that test D
the-horo Sep 23, 2024
0f914b7
programs: Allow excluding certain paths when searching in PATH
nirbheek Sep 26, 2024
d48602a
curses: Ignore /usr/bin/ncurses5.4-config on macOS
nirbheek Sep 26, 2024
4c3bb4f
Fix C++ standard support for Emscripten
QuLogic Oct 4, 2024
eda59e1
Turn off CMake compile launcher when using zig
QuLogic Mar 11, 2024
9575ed3
docs: Mention that rust edition/standard 2018 or later should be used
dcbaker Oct 4, 2024
7cb3674
docs: Add windres to cross-compiling example
andy5995 Oct 4, 2024
373586f
Reorder test dirs for rc1.
jpakkane Oct 6, 2024
7396839
Update version number for rc1.
jpakkane Oct 6, 2024
2291b3f
test: avoid need for explict CMake minimum
scivision Oct 6, 2024
4d16230
toolchain.py minimum CMake 3.10 to avoid deprecation warning
scivision Oct 6, 2024
adeb844
Recreate Boost symlink at runtime to survive sdist. Closes: #13763.
jpakkane Oct 11, 2024
8407041
Fix minimal version for Emscripten C23 support
lesteve Oct 7, 2024
d3542ff
Add options for standard parameter for nvc and nvc++
kjmeagher May 31, 2024
842504d
mlog: Log once should not take location into account
xclaesse Oct 10, 2023
304207b
cargo: Document that cargo subprojects is an experimental feature
xclaesse Oct 10, 2023
e1c09ee
backend/ninja: fix bad @OUTPUTn@ replacements
chubinou Aug 7, 2024
83d9b21
test cases: add test for @OUTPUT0@ substitution rules
chubinou Aug 8, 2024
ec7a81a
mintro: Add license and license_files to project introspection data
dnicolodi Oct 12, 2024
9fd9cc9
Bump version number for rc2.
jpakkane Oct 13, 2024
4fce94a
Do not run symlink setup on Windows.
jpakkane Oct 13, 2024
5f0bd8f
Update release notes for 1.6.0.
KamathForAIX Oct 15, 2024
5cc511b
pkgconfig: add support to override pkg-config
ylatuya Sep 26, 2024
fbeedf4
Condense test directories.
jpakkane Oct 20, 2024
4c6c89c
Update docs and version number for release.
jpakkane Oct 20, 2024
c893fc8
Add GNU/Hurd kernel results
sthibaul Oct 13, 2024
788773b
env2mfile: Generalize detection of pkg-config to have a list of tools
smcv Sep 23, 2024
2918899
env2mfile: Use Debian cross-prefixed GObject-Introspection tools
smcv Oct 2, 2024
1844315
env2mfile: Automatically set exe_wrapper on Debian if possible
smcv Oct 2, 2024
591a88b
env2mfile: Use a cross valac on Debian if possible
smcv Oct 2, 2024
9ce23e8
modules/rust: Add support for autolib field in the Cargo.toml
dcbaker Oct 27, 2024
68b11bb
Enable GCC to find free-threaded python DLL library
andfoy Oct 31, 2024
60c3c14
Xcode backend: only use found appleframeworksn
klokik Nov 4, 2024
ab1e2d9
coverage.py: Guard use of `--html-nested` behind version check.
amcn Oct 12, 2024
91941be
Fix building on AIX when no project languages are used
mehendarkarprajwal Nov 7, 2024
8780511
De-duplicate BuildTarget.sources
klokik Nov 4, 2024
152bddc
rust: fix computation of library directory
bonzini Nov 20, 2024
78844d6
environment: Never require an exe_wrapper for native builds
smcv Nov 20, 2024
8f1c7e6
env2mfile: add flag to use _FOR_BUILD envvars.
jpakkane Nov 29, 2024
688e69c
fix generate_gir with BothLibraries dependency
bruchar1 Oct 29, 2024
860752e
libgcrypt-config is no more on ubuntu-rolling
bonzini Nov 20, 2024
65780d5
run_single_test.py: Fix for symlink changes
dcbaker Oct 28, 2024
2f484f5
msetup: Correction of the message text
x1z53 Oct 22, 2024
f9485fb
CMakeToolchain: Log output on compiler state failure
res2k Nov 4, 2024
e57145a
mdevenv: exec directly into the program to run
eli-schwartz Nov 8, 2024
19a68dc
tests: HDF5 no longer skips on MacOS
dcbaker Nov 18, 2024
a686faa
run_single_test.py: skip setup_symlinks() call on Windows
lb90 Nov 20, 2024
228e547
modernize Rust template
bonzini Dec 9, 2024
2954329
ci: fix Ubuntu Bionic job
thesamesam Dec 10, 2024
df40326
Handle top level options set in subprojects. Closes #13847.
jpakkane Dec 16, 2024
2d4f4f4
dependencies: support old vulkan SDK version
ceyusa Dec 16, 2024
98a2951
Bump versions to 1.6.1 for release
eli-schwartz Dec 15, 2024
ee51791
Merge tag '1.6.1' into HEAD
MichaIng Jan 20, 2025
6139cf3
Resolve an issue with OptionKey having been moved
rgommers Apr 29, 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
  •  
  •  
  •  
9 changes: 4 additions & 5 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,17 +17,16 @@ jobs:

steps:
- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Initialize CodeQL
uses: github/codeql-action/init@v2
uses: github/codeql-action/init@v3
with:
# bypass cache: https://github.com/github/codeql-action/issues/1445
tools: latest
tools: linked
config-file: .github/codeql/codeql-config.yml
languages: python
# we have none
setup-python-dependencies: false

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2
uses: github/codeql-action/analyze@v3
11 changes: 7 additions & 4 deletions .github/workflows/cygwin.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,14 @@ on:
paths:
- "mesonbuild/**"
- "test cases/**"
- "unittests/**"
- ".github/workflows/cygwin.yml"
- "run*tests.py"
pull_request:
paths:
- "mesonbuild/**"
- "test cases/**"
- "unittests/**"
- ".github/workflows/cygwin.yml"
- "run*tests.py"

Expand All @@ -39,7 +41,7 @@ jobs:
MESON_CI_JOBNAME: cygwin-${{ matrix.NAME }}

steps:
- uses: actions/cache/restore@v3
- uses: actions/cache/restore@v4
id: restore-cache
with:
# should use 'pip3 cache dir' to discover this path
Expand All @@ -49,7 +51,7 @@ jobs:

- run: git config --global core.autocrlf input

- uses: actions/checkout@v3
- uses: actions/checkout@v4

- uses: cygwin/cygwin-install-action@master
with:
Expand All @@ -67,6 +69,7 @@ jobs:
libgtk3-devel
libxml2-devel
libxslt-devel
make
ninja
python2-devel
python3-devel
Expand All @@ -83,7 +86,7 @@ jobs:
python3 -m pip --disable-pip-version-check install gcovr fastjsonschema pefile pytest pytest-subtests pytest-xdist coverage
shell: C:\cygwin\bin\bash.exe --noprofile --norc -o igncr -eo pipefail '{0}'

- uses: actions/cache/save@v3
- uses: actions/cache/save@v4
with:
# should use 'pip3 cache dir' to discover this path
path: C:\cygwin\home\runneradmin\.cache\pip
Expand All @@ -99,7 +102,7 @@ jobs:
SKIP_STATIC_BOOST: 1
shell: C:\cygwin\bin\bash.exe --noprofile --norc -o igncr -eo pipefail '{0}'

- uses: actions/upload-artifact@v3
- uses: actions/upload-artifact@v4
with:
name: ${{ matrix.NAME }}
path: meson-test-run.*
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/file_format.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ jobs:
format:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.x'
- run: python3 ./run_format_tests.py
1 change: 1 addition & 0 deletions .github/workflows/images.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ jobs:
- { name: Ubuntu Bionic, id: bionic }
- { name: Ubuntu Rolling, id: ubuntu-rolling }
steps:
# Need v3 because of bionic
- uses: actions/checkout@v3

# Login to dockerhub
Expand Down
18 changes: 12 additions & 6 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,16 @@ on:
paths:
- "**.py"
- ".github/workflows/lint.yml"
- ".pylintrc"
- ".flake8"
- ".mypy.ini"
pull_request:
paths:
- "**.py"
- ".github/workflows/lint.yml"
- ".pylintrc"
- ".flake8"
- ".mypy.ini"

permissions:
contents: read
Expand All @@ -22,8 +28,8 @@ jobs:
pylint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.x'
- run: python -m pip install pylint
Expand All @@ -32,8 +38,8 @@ jobs:
flake8:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.x'
- run: python -m pip install flake8
Expand All @@ -42,8 +48,8 @@ jobs:
mypy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.x'
# Pin mypy to version 1.8, so we retain the ability to lint for Python 3.7
Expand Down
14 changes: 7 additions & 7 deletions .github/workflows/macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,8 @@ jobs:
unittests-appleclang:
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.x'
- run: |
Expand Down Expand Up @@ -81,7 +81,7 @@ jobs:
HOMEBREW_NO_AUTO_UPDATE: 1

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
# Avoid picking up an older version of LLVM that does not work.
- run: brew update
# github actions overwrites brew's python. Force it to reassert itself, by running in a separate step.
Expand Down Expand Up @@ -132,8 +132,8 @@ jobs:
env:
HOMEBREW_NO_AUTO_UPDATE: 1
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.x'
- run: python -m pip install -e .
Expand All @@ -145,13 +145,13 @@ jobs:
- run: ln -sfn /usr/local/Cellar/qt@4/4.8.7_6.reinstall /usr/local/Cellar/qt@4/4.8.7_6
- run: meson setup "test cases/frameworks/4 qt" build -Drequired=qt4
- run: meson compile -C build
- uses: actions/upload-artifact@v3
- uses: actions/upload-artifact@v4
if: failure()
with:
name: Qt4_Mac_build
path: build/meson-logs/meson-log.txt
- run: meson test -C build -v
- uses: actions/upload-artifact@v3
- uses: actions/upload-artifact@v4
if: failure()
with:
name: Qt4_Mac_test
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/msys2.yml
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ jobs:
shell: msys2 {0}

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- uses: msys2/setup-msys2@v2
with:
Expand Down Expand Up @@ -127,7 +127,7 @@ jobs:

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

- uses: actions/upload-artifact@v3
- uses: actions/upload-artifact@v4
with:
name: ${{ matrix.NAME }}
path: meson-test-run.*
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/nonnative.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ jobs:
apt-get -y purge clang gcc gdc
apt-get -y autoremove
python3 -m pip install coverage
- uses: actions/checkout@v3
- 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'

Expand Down
29 changes: 24 additions & 5 deletions .github/workflows/os_comp.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,17 +49,36 @@ jobs:
- { name: Gentoo, id: gentoo }
- { name: OpenSUSE, id: opensuse }
- { name: Ubuntu Bionic, id: bionic }
container: mesonbuild/${{ matrix.cfg.id }}:latest
container:
image: mesonbuild/${{ matrix.cfg.id }}:latest
volumes:
- ${{ matrix.cfg.id == 'bionic' && '/node20217:/node20217:rw,rshared' || ' ' }}
- ${{ matrix.cfg.id == 'bionic' && '/node20217:/__e/node20:ro,rshared' || ' ' }}
env:
MESON_CI_JOBNAME: linux-${{ matrix.cfg.id }}-gcc

steps:
- uses: actions/checkout@v3
- name: install nodejs20glibc2.17
if: ${{ matrix.cfg.id == 'bionic' }}
run: |
apt install curl -y
curl -LO https://unofficial-builds.nodejs.org/download/release/v20.9.0/node-v20.9.0-linux-x64-glibc-217.tar.xz
tar -xf node-v20.9.0-linux-x64-glibc-217.tar.xz --strip-components 1 -C /node20217
ldd /__e/node20/bin/node
- uses: actions/checkout@v4

- name: Run tests
# All environment variables are stored inside the docker image in /ci/env_vars.sh
# They are defined in the `env` section in each image.json. CI_ARGS should be set
# via the `args` array ub the image.json
run: bash -c 'source /ci/env_vars.sh; cd $GITHUB_WORKSPACE; ./tools/run_with_cov.py ./run_tests.py $CI_ARGS'
shell: bash
run: |
# dmd is installed under /root on OpenSUSE
[[ ${{ matrix.cfg.id }} == opensuse ]] && export HOME=/root

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
Expand All @@ -80,7 +99,7 @@ jobs:
MESON_CI_JOBNAME_UPDATE: linux-arch-gcc-pypy

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Run tests
run: |
source /ci/env_vars.sh
Expand Down Expand Up @@ -134,7 +153,7 @@ jobs:

steps:
- name: Checkout code
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Run tests
shell: bash
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/stable_builddir.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
env:
TESTDIR: "manual tests/13 builddir upgrade"
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: install ninja
run: sudo apt-get -y install build-essential ninja-build
- name: Fetch tags and unshallow
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/unusedargs_missingreturn.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,8 +44,8 @@ jobs:
linux:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.x'
- name: Install Compilers
Expand All @@ -71,8 +71,8 @@ jobs:
windows:
runs-on: windows-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.x'

Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/website.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,9 @@ jobs:
HAS_SSH_KEY: ${{ secrets.WEBSITE_PRIV_KEY != '' }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- uses: actions/cache/restore@v3
- uses: actions/cache/restore@v4
id: restore-cache
with:
# should use 'pip3 cache dir' to discover this path
Expand All @@ -47,7 +47,7 @@ jobs:
sudo apt-get -y install python3-pip ninja-build libjson-glib-dev
pip install hotdoc chevron strictyaml

- uses: actions/cache/save@v3
- uses: actions/cache/save@v4
with:
# should use 'pip3 cache dir' to discover this path
path: ~/.cache/pip
Expand Down
1 change: 1 addition & 0 deletions .pylintrc
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@ disable=
too-many-lines,
too-many-locals,
too-many-nested-blocks,
too-many-positional-arguments,
too-many-public-methods,
too-many-return-statements,
too-many-statements,
Expand Down
5 changes: 4 additions & 1 deletion ci/ciimage/arch/install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ pkgs=(
ninja make git sudo fakeroot autoconf automake patch
libelf gcc gcc-fortran gcc-objc vala rust bison flex cython go dlang-dmd
mono boost qt5-base gtkmm3 gtest gmock protobuf gobject-introspection
itstool gtk3 java-environment=8 gtk-doc llvm clang sdl2 graphviz
itstool glib2-devel gtk3 java-environment=8 gtk-doc llvm clang sdl2 graphviz
doxygen vulkan-validation-layers openssh mercurial gtk-sharp-2 qt5-tools
libwmf cmake netcdf-fortran openmpi nasm gnustep-base gettext
python-lxml hotdoc rust-bindgen qt6-base qt6-tools wayland wayland-protocols
Expand Down Expand Up @@ -41,6 +41,9 @@ useradd -m $AUR_USER
echo "${AUR_USER}:" | chpasswd -e
echo "$AUR_USER ALL = NOPASSWD: ALL" >> /etc/sudoers

# fix installing packages from source, attempting to install debug info
sed -i '/OPTIONS/{s|debug|!debug|}' /etc/makepkg.conf

# Install yay
su $AUR_USER -c 'cd; git clone https://aur.archlinux.org/yay.git'
su $AUR_USER -c 'cd; cd yay; makepkg'
Expand Down
11 changes: 9 additions & 2 deletions ci/ciimage/gentoo/install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,7 @@ pkgs_stable=(
sci-libs/hdf5
dev-qt/linguist-tools
sys-devel/llvm
# qt6 unstable
#dev-qt/qttools
dev-qt/qttools

# misc
app-admin/sudo
Expand Down Expand Up @@ -158,3 +157,11 @@ install_python_packages
python3 -m pip install "${base_python_pkgs[@]}"

echo "source /etc/profile" >> /ci/env_vars.sh

# Cleanup to avoid including large contents in the docker image.
# We don't need cache files that are side artifacts of installing packages.
# We also don't need the gentoo tree -- the official docker image doesn't
# either, and expects you to use emerge-webrsync once you need it.
rm -rf /var/cache/binpkgs
rm -rf /var/cache/distfiles
rm -rf /var/db/repos/gentoo
Loading