Skip to content

Setup releases from CI #58

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
Sep 24, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .jvmopts
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
-Xss4m
-Xms1G
-Xmx8G
-XX:ReservedCodeCacheSize=1024m
-XX:+TieredCompilation
-XX:+CMSClassUnloadingEnabled

39 changes: 20 additions & 19 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,31 +1,32 @@
language: scala
sudo: required
dist: trusty
script:
# plz is like ++ except it skips projects that are not defined for that scala version.
- sbt "plz $TRAVIS_SCALA_VERSION test"
jdk:
- oraclejdk8
scala:
- 2.10.7
- 2.11.12
- 2.12.6
- 2.13.0-M5
env:
- SCALAJS_VERSION=0.6.25
matrix:
sudo: required
dist: trusty
stages:
- name: test
- name: release
if: (branch = master AND type = push) OR (tag IS present)
script: sbt "++$TRAVIS_SCALA_VERSION test"
jobs:
include:
- scala: 2.10.7
jdk: openjdk7
before_install:
- curl https://raw.githubusercontent.com/scala-native/scala-native/master/scripts/travis_setup.sh | bash -x
- scala: 2.11.12
before_install:
- curl https://raw.githubusercontent.com/scala-native/scala-native/master/scripts/travis_setup.sh | bash -x
- scala: 2.12.6
- scala: 2.13.0-M5

# Release stable release on tag push and snapshot on merge to master
- stage: release
script: sbt ci-release
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

@lihaoyi are you OK if I configure publishing credential in the Travis UI to publish releases on tag push?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I went ahead and included the credentials as secret environment variables in the Travis web UI settings. Please let me know if we should revert. I generated a fresh gpg key only to publish sourcecode.


cache:
directories:
- $HOME/.sbt/0.13/dependency
- $HOME/.sbt/boot/scala*
- $HOME/.sbt/launchers
- $HOME/.sbt/zinc
- $HOME/.ivy2/cache
- $HOME/.nvm
- $HOME/.cache/coursier
before_cache:
- du -h -d 1 $HOME/.ivy2/cache
- du -h -d 2 $HOME/.sbt/
Expand Down
23 changes: 6 additions & 17 deletions build.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -5,34 +5,24 @@ val scala210 = "2.10.7"
val scala211 = "2.11.12"
val scala212 = "2.12.6"
val scala213 = "2.13.0-M5"
val baseSettings = Seq(

inThisBuild(List(
organization := "com.lihaoyi",
name := "sourcecode",
version := "0.1.5-SNAPSHOT",
scalaVersion := scala211,
crossScalaVersions := Seq(scala210, scala211, scala212, scala213),
scmInfo := Some(ScmInfo(
browseUrl = url("https://github.com/lihaoyi/sourcecode"),
connection = "scm:git:[email protected]:lihaoyi/sourcecode.git"
)),
homepage := Some(url("https://github.com/lihaoyi/sourcecode")),
licenses := Seq("MIT" -> url("http://www.opensource.org/licenses/mit-license.html")),
developers += Developer(
email = "[email protected]",
id = "lihaoyi",
name = "Li Haoyi",
url = url("https://github.com/lihaoyi")
),
publishTo := Some("releases" at "https://oss.sonatype.org/service/local/staging/deploy/maven2")
)
lazy val noPublish = Seq(
publishArtifact := false,
publish := {},
publishLocal := {}
)
)
))

baseSettings
noPublish
skip in publish := true
crossScalaVersions := List() // required for `++2.12.6 test` to ignore native project

def macroDependencies(version: String) =
Seq(
Expand All @@ -47,7 +37,6 @@ def macroDependencies(version: String) =

lazy val sourcecode = crossProject(JSPlatform, JVMPlatform, NativePlatform)
.settings(
baseSettings,
libraryDependencies ++= macroDependencies(scalaVersion.value),
test in Test := (run in Test).toTask("").value,
unmanagedSourceDirectories in Compile ++= {
Expand Down
2 changes: 1 addition & 1 deletion project/build.properties
Original file line number Diff line number Diff line change
@@ -1 +1 @@
sbt.version=0.13.17
sbt.version=1.2.3
4 changes: 2 additions & 2 deletions project/build.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ val scalaJSVersion =

addSbtPlugin("org.scala-js" % "sbt-scalajs" % scalaJSVersion)

addSbtPlugin("com.eed3si9n" % "sbt-doge" % "0.1.5")
addSbtPlugin("com.typesafe.sbt" % "sbt-osgi" % "0.8.0")
addSbtPlugin("com.geirsson" % "sbt-ci-release" % "1.2.2")
addSbtPlugin("com.typesafe.sbt" % "sbt-osgi" % "0.9.4")
addSbtPlugin("org.portable-scala" % "sbt-scalajs-crossproject" % "0.6.0")
addSbtPlugin("org.scala-native" % "sbt-scala-native" % "0.3.8")
addSbtPlugin("org.portable-scala" % "sbt-scala-native-crossproject" % "0.6.0")
Expand Down