From 15406778788fe1b67b1f78398a4ba41beefb83a8 Mon Sep 17 00:00:00 2001 From: PJ Fanning Date: Fri, 22 Dec 2023 13:47:45 +0100 Subject: [PATCH] use sbt-pekko-build temporarily test with pekko main snapshot Update build.sbt logback issue sbt-pekko-build 1.0.2 add nightly job Update nightly-pekko-1.1-builds.yaml Update nightly-pekko-1.1-builds.yaml multiple jdks temp run for pull request Update KinesisTest.java Update nightly-pekko-1.1-builds.yaml Update nightly-pekko-1.1-builds.yaml deprecation issue Update DirectoryChangesSource.java Update nightly-pekko-1.1-builds.yaml Revert "Update DirectoryChangesSource.java" This reverts commit 1b1932a4e0c78142f76bd45ce6471d34a971c3fb. Revert "deprecation issue" This reverts commit 2b41b26ad1a740bacaaed35994cf2fc7a2e5ff44. Revert "Update KinesisTest.java" This reverts commit a7c472fbe44ee90c8a3e0d4cd4ee0576f0ef98a4. Revert "temp run for pull request" This reverts commit c92b62db801aa4aa912e0a683272607ec17f6250. --- .github/workflows/check-build-test.yml | 6 +-- .github/workflows/headers.yml | 2 +- .github/workflows/link-validator.yml | 2 +- .github/workflows/nightly-builds.yaml | 2 +- .../workflows/nightly-pekko-1.1-builds.yaml | 43 +++++++++++++++++++ .github/workflows/publish-1.0-docs.yml | 2 +- .github/workflows/publish-nightly.yml | 2 +- build.sbt | 3 ++ project/Dependencies.scala | 9 ++-- project/plugins.sbt | 1 + 10 files changed, 61 insertions(+), 11 deletions(-) create mode 100644 .github/workflows/nightly-pekko-1.1-builds.yaml diff --git a/.github/workflows/check-build-test.yml b/.github/workflows/check-build-test.yml index 9fc7b56f2..3ff858d09 100644 --- a/.github/workflows/check-build-test.yml +++ b/.github/workflows/check-build-test.yml @@ -28,7 +28,7 @@ jobs: fetch-depth: 0 - name: Setup Java 8 - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: distribution: temurin java-version: 8 @@ -53,7 +53,7 @@ jobs: fetch-depth: 0 - name: Setup Java 11 - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: distribution: temurin java-version: 11 @@ -135,7 +135,7 @@ jobs: fetch-depth: 0 - name: Setup Java 8 - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: distribution: temurin java-version: 8 diff --git a/.github/workflows/headers.yml b/.github/workflows/headers.yml index e040d34cb..7f723e562 100644 --- a/.github/workflows/headers.yml +++ b/.github/workflows/headers.yml @@ -17,7 +17,7 @@ jobs: fetch-depth: 0 - name: Setup Java 8 - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: distribution: temurin java-version: 8 diff --git a/.github/workflows/link-validator.yml b/.github/workflows/link-validator.yml index 4bf4e7230..76b262f46 100644 --- a/.github/workflows/link-validator.yml +++ b/.github/workflows/link-validator.yml @@ -16,7 +16,7 @@ jobs: fetch-depth: 0 - name: Setup Java 11 - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: distribution: temurin java-version: 11 diff --git a/.github/workflows/nightly-builds.yaml b/.github/workflows/nightly-builds.yaml index a9b6202e7..85d88c57c 100644 --- a/.github/workflows/nightly-builds.yaml +++ b/.github/workflows/nightly-builds.yaml @@ -19,7 +19,7 @@ jobs: fetch-depth: 0 - name: Setup Java 8 - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: distribution: temurin java-version: 8 diff --git a/.github/workflows/nightly-pekko-1.1-builds.yaml b/.github/workflows/nightly-pekko-1.1-builds.yaml new file mode 100644 index 000000000..63ee71a74 --- /dev/null +++ b/.github/workflows/nightly-pekko-1.1-builds.yaml @@ -0,0 +1,43 @@ +name: Nightly Pekko 1.1 Builds + +on: + schedule: + - cron: "0 0 * * *" + workflow_dispatch: + +permissions: {} + +concurrency: + # Only run once for latest commit per ref and cancel other (previous) runs. + group: pekko-1.1-${{ github.ref }} + cancel-in-progress: true + +jobs: + test-compile: + name: Compile + runs-on: ubuntu-20.04 + strategy: + fail-fast: false + matrix: + JDK: [ 8, 11 ] + env: + JAVA_OPTS: -Xms2G -Xmx2G -Xss2M -XX:ReservedCodeCacheSize=256M -Dfile.encoding=UTF-8 + + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + fetch-tags: true + fetch-depth: 0 + + - name: Setup Java ${{ matrix.JDK }} + uses: actions/setup-java@v4 + with: + distribution: temurin + java-version: ${{ matrix.JDK }} + + - name: Cache Coursier cache + uses: coursier/cache-action@v6.4.0 + + - name: "compile, including tests. Run locally with: sbt -Dpekko.build.pekko.version=main +Test/compile" + run: sbt -Dpekko.build.pekko.version=main +Test/compile diff --git a/.github/workflows/publish-1.0-docs.yml b/.github/workflows/publish-1.0-docs.yml index 2e626a11e..758daff92 100644 --- a/.github/workflows/publish-1.0-docs.yml +++ b/.github/workflows/publish-1.0-docs.yml @@ -19,7 +19,7 @@ jobs: fetch-depth: 0 - name: Setup Java 8 - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: distribution: temurin java-version: 8 diff --git a/.github/workflows/publish-nightly.yml b/.github/workflows/publish-nightly.yml index a7f0a2dc3..864870fec 100644 --- a/.github/workflows/publish-nightly.yml +++ b/.github/workflows/publish-nightly.yml @@ -21,7 +21,7 @@ jobs: fetch-depth: 0 - name: Setup Java 8 - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: distribution: temurin java-version: 8 diff --git a/build.sbt b/build.sbt index 454f1533d..65a2ad301 100644 --- a/build.sbt +++ b/build.sbt @@ -12,6 +12,7 @@ import net.bzzt.reproduciblebuilds.ReproducibleBuildsPlugin.reproducibleBuildsCh ThisBuild / apacheSonatypeProjectProfile := "pekko" sourceDistName := "apache-pekko-connectors" sourceDistIncubating := true +ThisBuild / resolvers += Resolver.ApacheMavenSnapshotsRepo commands := commands.value.filterNot { command => command.nameOption.exists { name => @@ -470,6 +471,8 @@ def internalProject(projectId: String, additionalSettings: sbt.Def.SettingsDefin Global / onLoad := (Global / onLoad).value.andThen { s => val v = version.value val log = sLog.value + log.info( + s"Building Pekko Connectors $v against Pekko ${Dependencies.PekkoVersion} on Scala ${(googleCommon / scalaVersion).value}") if (dynverGitDescribeOutput.value.hasNoTags) log.error( s"Failed to derive version from git tags. Maybe run `git fetch --unshallow` or `git fetch upstream` on a fresh git clone from a fork? Derived version: $v") diff --git a/project/Dependencies.scala b/project/Dependencies.scala index 3bf15d496..e4a1b07c5 100644 --- a/project/Dependencies.scala +++ b/project/Dependencies.scala @@ -10,6 +10,7 @@ import sbt._ import Common.isScala3 import Keys._ +import com.github.pjfanning.pekkobuild.PekkoDependency object Dependencies { @@ -20,8 +21,8 @@ object Dependencies { val Scala3 = "3.3.1" val ScalaVersions = Seq(Scala213, Scala212, Scala3) - val PekkoVersion = "1.0.2" - val PekkoBinaryVersion = "1.0" + val PekkoVersion = PekkoDependency.pekkoVersionDerivedFromDefault("1.0.2") + val PekkoBinaryVersion = PekkoVersion.take(3) val InfluxDBJavaVersion = "2.15" @@ -40,6 +41,8 @@ object Dependencies { val hoverflyVersion = "0.14.1" val scalaCheckVersion = "1.16.0" + val LogbackVersion = if (PekkoBinaryVersion == "1.0") "1.2.13" else "1.3.14" + /** * Calculates the scalatest version in a format that is used for `org.scalatestplus` scalacheck artifacts * @@ -72,7 +75,7 @@ object Dependencies { "org.apache.pekko" %% "pekko-stream" % PekkoVersion, "org.apache.pekko" %% "pekko-stream-testkit" % PekkoVersion, "org.apache.pekko" %% "pekko-slf4j" % PekkoVersion, - "ch.qos.logback" % "logback-classic" % "1.2.13", + "ch.qos.logback" % "logback-classic" % LogbackVersion, "org.scalatest" %% "scalatest" % ScalaTestVersion, "com.dimafeng" %% "testcontainers-scala-scalatest" % TestContainersScalaTestVersion, "com.novocode" % "junit-interface" % "0.11", diff --git a/project/plugins.sbt b/project/plugins.sbt index 14c543ee8..1679336b9 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -14,6 +14,7 @@ addSbtPlugin("com.dwijnand" % "sbt-dynver" % "4.1.1") addSbtPlugin("net.bzzt" % "sbt-reproducible-builds" % "0.31") addSbtPlugin("org.mdedetrich" % "sbt-apache-sonatype" % "0.1.10") addSbtPlugin("com.github.pjfanning" % "sbt-source-dist" % "0.1.11") +addSbtPlugin("com.github.pjfanning" % "sbt-pekko-build" % "0.1.1") addSbtPlugin("com.github.sbt" % "sbt-license-report" % "1.6.1") // discipline addSbtPlugin("de.heikoseeberger" % "sbt-header" % "5.9.0")