Skip to content

#162: release automation and documentation update#163

Merged
lsulak merged 4 commits into
masterfrom
feature/162-release-mechanism-update
May 13, 2026
Merged

#162: release automation and documentation update#163
lsulak merged 4 commits into
masterfrom
feature/162-release-mechanism-update

Conversation

@lsulak
Copy link
Copy Markdown
Collaborator

@lsulak lsulak commented May 12, 2026

Closes #162

Adopting https://github.com/sbt/sbt-ci-release so that the releases stay functional and this process is consistent with our other AbsaOSS projects, such as https://github.com/AbsaOSS/atum-service/ or https://github.com/AbsaOSS/spark-data-standardization

@lsulak lsulak requested review from Copilot, miroslavpojer, petr-pokorny-absa and yruslan and removed request for Copilot and petr-pokorny-absa May 12, 2026 14:34
@lsulak lsulak self-assigned this May 12, 2026
@lsulak lsulak requested review from Zejnilovic and dk1844 May 12, 2026 14:34
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR modernizes Atum’s release process by migrating from the legacy Sonatype OSSRH publishing setup to sbt-ci-release, aligning release automation with other AbsaOSS sbt-based repositories and updating related documentation/CI configuration.

Changes:

  • Adopt sbt-ci-release and remove legacy publish/signing configuration (including version.sbt-pinned versioning).
  • Add a manual GitHub Actions Release workflow (workflow_dispatch) to run sbt ci-release.
  • Update CI/tooling configuration (SBT version bump, add versionScheme, update README/release docs and checkout action pinning).

Reviewed changes

Copilot reviewed 10 out of 11 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
version.sbt Removes build-pinned snapshot version in favor of CI/tag-based versioning.
build.sbt Adds versionScheme for semver metadata with sbt versioning.
publish.sbt Removes old Sonatype publish target configuration; keeps project metadata.
project/plugins.sbt Adds sbt-ci-release and removes explicit sbt-pgp.
project/build.properties Updates sbt version.
RELEASE.md Documents the new sbt-ci-release-based release procedure.
README.md Updates Maven Central link target.
.github/workflows/release.yml Adds manual release workflow running sbt ci-release.
.github/workflows/build-sbt.yml Pins actions/checkout to a SHA and adjusts checkout settings.
.github/workflows/jacoco_check.yml Pins actions/checkout to a SHA and adjusts checkout settings.
.github/workflows/license_check.yml Pins actions/checkout to a SHA and adjusts checkout settings.
Comments suppressed due to low confidence (1)

publish.sbt:47

  • pomIncludeRepository := (_ => false) was removed. Without explicitly disabling repository entries in the generated POM, published artifacts can end up embedding resolver/repository information, which is typically undesired for Maven Central publishing. If sbt-ci-release (or another setting) doesn’t already enforce this, please add it back at the build level.
ThisBuild / homepage := Some(url("https://github.com/AbsaOSS/atum"))
ThisBuild / description := "Dynamic data completeness and accuracy at enterprise scale in Apache Spark"

ThisBuild / organizationName := "ABSA Group Limited"
ThisBuild / startYear := Some(2018)
ThisBuild / licenses += "Apache-2.0" -> url("https://www.apache.org/licenses/LICENSE-2.0.txt")


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread README.md Outdated
Comment thread RELEASE.md Outdated
Copy link
Copy Markdown
Collaborator

@yruslan yruslan left a comment

Choose a reason for hiding this comment

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

Looks good

@github-actions
Copy link
Copy Markdown

JaCoCo code coverage report - scala:2.12.15

Overall Project 52.77% 🍏

There is no coverage information present for the Files changed

@github-actions
Copy link
Copy Markdown

JaCoCo code coverage report - scala:2.13.14

Overall Project 49.91% 🍏

There is no coverage information present for the Files changed

@github-actions
Copy link
Copy Markdown

JaCoCo code coverage report - scala:2.11.12

Overall Project 47.62% 🍏

There is no coverage information present for the Files changed

yruslan
yruslan previously approved these changes May 12, 2026
…SparkTestBase

Details: setting spark.sql.queryExecutionListeners.async=false to prevent a race condition in Spark 3.2+ where the _INFO file written by the QueryExecutionListener may not exist by the time the test reads it, as the listener fires on a background thread by default
.replaceAll("""(?<="processStartTime"\s?:\s?")([-+: \d]+)""", testingDateTime1)
.replaceAll("""(?<="processEndTime"\s?:\s?")([-+: \d]+)""", testingDateTime2)
.replaceAll("""(?<="version"\s?:\s?")([-\d\.A-z]+)""", testingVersion)
.replaceAll("""(?<="version"\s?:\s?")([-+\d\.A-z]+)""", testingVersion)
Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

note - I removed the version from the SBT files because it will be detected from git tag and the tests were more exact before

.config("spark.ui.enabled", "false")
.config("spark.testing.memory", 1024*1024*1024) // otherwise may fail based on local machine settings
// Spark 3.2+ fires listeners async by default; sync needed for _INFO file tests
.config("spark.sql.queryExecutionListeners.async", value = false)
Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Potential race condition in file HdfsInfoIntegrationSuite.scala for Spark 3.2+

@lsulak lsulak merged commit b023b2f into master May 13, 2026
14 checks passed
@lsulak lsulak deleted the feature/162-release-mechanism-update branch May 13, 2026 08:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Update the Release mechanism

4 participants