summaryrefslogtreecommitdiff
path: root/scripts
Commit message (Collapse)AuthorAgeFilesLines
* Use a single repository in the bootstrap jobLukas Rytz2017-03-151-14/+5
| | | | | | | | | | | | | | | | | | Recently, I changed the bootstap script to publish the "locker" build to scala-release-temp and only the bootstrapped "quick" build to scala-integration. This commit reverts back to the previous mechanism where "locker" is published to the same repo (scala-integration) and later overwritten. The reason is that we want to use scala-release-temp for publishing integration builds of commits that are not (yet) merged to scala/scala. Such builds are useful for preliminary testing / benchmarking of PRs / development revisions. This means that we want to add scala-release-temp as a resolver in the community build and the benchmark job. If we have same-named releases in both repos (one "locker", one "quick", so they are not the same), we would not know which one is being picked up. If we want to avoid the overwriting in the future, we could work on a solution that sets a different version number for "locker", but we have to be careful when building the modules; maybe setting the scalaBinaryVersion would be enough.
* Fix for repositories file in bootstrap scriptsLukas Rytz2017-03-091-3/+4
| | | | | | When building quick and modules, the `scala-integrate` repo needs to be there in order to find other modules. For example, partest needs xml. This should fix the 2.13 build, it didn't fail in 2.12 because modules are not built.
* new version numbers for snapshot and integration builds, new repositoryLukas Rytz2017-03-082-113/+92
| | | | | | | | | | Integration builds now have version number like `2.12.2-bin-sha7` or `2.13.0-pre-sha7` and are published to scala-integration (no longer scala-release-temp). scala-release-temp is still used in the bootstrap script for publishing intermediate artifacts (starr, locker). Various cleanups in the scripts.
* during bootstrap, don't build scala-parser-combinators or -swingSeth Tisue2017-02-131-40/+1
| | | | | | | | | | | | | | | | | | | | | | | I see no further reason to include them in the bootstrap process. Adriaan agrees (in-person discussion). note that the community build makes sure the modules still compile as we make changes to Scala. as for actually publishing scala-parser-combinators and scala-swing when we make binary incompatible changes to Scala, I think it's fine to consider that properly the job of the module maintainers, rather than properly the job of this script. (if we want more automation on that, we could make some elsewhere, keeping that concern separate from actual bootstrapping concerns.) scala-xml, scala-partest, and scalacheck (commented out at the moment) remain in this script since they are all actually still part of the bootstrapping picture. fixes https://github.com/scala/scala-dev/issues/302 , so that integrate-bootstrap will pass again (currently it fails, since scala-parser-combinators merged Scala.js support)
* run ScalaCheck tests directly, not through partestSeth Tisue2017-01-272-4/+4
| | | | | | | | | | | ScalaCheck ever being under partest in the first place is ancient history, from back in the Ant build days (shudder) ScalaCheck support was removed from partest 1.1.0, which we already upgraded to in a recent commit also upgrades ScalaCheck from 1.11.6 to 1.13.4, since we might as well. no source changes were necessary.
* Merge commit '74ed575' into topic/merge-2.11.x-to-2.12.x-20161129Jason Zaugg2016-11-291-1/+1
|\ | | | | | | | | Conflicts: scripts/jobs/integrate/bootstrap
| * don't mass-delete old nightlies at release timeSeth Tisue2016-11-081-1/+1
| | | | | | | | | | | | | | as happened with 2.12.0, for gory details see https://github.com/scala/scala-dev/issues/257 fix suggested by Stefan Zeiger
| * [backport] Bump sbt.version to 0.13.12, without breakingDale Wijnand2016-10-191-1/+1
| |
* | Merge pull request #5488 from SethTisue/sbt-0.13.13Seth Tisue2016-11-021-1/+1
|\ \ | | | | | | upgrade to sbt 0.13.13
| * | upgrade to sbt 0.13.13Seth Tisue2016-10-281-1/+1
| | |
* | | Bump baseVersion to 2.12.1 (#5389)Seth Tisue2016-11-011-2/+0
|/ / | | | | | | | | | | | | Binary version (for modules) is now 2.12, starr is 2.12.0-RC2. Also, drop repo_ref from jenkins.properties; It's propagated downstream by the '-main' build flows already.
* | Merge pull request #5386 from dwijnand/sbt-0.13.12Seth Tisue2016-10-181-1/+1
|\ \ | | | | | | Bump sbt.version to 0.13.12, without breaking
| * | Bump sbt.version to 0.13.12, without breakingDale Wijnand2016-09-221-1/+1
| | |
* | | Merge remote-tracking branch 'origin/2.12.0' into merge/2.12.0-to-2.12.xJason Zaugg2016-10-141-4/+16
|\ \ \
| * | | Make stability test optional.Adriaan Moors2016-10-131-3/+15
| | | | | | | | | | | | | | | | To allow building a dist for the community build in under 20 mins.
| * | | Make sbtBuildTask configurable in bootstrapAdriaan Moors2016-10-131-1/+1
| |/ /
* / / use proper lightbend.com and scala-sbt.org URLsSeth Tisue2016-09-281-2/+2
|/ / | | | | | | | | not dl.bintray.com, it's an implementation detail that they're our current provider
* | supply missing execute bit on bootstrap scriptSeth Tisue2016-08-261-0/+0
| | | | | | | | | | this was failing integrate-bootstrap on Jenkins with a "Permission denied" error
* | Switch remaining uses of ant over to sbtStefan Zeiger2016-08-232-4/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | - Modify `tools/scaladoc-diff` to use sbt instead of ant. - Move `stability-test.sh` from `tools` to `scripts`. With the new build process without separate `locker` and `strap` stages, it doesn’t make sense to call this script without first setting up the proper test environment in a CI build. - Replace the use of `build.number` in `bootstrap` with a new `SHA-NIGHTLY` mode for `baseVersionSuffix`. - Make `partest` call sbt instead of ant for initializing the classpath and use the new classpath location (`quick` instead of `pack`).
* | Make sure sbt's exit code is seen as script exit codeAdriaan Moors2016-07-293-4/+4
| | | | | | | | | | | | ... and not grep's exit code, which would mean the test suite's result is determined by whether grep fails or not, instead of partest/junit's hard work
* | Switch Windows CI build to sbt (w/ some sbt build improvements)Stefan Zeiger2016-07-215-33/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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`.
* | Switch the bootstrap build over to sbtStefan Zeiger2016-07-152-44/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | All of the individual ant builds that occured during `bootstrap` are replaced by equivalent sbt builds. - Allow extra dashes in version suffix when using SPLIT - Clean up ScriptCommands - Building an extra `locker` for stability testing with ant was not necessary but sbt also drops `strap`, so we need to build again with `quick` to get the equivalent of `strap`. The script for checking stability is invoked directly from the bootstrap script, not from sbt. - `STARR` and `locker` build output is still logged to `logs/builds`, the main build runs log directly to the main console with colored output. - Allow `—show-log` option on partest command line in sbt - Normalize inferred LUB in `run/t7747-repl.scala` - Add `normalize` feature from `ReplTest` to `InteractiveTest` - Normalize inferred LUBs in `presentation/callcc-interpreter`
* | Bootstrap skips scalacheck build step / partest depAdriaan Moors2016-06-281-5/+5
| | | | | | | | | | Keeping diff minimal since this will need to be reverted once 2.12.0 is final.
* | Merge commit 'aaf7bc0' into merge-2.11-to-2.12-june-19Lukas Rytz2016-06-212-10/+29
|\|
| * Use sbt for PR validationStefan Zeiger2016-06-142-10/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Support directories in `-doc-external-doc`: It is documented as accepting a “classpath_entry_path” for the keys but this only worked for JARs and not for individual class files. When checking for external-doc mappings for a Symbol, we now find the root directory relative to a class file instead of using the full class file path. The corresponding tests for SI-191 and SI8557 are also fixed to support individual class files instead of JARs in partest. This is required for the sbt build which runs partest on “quick” instead of “pack”. - Fix version and repository handling for bootstrapping. The bootstrap `scalaInstance` can now be resolved from any repository added to the project (not just the bootstrap repositories) by using a different workaround for https://github.com/sbt/sbt/issues/1872. - Workaround for https://github.com/sbt/sbt/issues/2640 (putting the wrong `scalaInstance` on partest’s classpath). The required `ScalaInstance` constructor is deprecated, so we have to disable deprecation warnings and fatal warnings until there is a better fix. - Add MiMa to the sbt build (port of the old `test.bc` ant task). The sbt-mima plugin doesn’t have all the features we need, so we do it manually in a similar way to what the plugin does. Checks are done in both directions for the `library` and `compiler` projects. The base version has to be set in `build.sbt`. When set to `None`, MiMa checks are skipped. MiMa checks are run sequentially to avoid spurious errors (see https://github.com/typesafehub/migration-manager/issues/115). - Port the OSGi tests to the sbt build. The set of JARs that gets copied into build/osgi as bundles is a bit different from the ant build. We omit the source JARs but add additional modules that are part of the Scala distribution, which seems more correct. - Get rid up `pull-binary-libs.sh` for the sbt build. Add artifacts are resolved from the special bootstrap repository through Ivy. The special `code.jar` and `instrumented.jar` artifacts are copied to the location where partest expects them (because these paths are hardcoded in partest). Other extra JARs for partest in `test/files/lib` are referenced directly from the Ivy cache. - Move common settings that should be available with unqualified names in local `.sbt` files and on the command line into an auto-plugin. - Add an `antStyle` setting to sbt to allow users to easily enable ant-style incremental compilation instead of sbt’s standard name hashing with `set antStyle := true`. - Disable verbose `info`-level logging during sbt startup for both, `validate/test` and `validate/publish-core` jobs. Update logging is no longer disabled when running locally (where it is useful and doesn’t generate excessive output). - Pass optimization flags for scalac down to partest, using the new partest version 1.0.15\6. - Call the new sbt-based PR validation from `scripts/jobs/validate/test`. - Disable the tests `run/t7843-jsr223-service` and `run/t7933` from https://github.com/scala/scala/pull/4959 for now. We need to set up a new test project (either partest or junit) that can run them on a packaged version of Scala, or possibly move them into a separate project that would naturally run from a packaged Scala as part of the community build.
| * Merge pull request #5139 from SethTisue/disable-integrate-ideAdriaan Moors2016-04-281-0/+4
| |\ | | | | | | disable integrate/ide script on 2.11.x
| | * disable integrate/ide script on 2.11.xSeth Tisue2016-04-281-0/+4
| | |
| * | CI: hardcode java path in integrate/windows scriptAdriaan Moors2016-04-211-5/+6
| | |
| * | CI: use java 6 for windows integrationAdriaan Moors2016-04-211-0/+3
| |/
| * bump versions after 2.11.8 releaseSeth Tisue2016-03-081-1/+1
| |
* | Don't pass -opt to starr / locker build in the bootstrap scriptLukas Rytz2016-05-301-2/+0
| | | | | | | | | | | | | | | | Renaming -Yopt to -opt revealed that we're passing the flag when building the locker (and optionally the starr) version. This is not necessary: when building the next stage with the flag enabled, the same optimizations are performed no matter if the current stage was built with the flag or not.
* | Rename -Yopt to -opt, -Yopt-warnings to -opt-warningsLukas Rytz2016-05-252-4/+4
| | | | | | | | Keep -Yopt-inline-heuristics and -Yopt-trace unchanged
* | CI: hardcode java path in integrate/windows scriptAdriaan Moors2016-04-211-7/+7
| |
* | CI: fix integrate-windows scriptAdriaan Moors2016-04-211-1/+1
| |
* | CI: use java 8 for windows integrationAdriaan Moors2016-04-211-5/+5
| |
* | Skip module docs in first round of bootstrap when STARR_REF is usedJason Zaugg2016-03-181-5/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | This is a second attempt at making this script operate when making a binary incompatible change to the compiler, such as the current effort to change the trait encoding. For builds that don't define STARR_REF, we continue to build docs in the first pass, as there will only be one pass for non-release builds. A previous attempt than disabling them in the first pass for all builds (c4fc2fd) triggered scala-dev/#89.
* | Merge commit 2.11.x into 2.12.x.Adriaan Moors2016-03-141-1/+1
|\|
| * Merge pull request #4993 from SethTisue/sbt-0.13.11Seth Tisue2016-02-261-1/+1
| |\ | | | | | | upgrade to sbt 0.13.11
| | * upgrade to sbt 0.13.11Seth Tisue2016-02-221-1/+1
| | | | | | | | | | | | yum! delicious dogfood!
* | | fix bootstrap regression (module docs weren't being published)Seth Tisue2016-03-031-14/+5
| | | | | | | | | | | | | | | | | | | | | | | | reverts the "skip docs on first module build" part of c4fc2fd42457a87fea9e7af94e0ba2f57e533854 since it was resulting in module docs never being published at all, which then would later cause release-website-archives to fail. see https://github.com/scala/scala-dev/issues/89
* | | Merge remote-tracking branch 'origin/2.11.x' into ↵Jason Zaugg2016-02-251-0/+0
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | merge/2.11.x-to-2.12.x-20160225 Conflicts: scripts/jobs/integrate/bootstrap src/build/maven/scala-actors-pom.xml test/files/pos/t3420.flags Conflicts were trivial to resolve.
| * | Update to partest 1.0.13Jason Zaugg2016-02-171-14/+0
| |/ | | | | | | | | | | | | | | Which lets us remove the dependency on sbt-partest-interface, as this has been incorporated into scala-partest itself. Conflicts: scripts/jobs/integrate/bootstrap
* | Fix boostrap script when STARR isn't customizedJason Zaugg2016-02-221-2/+0
| | | | | | | | Fixes scala/scala-dev#88
* | bootstrap: configurable starr, skip docs on first module buildJason Zaugg2016-02-181-7/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | A few small improvements I accumulated in while using this script to bootstrap the removal of trait implementation classes. - Allow an extra step to build STARR from a prior commit - Skip Scaladoc in the module builds first round - Speed up the step that cleans the remote repo by skipping the numerous "scala-actors-migration" directories. I've been using this successully as follows: (ant all.clean; mkdir ivy2-shadow; export STARR_REF=$(git rev-parse :/"Nuke trait implementation"); export WORKSPACE=$PWD; bash -ex ./scripts/jobs/integrate/bootstrap)
* | Update to partest 1.0.13Jason Zaugg2016-02-121-14/+0
| | | | | | | | | | Which lets us remove the dependency on sbt-partest-interface, as this has been incorporated into scala-partest itself.
* | Merge commit 'cc6fea6' into merge/2.11.x-to-2.12.x-20160203Jason Zaugg2016-02-043-21/+11
|\| | | | | | | | | | | Conflicts: build.sbt scripts/jobs/integrate/bootstrap
| * Use sbt for PR validation builds.Stefan Zeiger2016-01-123-23/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | # Improve version handling in the sbt build: The new settings `baseVersion` and `baseVersionSuffix` make it easier to set version numbers for different kinds of builds in a consistent way without e.g. having to first get a git SHA outside of sbt. The new task `generateBuildCharacterPropertiesFile` writes the file `buildcharacter.properties` to the root dir. The format is compatible with the same file produced by the ANT build but it only contains a subset of the properties, in particular the Maven version, which is needed in publishing scripts and passed around between different Jenkins jobs as `jenkins.properties`. SHAs in version numbers are consistently shortened to 7 digits (as used by git and github). Previously we used 7 digits in Maven snapshot version numbers but 10 digits in canonical and OSGi version numbers. # Add Jenkins script support to the sbt build: The new command `setupPublishCore` takes the PR validation snapshot repository as an argument and changes the required settings for the `publish-core` build (use SHA-SNAPSHOT versioning, compile with optimization enabled, do not publish scaladoc sets) For example, the following command can be used to generate `buildcharacter.properties` with the version numbers needed for PR validation builds: sbt setupPublishCore dummy generateBuildCharacterPropertiesFile The sbt build will now automatically detect and use a “~/.credentials” file with the credentials for publishing to a remote repository. # Call sbt from `publish-core`: The correct`$SBT_CMD` is set directly in `bootstrap` and used by `publish-core` to first generate `buildcharacter.properties` and then build and publish. Parsing the git revision, computing a version number and getting binary dependencies are no longer required in the script. This is all done in the sbt build.
* | Merge commit '8eb1d4c' into merge-2.11-to-2.12-nov-24Lukas Rytz2015-11-241-0/+15
|\|
| * Windows CI: don't hardcode Ant path quite so hardSeth Tisue2015-10-091-1/+5
| |
| * add experimental Windows script for testingSeth Tisue2015-10-081-0/+11
| | | | | | | | experimental for now. destined to be automated via scala-jenkins-infra