Switch Windows CI build to sbt (w/ some sbt build improvements) [ci: last-only]#5292
Switch Windows CI build to sbt (w/ some sbt build improvements) [ci: last-only]#5292adriaanm merged 1 commit intoscala:2.12.xfrom
Conversation
- Use sbt in `integrate/windows`: This essentially combines the Unix CI jobs `validate/publish-core` and `validate/test`, first publishing a local release built with STARR and then building a new version with that and running all tests on it. - Unify repository handling across build scripts: A new function `generateRepositoriesConfig` in `common`, based on the existing code in `integrate/bootstrap`, writes the `repositories` file for sbt, either with or without an extra bootstrap repository for resolving a previously built version. It is used in all CI scripts to ensure that artifacts are only resolved through the sanctioned proxies and upstream repositories. - The repository URL arguments in `setupPublishCore` and `setupValidateTest` are now optional as well. These commands are used without a URL from `integrate/windows`, which publishes to `local` instead of a temporary remote repository. - `testAll` is now a task instead of a command. It runs the same sequence of sub-tasks as before but does not propagate failures immediately. It always runs all subtasks and reports errors at the end. - The `generateBuildCharacterPropertiesFile` task now includes all properties from `versions.properties` (whose values have potentially been overwritten with `-D` options) in `buildcharacter.properties`.
|
Windows build of this version at https://scala-ci.typesafe.com/view/All/job/scala-2.12.x-integrate-windows/285/ |
|
Still causes problems with all subsequent Windows builds failing: https://scala-ci.typesafe.com/view/All/job/scala-2.12.x-integrate-windows/286/console. This will probably require changes to the scripts in jenkins-infra to perform the cleanup in a different way that doesn't fail. |
|
Cool improvements. |
|
This should be good to merge. It broke the Windows build because |
|
LGTM! sbt ftw 🎉 |
Switch Windows CI build to sbt (w/ some sbt build improvements)
integrate/windows: This essentially combines the Unix CIjobs
validate/publish-coreandvalidate/test, first publishing alocal release built with STARR and then building a new version with
that and running all tests on it.
generateRepositoriesConfigincommon, based on the existing codein
integrate/bootstrap, writes therepositoriesfile for sbt,either with or without an extra bootstrap repository for resolving a
previously built version. It is used in all CI scripts to ensure that
artifacts are only resolved through the sanctioned proxies and
upstream repositories.
setupPublishCoreandsetupValidateTestare now optional as well. These commands are usedwithout a URL from
integrate/windows, which publishes tolocalinstead of a temporary remote repository.
testAllis now a task instead of a command. It runs the samesequence of sub-tasks as before but does not propagate failures
immediately. It always runs all subtasks and reports errors at the
end.
generateBuildCharacterPropertiesFiletask now includes allproperties from
versions.properties(whose values have potentiallybeen overwritten with
-Doptions) inbuildcharacter.properties.Bootstrap build run of this version at https://scala-ci.typesafe.com/view/scala-2.12.x/job/scala-2.12.x-integrate-bootstrap/513/