Azure CI: Add x86 (COFF) job based on windows.sh

This commit is contained in:
Martin Kinkelin 2023-12-10 22:11:31 +01:00 committed by Nicholas Wilson
parent 3525fb85c0
commit 4ad93e00ea
4 changed files with 10 additions and 4 deletions

View file

@ -1,6 +1,6 @@
steps:
- task: PublishPipelineArtifact@0
inputs:
artifactName: windows-$(ARCH)
artifactName: windows-$(MODEL)
targetPath: artifacts
displayName: Publish artifacts

View file

@ -95,8 +95,7 @@ make -j%N% MODEL=%MODEL% "DMD=%DMD%" "CC=%MSVC_CC%" unittest || exit /B 5
echo [STEP]: Running DMD testsuite
cd "%DMD_DIR%\compiler\test"
set CC=%MSVC_CC%
run.exe --environment --jobs=%N% %DMD_TESTS% "ARGS=-O -inline -g" "BUILD=%CONFIGURATION%" "DMD_MODEL=%PLATFORM%" || exit /B 6
run.exe --environment --jobs=%N% %DMD_TESTS% "ARGS=-O -inline -g" "BUILD=%CONFIGURATION%" "DMD_MODEL=%PLATFORM%" "CC=%MSVC_CC%" || exit /B 6
echo [STEP]: Building and running Phobos unittests
rem FIXME: lld-link fails to link phobos unittests ("error: relocation against symbol in discarded section: __TMP2427")

View file

@ -104,6 +104,10 @@ LIBS_MAKE_ARGS=(-f "$MAKE_FILE" MODEL=$MODEL DMD="$DMD_BIN_PATH" VCDIR=. CC="$CC
cd "$DMD_DIR/../phobos"
"$DM_MAKE" "${LIBS_MAKE_ARGS[@]}" DRUNTIME="$DMD_DIR\druntime" DRUNTIMELIB="$DMD_DIR/generated/windows/release/$MODEL/druntime.lib"
if [[ "$MODEL" == "32" ]]; then
# the expected Phobos filename for 32-bit COFF is phobos32mscoff.lib, not phobos32.lib
mv phobos32.lib phobos32mscoff.lib
fi
################################################################################
# Run DMD testsuite
@ -148,7 +152,7 @@ if [ "$HOST_DMD_VERSION" = "2.079.0" ] ; then
targets=("runnable" "compilable" "fail_compilation" "dshell")
args=() # use default set of args
fi
CC="$CC" ./run --environment --jobs=$N "${targets[@]}" "${args[@]}"
./run --environment --jobs=$N "${targets[@]}" "${args[@]}" CC="$CC"
###############################################################################
# Upload coverage reports and exit if ENABLE_COVERAGE is specified

View file

@ -33,6 +33,9 @@ jobs:
x86-OMF:
MODEL: 32omf
ARCH: x86
x86:
MODEL: 32
ARCH: x86
steps:
- template: .azure-pipelines/windows.yml
- template: .azure-pipelines/windows-artifact.yml