* Update Linux build and test workflows to use lit
This change updates the build and test workflows in our azure pipelines
and the GitHub action for code coverage data to use lit instead of ctest
as the test runner. This adds additional test coverage by running some
of the LLVM & Clang tests.
* Fix missing dependency between LLVMAnalysis & DXIL
The default Linux linker fails because LLVMAnalysis depends on LLVMDXIL
and BFD doesn't cycle libraries.
* Updating pipelines to remove mkdir and cd
This just cleans up the pipeline shell commands to avoid unnecissary
mkdir and cd invocations.
Based on feedback from @Keenuts. Thanks!
* Disable LLVM LIT tests that use garbage collection
DXC disabled support for the LLVM garbage collection intrinsics.
This updates the ADO yaml to select the latest version of the OS. In the
case of MacOS, this will still be 11 for now. For Ubuntu, it will
silence the warnings that we are using a deprecated version and save us
the headache of having to do this again.
The risk is that a new version of either OS will cause the build to
break without our intervention, but the real motivation for explicit
versions was an earlier impulse to support the minimal build system that
is no longer a priority. As for the risk, I feel it is minimal and we
can respond in a timely fashion if it should occur.
CMake supports passing in CMake scripts via the `-C` command line
option, which can set CMake cache variables to initialize options
before the first CMakeLists file is processed. This is a portable and
shell-agnostic way of supporting what the
`cmake-predefined-config-params` file is used for.
Travis went from org to com. In spite of the perfectly reasonable
assumption and explicitly stated expectation of the simplicity that
transition would involve, multiple engineers from multiple companies
failed to decipher their arcane instructions and permissions. Instead,
we've switched from leeching off of a well-meaning small outfit trying
to promote open source projects at no charge to leeching off Microsoft's
own ample resources.
This replaces all of the testing of travis with Azure Dev Ops (azdo).
The version of Ubuntu is bumped from 14.04 to 18.04, but that was
overdue. The corresponding clang and gcc versions are incremented as
well from 5 to 9 and 5 to 7 respectively with an eye toward the lowest
supported version in the current OS. The MacOS version is similarly
incremented with the clang version jumping to 11. In all cases, these
versions are the lowest azdo provides on the respective platforms.
Left out for now is the address sanitizer configuration, which was
never made blocking. The longevity of this decision is pending cross
company discussions.