Split out checking of file format as a separate GitHub workflow, rather
than running it as part of the project tests for every platform and
toolchain combination in CI, so that this test is not effected by the
changed paths constraints which are applied to the project tests.
The 'build images' workflow runs on a schedule, so will run (and fail)
weekly in every fork.
Don't try to push to docker if docker credentials aren't in repository
secrets.
(A test for that has to be written rather indirectly due to
https://github.com/actions/runner/issues/520)
* CI: Don't run cross-only test when other workflows are changed
* CI: Move Cygwin test run from Azure Pipelines to GitHub workflow
Also review installed package list, dropping detritus from 42792554, not
removed in f5ed85d7.
Some changes:
* Set HOME to /root, since github mounts its own HOME and 'wine'
(because of permissions) and 'dub' (can't find packages) don't
like that.
* Remove the seccomp option, doesn't seem to be needed.
Fixes a test when using pkgconf instead of pkg-config.
The .pc file in the pkgconfig-gen test requires it and pkgconf seems be
stricter here and fails to validate.
Add '--cross-only' option to run_tests.py, so we can arrange not to run
tests in the 'native' suite when only a cross-compiler is available, as
they can't succeed.
D lang compilers have an option -release (or similar) which turns off
asserts, contracts, and other runtime type checking. This patch wires
that up to the b_ndebug flag.
Fixes#7082
This also fixes that the keys in ArgumentNode.kwargs are
all of the type BaseNode now. Before this commit, it was
possible that both strings and Nodes where used as keys.
There were two things mypy was warning about:
1) it doesn't understand hasattr()
2) It was possible for mlog.{error,warning,deprecation} to get passed
multiple values for the once keyword argument.