Skip to content

Comments

Make Balta releasable under new Maven central repository#55

Merged
ABLL526 merged 4 commits intomasterfrom
54-make-balta-releasable-under-new-maven-central-repository
Sep 12, 2025
Merged

Make Balta releasable under new Maven central repository#55
ABLL526 merged 4 commits intomasterfrom
54-make-balta-releasable-under-new-maven-central-repository

Conversation

@ABLL526
Copy link
Contributor

@ABLL526 ABLL526 commented Sep 8, 2025

Make Balta releasable under new Maven central repository

Closes #54

Release Notes:

  • Updated sbt.version to 1.11.5 for release.
  • Updated Developers
  • Updated sbt-ci-release to 1.11.2
  • Removed: sonatypeProfileName := "za.co.absa"
  • Updated scala213 = "2.13.13"
  • Updated uses: coursier/cache-action to v6

Summary by CodeRabbit

  • Chores
    • Upgraded Scala 2.13 patch for improved compatibility and maintenance.
    • Updated sbt and release plugin to newer versions for more reliable builds and publishing.
    • Bumped CI caching action to a newer release to improve workflow performance.
    • Refined publishing configuration and removed an obsolete profile setting.
    • Added two maintainers to the project’s developer metadata.
    • No user-facing behavior changes; build/release infrastructure only.

Closes #139

Release Notes:
- Updated `sbt.version` to `1.11.5` for release.
- Updated Developers
- Updated `sbt-ci-release` to `1.11.2`
- Removed: `sonatypeProfileName := "za.co.absa"`
- Updated `scala213 = "2.13.13"`
@ABLL526 ABLL526 linked an issue Sep 8, 2025 that may be closed by this pull request
@ABLL526 ABLL526 self-assigned this Sep 8, 2025
@ABLL526 ABLL526 added the refactoring Improving code quality, paying off tech debt, aligning API, cleanup of unused code label Sep 8, 2025
@coderabbitai
Copy link

coderabbitai bot commented Sep 8, 2025

Walkthrough

Bumps Scala patch to 2.13.13, upgrades SBT to 1.11.5, updates sbt-ci-release to 1.11.2, adds two developers to publish metadata, removes sonatypeProfileName, and updates the CI cache-action version.

Changes

Cohort / File(s) Summary
Scala version bump
build.sbt
Updated scala213 from "2.13.11""2.13.13"; supportedScalaVersions now includes 2.13.13.
SBT core upgrade
project/build.properties
Upgraded sbt.version from 1.9.21.11.5.
Release plugin update
project/plugins.sbt
Updated sbt-ci-release version variable from 1.5.101.11.2.
Publishing metadata changes
publish.sbt
Added two Developer entries (ABLL526, jakipatryk) to ThisBuild / developers; removed sonatypeProfileName := "za.co.absa".
CI workflow tweak
.github/workflows/build.yml
Updated matrix Scala entry 2.13.112.13.13; bumped uses: coursier/cache-action from v5v6.

Sequence Diagram(s)

(omitted — changes are configuration/dependency updates without runtime control-flow changes)

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related issues

