diff options
author | Li Haoyi <haoyi.sg@gmail.com> | 2018-08-13 01:22:04 +0800 |
---|---|---|
committer | Li Haoyi <haoyi.sg@gmail.com> | 2018-08-13 01:22:04 +0800 |
commit | 3dadfbdf338af0e72eefada7bbcb997b62a3798e (patch) | |
tree | 8b6e9730f20f8b8ab233bb5e02c631b3830a4922 /ci | |
parent | 974dcbe09830785f202f54959ae5397e9084f7a0 (diff) | |
download | cask-3dadfbdf338af0e72eefada7bbcb997b62a3798e.tar.gz cask-3dadfbdf338af0e72eefada7bbcb997b62a3798e.tar.bz2 cask-3dadfbdf338af0e72eefada7bbcb997b62a3798e.zip |
cleanup root dir
Diffstat (limited to 'ci')
-rw-r--r-- | ci/upload.sc | 52 | ||||
-rw-r--r-- | ci/version.sc | 37 |
2 files changed, 89 insertions, 0 deletions
diff --git a/ci/upload.sc b/ci/upload.sc new file mode 100644 index 0000000..6c47295 --- /dev/null +++ b/ci/upload.sc @@ -0,0 +1,52 @@ +#!/usr/bin/env amm +import ammonite.ops._ +import scalaj.http._ + +@main +def shorten(longUrl: String) = { + println("shorten longUrl " + longUrl) + val shortUrl = Http("https://git.io") + .postForm(Seq("url" -> longUrl)) + .asString + .headers("Location") + .head + println("shorten shortUrl " + shortUrl) + shortUrl +} +@main +def apply(uploadedFile: Path, + tagName: String, + uploadName: String, + authKey: String): String = { + val body = Http("https://api.github.com/repos/lihaoyi/cask/releases/tags/" + tagName) + .header("Authorization", "token " + authKey) + .asString.body + + val parsed = ujson.read(body) + + println(body) + + val snapshotReleaseId = parsed("id").num.toInt + + + val uploadUrl = + s"https://uploads.github.com/repos/lihaoyi/cask/releases/" + + s"$snapshotReleaseId/assets?name=$uploadName" + + val res = Http(uploadUrl) + .header("Content-Type", "application/octet-stream") + .header("Authorization", "token " + authKey) + .timeout(connTimeoutMs = 5000, readTimeoutMs = 60000) + .postData(read.bytes! uploadedFile) + .asString + + println(res.body) + val longUrl = ujson.read(res.body)("browser_download_url").str.toString + + println("Long Url " + longUrl) + + val shortUrl = shorten(longUrl) + + println("Short Url " + shortUrl) + shortUrl +} diff --git a/ci/version.sc b/ci/version.sc new file mode 100644 index 0000000..4e73530 --- /dev/null +++ b/ci/version.sc @@ -0,0 +1,37 @@ +import ammonite.ops.{%%, pwd} + +val isMasterCommit = { + sys.env.get("TRAVIS_PULL_REQUEST") == Some("false") && + (sys.env.get("TRAVIS_BRANCH") == Some("master") || sys.env("TRAVIS_TAG") != "") +} + +def gitHead = + sys.env.get("TRAVIS_COMMIT").getOrElse( + %%('git, "rev-parse", "HEAD")(pwd).out.string.trim() + ) + + + +def publishVersion = { + val tag = + try Option( + %%('git, 'describe, "--exact-match", "--tags", "--always", gitHead)(pwd).out.string.trim() + ) + catch{case e => None} + + val dirtySuffix = %%('git, 'diff)(pwd).out.string.trim() match{ + case "" => "" + case s => "-DIRTY" + Integer.toHexString(s.hashCode) + } + + tag match{ + case Some(t) => (t, t) + case None => + val latestTaggedVersion = %%('git, 'describe, "--abbrev=0", "--always", "--tags")(pwd).out.trim + + val commitsSinceLastTag = + %%('git, "rev-list", gitHead, "--not", latestTaggedVersion, "--count")(pwd).out.trim.toInt + + (latestTaggedVersion, s"$latestTaggedVersion-$commitsSinceLastTag-${gitHead.take(6)}$dirtySuffix") + } +} |