Skip to content

overhaul CI and publishing #14

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 7 commits into from
Dec 19, 2024
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
15 changes: 15 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
name: test
on:
push:
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 8
- uses: sbt/setup-sbt@v1
- name: Test
run: sbt test publishLocal
11 changes: 11 additions & 0 deletions .github/workflows/cla.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
name: "Check Scala CLA"
on:
pull_request:
jobs:
cla-check:
runs-on: ubuntu-latest
steps:
- name: Verify CLA
uses: scala/cla-checker@v1
with:
author: ${{ github.event.pull_request.user.login }}
22 changes: 22 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: Release
on:
push:
tags: ["*"]
jobs:
publish:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 8
- uses: sbt/setup-sbt@v1
- run: sbt versionCheck ci-release
env:
PGP_PASSPHRASE: ${{secrets.PGP_PASSPHRASE}}
PGP_SECRET: ${{secrets.PGP_SECRET}}
SONATYPE_PASSWORD: ${{secrets.SONATYPE_PASSWORD}}
SONATYPE_USERNAME: ${{secrets.SONATYPE_USERNAME}}
22 changes: 0 additions & 22 deletions .travis.yml

This file was deleted.

69 changes: 0 additions & 69 deletions admin/README.md

This file was deleted.

40 changes: 0 additions & 40 deletions admin/build.sh

This file was deleted.

11 changes: 0 additions & 11 deletions admin/encryptEnvVars.sh

This file was deleted.

40 changes: 0 additions & 40 deletions admin/genKeyPair.sh

This file was deleted.

2 changes: 0 additions & 2 deletions admin/gpg.sbt

This file was deleted.

8 changes: 0 additions & 8 deletions admin/publish-settings.sbt

This file was deleted.

18 changes: 0 additions & 18 deletions admin/pubring.asc

This file was deleted.

Binary file removed admin/secring.asc.enc
Binary file not shown.
47 changes: 13 additions & 34 deletions build.sbt
Original file line number Diff line number Diff line change
@@ -1,37 +1,16 @@
import ScalaModulePlugin._

scalaModuleSettings
scalaModuleSettingsJVM

name := "scala-asm"

enablePlugins(GitVersioning)
lazy val AsmTag = """ASM_(\d+)_(\d+)(?:_(\d+))?(?:_([\w\d_]+))?(-\d+-[\w\d]+)?""".r
lazy val ScalaAsmTag = """v(.*)""".r
git.gitTagToVersionNumber := {
case AsmTag(maj, min, pat, suf, des) =>
// map a git-describe version built from an asm tag to a compatible version number
val p = if (pat != null && pat != "") s".$pat" else ""
val s = if (suf != null && suf != "") s"-$suf" else ""
val d = if (des != null && des != "") des else ""
Some(s"$maj.$min$p$s$d")
case ScalaAsmTag(v) =>
Some(v)
case v =>
throw new Error(s"Cannot get version number from git-describe: $v")
}
git.useGitDescribe := true

// No Scala sources, but still set some version. Need to set `crossScalaVersions` for the
// sbt-scala-module plugin, which will then set scalaVersion.
crossScalaVersions in ThisBuild := List("2.12.7")

// Otherwise the artifact has a dependency on scala-library
// build
autoScalaLibrary := false

// Don't add `_<scala-version>` to the jar file name - it's a Java-only project, no Scala cross-versioning needed
crossPaths := false
Compile / compile / javacOptions ++= Seq("-g", "-parameters")

javacOptions in compile ++= Seq("-g", "-parameters")

OsgiKeys.exportPackage := Seq(s"scala.tools.asm.*;version=${version.value}")
// publish
name := "scala-asm"
organization := "org.scala-lang.modules"
sonatypeProfileName := "org.scala-lang"
homepage := Some(url("https://github.com/scala/scala-asm"))
licenses := Seq("BSD 3-clause" -> url("http://opensource.org/licenses/BSD-3-Clause"))
scmInfo := Some(ScmInfo(url("https://github.com/scala/scala-asm"),
"scm:git:[email protected]:scala/scala-asm.git"))

// override sbt-dynver (sbt-ci-release brings it, but we don't want it)
version := "9.7.1-scala-1"
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.18
sbt.version=1.10.6
5 changes: 1 addition & 4 deletions project/plugins.sbt
Original file line number Diff line number Diff line change
@@ -1,4 +1 @@
addSbtPlugin("org.scala-lang.modules" % "sbt-scala-module" % "1.0.14")

// Last version that works on Java 6
addSbtPlugin("com.typesafe.sbt" % "sbt-git" % "0.8.5")
addSbtPlugin("com.github.sbt" % "sbt-ci-release" % "1.9.0")
Loading