Pre-merge checks (4 passed, 1 warning)

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Out of Scope Changes Check ⚠️ Warning Most edits are release-focused, but the PR also introduces changes not explicitly requested by issue [#54]: bumping scala213 to 2.13.13 (build.sbt), adding two developer entries in publish.sbt, and adjusting the GitHub Actions scala matrix and coursier/cache-action versions; these modifications extend the scope beyond the core release-tooling updates and should be justified or separated. Ask the author to document why the Scala version bump, developer additions, and workflow tweaks are required for this release or split those changes into separate PRs so the release-related changes remain minimal and easier to review.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title Check ✅ Passed The PR title "Make Balta releasable under new Maven central repository" directly states the primary objective and matches the PR description and changes (sbt and sbt-ci-release upgrades and Sonatype-related adjustments), making it concise and focused for a reviewer scanning history.
Linked Issues Check ✅ Passed The PR implements the coding-related items from linked issue [#54]: sbt.version is bumped to 1.11.5 and sbt-ci-release is upgraded to 1.11.2, and Sonatype-related build configuration (sonatypeProfileName) was removed, which aligns with making Balta releasable under the new Maven Central; updating repository SONATYPE secrets is an out-of-repo/non-code task and therefore not expected in these diffs.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.

Poem

A rabbit nudges code with cheer,
SBT hops forward, Scala near.
Two new friends join the burrow bright,
Sonatype signs fade from sight.
Cache refreshed — the build takes flight! 🐇✨


📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 433f674 and ea2f1a3.

📒 Files selected for processing (1)
  • .github/workflows/build.yml (2 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • .github/workflows/build.yml
✨ Finishing touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch 54-make-balta-releasable-under-new-maven-central-repository

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions
Copy link

github-actions bot commented Sep 8, 2025

JaCoCo 'balta' module code coverage report - scala 2.12.18

Overall Project 62.73% 🍏

There is no coverage information present for the Files changed

Co-authored-by: David Benedeki <14905969+benedeki@users.noreply.github.com>
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (2)
publish.sbt (2)

17-23: Fix SCM URLs: they point to atum-service instead of balta.

Publishing with incorrect SCM will produce misleading POM metadata on Maven Central. Suggest updating to this repository.

Apply:

-ThisBuild / scmInfo := Some(
-  ScmInfo(
-    browseUrl = url("https://github.com/AbsaOSS/atum-service/tree/master"),
-    connection = "scm:git:git://github.com/AbsaOSS/atum-service.git",
-    devConnection = "scm:git:ssh://github.com/AbsaOSS/atum-service.git"
-  )
-)
+ThisBuild / scmInfo := Some(
+  ScmInfo(
+    browseUrl = url("https://github.com/AbsaOSS/balta/tree/master"),
+    connection = "scm:git:https://github.com/AbsaOSS/balta.git",
+    devConnection = "scm:git:git@github.com:AbsaOSS/balta.git"
+  )
+)

72-73: Homepage points to atum-service; update to balta.

This affects the POM’s homepage field on Central.

-ThisBuild / homepage := Some(url("https://github.com/AbsaOSS/atum-service"))
+ThisBuild / homepage := Some(url("https://github.com/AbsaOSS/balta"))
🧹 Nitpick comments (1)
publish.sbt (1)

25-62: Optional: align authorship policy (if applicable).

If your project policy is “developers = maintainers,” confirm both newly added entries reflect current maintainers; otherwise consider listing non-maintainers under contributors in docs instead of POM.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 87c997b and fb24225.

📒 Files selected for processing (4)
  • build.sbt (1 hunks)
  • project/build.properties (1 hunks)
  • project/plugins.sbt (1 hunks)
  • publish.sbt (1 hunks)
🔇 Additional comments (3)
build.sbt (1)

22-22: Approve Scala 2.13.13 bump; manual cross-build verification required
LGTM. Please manually run:

sbt -v "++ 2.11.12; test" "++ 2.12.18; test" "++ 2.13.13; test"

to confirm binary compatibility across all supported Scala versions.

project/plugins.sbt (1)

1-1: sbt-ci-release → 1.11.2 LGTM; double-check Central Portal credentials.

  1. Removing sonatypeProfileName is correct for the Central Portal flow.
  2. Ensure your SONATYPE credentials/tokens are from central.sonatype.com and updated in CI.

Please run a dry run of sbt ci-release in a branch with publishing disabled (or using a snapshot) to validate the new flow end-to-end.

publish.sbt (1)

44-55: Developers metadata addition LGTM.

Accurate and helpful for POM metadata.

@@ -1 +1 @@
sbt.version=1.9.2
sbt.version=1.11.5
Copy link

@coderabbitai coderabbitai bot Sep 10, 2025

Choose a reason for hiding this comment

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

💡 Verification agent

🧩 Analysis chain

sbt 1.11.5 upgrade LGTM; ensure CI JDK is compatible.

Confirm your CI uses a compatible JDK (11 or 17 preferred) for sbt 1.11.x.

If you use GitHub Actions, verify Java setup in workflows:


🏁 Script executed:

#!/bin/bash
fd -a .github/workflows | xargs -r rg -n -C2 'actions/setup-java|java-version'

Length of output: 373


🏁 Script executed:

#!/bin/bash
# verify .github/workflows directory
if [ ! -d ".github/workflows" ]; then
  echo "No .github/workflows directory found"
  exit 0
fi

# search all workflow files for setup-java or java-version
find .github/workflows -type f \( -name '*.yml' -o -name '*.yaml' \) \
  | xargs -r rg -n -C2 'actions/setup-java|java-version'

Length of output: 931


CI Java version update required
The GitHub workflows are still using java-version: "adopt@1.8", but sbt 1.11.x requires JDK 11+. In .github/workflows/release_publish.yml (line 36), .github/workflows/jacoco_report.yml (line 39), and .github/workflows/build.yml (line 59), update the java-version input to at least "adopt@11" (or preferably "temurin@17").

🤖 Prompt for AI Agents
In project/build.properties line 1, sbt.version is 1.11.5 which requires JDK
11+, but the GitHub workflows still use java-version: "adopt@1.8"; update the
java-version input in .github/workflows/release_publish.yml (line 36),
.github/workflows/jacoco_report.yml (line 39), and .github/workflows/build.yml
(line 59) to at least "adopt@11" or preferably "temurin@17" so CI uses a
compatible JDK for sbt 1.11.x.

Copy link
Contributor

Choose a reason for hiding this comment

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

This might be misleading. We had released spark-data-standardization library, which is Java 8 using this sbt.

Copy link

Choose a reason for hiding this comment

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

, meaning JDK 8 is still fully supported.

The current GitHub workflow configuration using java-version: "adopt@1.8" is perfectly compatible with sbt 1.11.5. Thank you for the correction - this helps avoid unnecessary changes to a working CI setup!


✏️ Learnings added
Learnt from: benedeki
PR: AbsaOSS/balta#55
File: project/build.properties:1-1
Timestamp: 2025-09-11T08:21:36.714Z
Learning: sbt 1.11.5 and other sbt 1.x versions support and can run on JDK 8, despite common misconceptions that newer sbt versions require JDK 11+. The AbsaOSS organization has successfully released Java 8 libraries using sbt 1.11.5, as demonstrated with the spark-data-standardization library.

Note: Learnings are effective only in the context of similar code segments. To apply general coding guidelines, please configure review instructions. You can manage existing learnings in the app.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Nitpick comments (2)
.github/workflows/build.yml (2)

50-56: Optional: Pin GitHub Actions by commit SHA for supply‑chain hardening.

Pinning avoids tag retargeting risks. Applies to checkout, cache-action, and setup steps.


56-60: Use actions/setup-java@v4 with Temurin JDK 8 for Java setup and centralize caching

sbt 1.11.5 supports JDK 8, so you can swap out the aging olafurpg/setup-scala action for actions/setup-java@v4 and lean on your existing coursier/cache-action for dependency caching:

-      - name: Setup Scala
-        uses: olafurpg/setup-scala@v10
-        with:
-          java-version: "adopt@1.8"
+      - name: Setup Java (Temurin)
+        uses: actions/setup-java@v4
+        with:
+          distribution: temurin
+          java-version: '8'
+          cache: 'none' # coursier/cache-action handles dependency caching
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between fb24225 and 433f674.

📒 Files selected for processing (1)
  • .github/workflows/build.yml (1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: Scala 2.11.12
🔇 Additional comments (2)
.github/workflows/build.yml (2)

54-54: Bump to coursier/cache-action v6 — LGTM.

Action upgrade looks fine.


32-35: Align CI Scala matrix with build.sbt supportedScalaVersions

.github/workflows/build.yml:32

-        scala: [2.11.12, 2.12.18, 2.13.11]
+        scala: [2.11.12, 2.12.18, 2.13.13]

@@ -1 +1 @@
sbt.version=1.9.2
sbt.version=1.11.5
Copy link
Contributor

Choose a reason for hiding this comment

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

This might be misleading. We had released spark-data-standardization library, which is Java 8 using this sbt.

lazy val scala211 = "2.11.12"
lazy val scala212 = "2.12.18"
lazy val scala213 = "2.13.11"
lazy val scala213 = "2.13.13"
Copy link
Contributor

Choose a reason for hiding this comment

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

If you changing this change in build.yml too perhaps.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

You are correct, [build.yml](https://github.com/AbsaOSS/balta/blob/master/.github/workflows/build.yml) is now also updated

Changed to `2.13.13`
@ABLL526 ABLL526 added enhancement New feature or request and removed refactoring Improving code quality, paying off tech debt, aligning API, cleanup of unused code labels Sep 11, 2025
@ABLL526 ABLL526 merged commit 35c39c7 into master Sep 12, 2025
13 checks passed
@ABLL526 ABLL526 deleted the 54-make-balta-releasable-under-new-maven-central-repository branch September 12, 2025 12:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Make Balta releasable under new Maven central repository

2 participants