Skip to content

Disable Windows builds on the auto-tester - replace with Azure pipelines#11653

Merged
wilzbach merged 4 commits intodlang:masterfrom
wilzbach:disable-windows-auto-tester
Sep 1, 2020
Merged

Disable Windows builds on the auto-tester - replace with Azure pipelines#11653
wilzbach merged 4 commits intodlang:masterfrom
wilzbach:disable-windows-auto-tester

Conversation

@wilzbach
Copy link
Contributor

We wanted to switch away from the auto-tester for a long time now. However, finding good alternatives has always been tricky and it often was blocked on e.g. a replacement for the FreeBSD testing. Now that the Windows machines are randomly failing again and no one knows why and it's super hard to debug, I think it's more than overdue to start the migration. Over the last months (years?) we have made good experiences with Azure pipelines and they offer 10 concurrent builds for open source projects. It's a stable infrastructure and upgrading to e.g. a newer visual studio build is as easy as changing the VM Image. LDC has been using Azure Pipelines for their Windows testing successfully for a long time as well.

This PR starts to disable the Windows builds on the auto-tester (auto-tester will still fail as the Makefiles need to be disabled on druntime + Phobos too) and adds two Windows builds to Azure with our bootstrapping compiler version (2.079.0).

The other bootstrap builds (Linux, FreeBSD, OSX) can be moved to other CIs later, but for now we want to unblock the broken CI checks.

CC @MoonlightSentinel @andralex @PetarKirov

@dlang-bot
Copy link
Contributor

Thanks for your pull request, @wilzbach!

Bugzilla references

Your PR doesn't reference any Bugzilla issue.

If your PR contains non-trivial changes, please reference a Bugzilla issue or create a manual changelog.

Testing this PR locally

If you don't have a local development environment setup, you can use Digger to test this PR:

dub run digger -- build "master + dmd#11653"

@@ -6,16 +6,17 @@ defaulttarget:
cd ..

auto-tester-build:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I assume these changes will break the makefile patching done on the auto-tester?

If that is the case:

  • Remove these changes
  • Forward MAKECMDGOALS to test/Makefile and do an early exit there

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah I thought the windows 64 diff had been disabled, but I was wrong :/

https://github.com/braddr/at-client/blob/master/src/do_fixup.sh#L21

@wilzbach wilzbach force-pushed the disable-windows-auto-tester branch from cb62b03 to 4dc59f1 Compare August 30, 2020 16:41
@wilzbach wilzbach force-pushed the disable-windows-auto-tester branch from 43d191c to 288491a Compare August 30, 2020 17:10
@wilzbach
Copy link
Contributor Author

Failed to compile the `unit` test executable! (exit code 1)

> D:\a\1\s\generated\windows\release\64\dmd.exe @D:\a\1\s\test\test_results\cmdfile
D:\a\1\s\test\test_results\runner.d(6): Error: identifier expected following `package`
D:\a\1\s\test\test_results\runner.d(9): Error: identifier expected following `package`
D:\a\1\s\test\test_results\runner.d(10): Error: identifier expected following `package`
D:\a\1\s\test\test_results\runner.d(11): Error: identifier expected following `package`
D:\a\1\s\test\test_results\runner.d(16): Error: identifier or `new` expected following `.`, not `,`
D:\a\1\s\test\test_results\runner.d(17): Error: found `deinitialization` when expecting `)` following template argument list
D:\a\1\s\test\test_results\runner.d(18): Error: `=` expected following identifier
D:\a\1\s\test\test_results\runner.d(18): Error: declaration expected, not `,`

So it turns out that the auto-tester-test target skipped these unit_tests builds automatically, as they are only interesting to test the compiler API, I think it's reasonable to continue skipping them (they are tested in other Windows builds).

@wilzbach wilzbach force-pushed the disable-windows-auto-tester branch from 288491a to f30597f Compare August 30, 2020 17:50
@wilzbach wilzbach force-pushed the disable-windows-auto-tester branch from f30597f to 7f05a44 Compare August 30, 2020 18:17
# do not run runnable_cxx or unit_tests with older bootstrap compilers
targets=("compilable" "fail_compilation" "runnable" "dshell")
fi
./run --environment --jobs=$N "${targets[@]}" ARGS="-O -inline -g" MODEL="$MODEL"
Copy link
Contributor

@MoonlightSentinel MoonlightSentinel Aug 30, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note that the auto-tester also includes -release in ARGS

@wilzbach wilzbach force-pushed the disable-windows-auto-tester branch from c42790e to 2abd44b Compare August 30, 2020 18:58
@wilzbach
Copy link
Contributor Author

FYI: this is green on all CIs now 🌮

(except for the auto-tester Windows machines. It requires dlang/druntime#3203 and dlang/phobos#7613 for auto-tester to fully skip Windows build - these three PRs depend on each other)

@wilzbach
Copy link
Contributor Author

wilzbach commented Sep 1, 2020

This won't auto-merge as it is interlocked with druntime and Phobos. I will manually merge this and the respective PRs in druntime and Phobos.

@wilzbach wilzbach merged commit 5b7b53b into dlang:master Sep 1, 2020
@wilzbach wilzbach deleted the disable-windows-auto-tester branch September 1, 2020 22:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants