This allows checking specific values that are added or deprecated, which
we do a surprising amount of. This works with both containers and scalar
values
This is a follow-up to gh-8706, which contained the initial fix
to ninjabackend.py but somehow lost it. This re-applies the fix
and adds a test for it.
Without the fix, the error is:
ninja: error: 'ct2.pyx', needed by 'libdir/ct2.cpython-39-x86_64-linux-gnu.so.p/ct2.pyx.c',
missing and no known rule to make it
This allow mypy to catch cases where we accidently assign the dependency
name to the type_name, as it sees them as having different types (though
at runtime they're all strings).
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.
In commit 3340284805 the new ModuleObject
API got further updated to hide self.interpreter; at the time, the CUDA
module got transferred over to the wrapper which does provide it.
But it works fine without self.interpreter, so let's just use the best
base class.
This makes use of the new convertor and validator arguments, so that we
can check that the languages passed are in fact vaild, and then convert
the native boolean into a MachineChoice internally.
This is meant to allow simple type conversions to happen before the
interpreter function is called. This should simplify some cases like the
"native" keyword arugment that are booleans in the Meson DSL, but an
Enum in the implementation