Skip to content

Switch Windows CI build to sbt (w/ some sbt build improvements) [ci: last-only]#5292

Merged
adriaanm merged 1 commit intoscala:2.12.xfrom
szeiger:wip/sbt-windows
Jul 28, 2016
Merged

Switch Windows CI build to sbt (w/ some sbt build improvements) [ci: last-only]#5292
adriaanm merged 1 commit intoscala:2.12.xfrom
szeiger:wip/sbt-windows

Conversation

@szeiger
Copy link
Contributor

@szeiger szeiger commented Jul 20, 2016

Switch Windows CI build to sbt (w/ some sbt build improvements)

  • 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.

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/

@szeiger szeiger changed the title [DO NOT MERGE] Use sbt for CI on Windows [ci:last-only] [DO NOT MERGE] Use sbt for CI on Windows [ci: last-only] Jul 20, 2016
@szeiger szeiger closed this Jul 20, 2016
@szeiger szeiger reopened this Jul 20, 2016
- 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`.
@szeiger szeiger changed the title [DO NOT MERGE] Use sbt for CI on Windows [ci: last-only] Use sbt for CI on Windows [ci: last-only] Jul 21, 2016
@szeiger szeiger changed the title Use sbt for CI on Windows [ci: last-only] Switch Windows CI build to sbt (w/ some sbt build improvements) [ci: last-only] Jul 21, 2016
@szeiger
Copy link
Contributor Author

szeiger commented Jul 21, 2016

@szeiger
Copy link
Contributor Author

szeiger commented Jul 22, 2016

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.

@szeiger szeiger added this to the 2.12.0-RC1 milestone Jul 22, 2016
@dwijnand
Copy link
Member

Cool improvements.

@szeiger
Copy link
Contributor Author

szeiger commented Jul 28, 2016

This should be good to merge. It broke the Windows build because core.longpaths was not set properly on the Windows worker. It is already part of our setup (https://github.com/scala/scala-jenkins-infra/blob/master/recipes/_worker-config-windows-cygwin.rb#L83-L89) but for some reason didn't work (or maybe hadn't been redeployed since it was introduced). @adriaanm now made the change manually on the worker.

@adriaanm
Copy link
Contributor

LGTM! sbt ftw 🎉

@adriaanm adriaanm merged commit 16fd63b into scala:2.12.x Jul 28, 2016
@adriaanm adriaanm added the 2.12 label Oct 29, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants