Skip to content

Adopt shared Scala CI workflow - #214

Merged
mr-git merged 2 commits into
masterfrom
adopt-shared-ci
Aug 10, 2026
Merged

Adopt shared Scala CI workflow#214
mr-git merged 2 commits into
masterfrom
adopt-shared-ci

Conversation

@stasimus

@stasimus stasimus commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Replaces the hand-written ci.yml with a call to the shared workflow, so tests, coverage, binary compatibility, formatting and scaladoc are configured centrally. Same for scalafmt. Also drops the Slack step, which used the archived slatify action.

Checks now run as explicit sbt tasks rather than through the check alias, and checkout is unshallow so versionPolicyCheck has a previous version to compare against.

Part of evolution-gaming/scala-github-actions#5

Summary by CodeRabbit

  • Chores
    • Updated automated build and test workflows for pushes and pull requests.
    • Standardized CI execution across supported Scala versions using Java 21.
    • Replaced the previous coverage tooling with Scoverage.
    • Disabled automated Scalafmt checks in the CI workflow.

@coveralls

coveralls commented Aug 7, 2026

Copy link
Copy Markdown

Coverage Report for CI Build 31414128720

Coverage decreased (-15.1%) to 40.493%

Details

  • Coverage decreased (-15.1%) from the base build.
  • Patch coverage: No coverable lines changed in this PR.
  • No coverage regressions found.

Uncovered Changes

No uncovered changes found.

Coverage Regressions

No coverage regressions found.


Coverage Stats

Coverage Status
Relevant Lines: 351
Covered Lines: 195
Line Coverage: 55.56%
Relevant Branches: 338
Covered Branches: 84
Branch Coverage: 24.85%
Branches in Coverage %: Yes
Coverage Strength: 0.82 hits per line

💛 - Coveralls

@coderabbitai

coderabbitai Bot commented Aug 10, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

The pull request replaces the local CI job with a reusable Scala workflow. It configures Scala 2.13.16, Scala 3.3.3, Java 21, and disabled Scalafmt checks. It also replaces sbt-coveralls with sbt-scoverage 2.4.4.

Changes

CI and coverage tooling

Layer / File(s) Summary
Coverage plugin replacement
project/plugins.sbt
The project removes sbt-coveralls and adds sbt-scoverage version 2.4.4.
Reusable CI workflow
.github/workflows/ci.yml
Pushes and pull requests use the reusable evolution-gaming/scala-github-actions workflow with Scala 2.13.16, Scala 3.3.3, Java 21, and scalafmt_check: false.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related issues

  • evolution-gaming/scala-github-actions#5 — The changes implement the shared CI workflow rollout and adopt scoverage described by this issue.
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly describes the main change: replacing the handwritten CI workflow with a shared Scala CI workflow.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch adopt-shared-ci

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

@sonarqubecloud

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.github/workflows/ci.yml:
- Line 12: Update the scala_versions matrix in the CI workflow to use Scala
2.13.18 instead of 2.13.16, while preserving the existing Scala 3.3.3 entry.
- Around line 14-15: Resolve the formatting check configuration by either adding
the sbt-scalafmt plugin and Scalafmt configuration, then enabling
scalafmt_check, or keeping it disabled while removing the TODO and linking a
tracking issue. Update the scalafmt_check setting in the CI workflow
consistently with the selected approach.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 417c0572-699a-4762-a958-1f38b503bb1f

📥 Commits

Reviewing files that changed from the base of the PR and between 7a9a8d8 and 2f99b9b.

📒 Files selected for processing (2)
  • .github/workflows/ci.yml
  • project/plugins.sbt
💤 Files with no reviewable changes (1)
  • project/plugins.sbt

Comment thread .github/workflows/ci.yml
url: ${{ secrets.SLACK_WEBHOOK }} No newline at end of file
uses: evolution-gaming/scala-github-actions/.github/workflows/ci.yml@dde27b9bd793d41d5aacf8fb74403c9de5da1146 # v6.3.0
with:
scala_versions: '["2.13.16", "3.3.3"]'

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

# Verify the repository cross-build contract.
rg -n -C 2 'scalaVersion|crossScalaVersions' build.sbt

# Verify that the pinned reusable workflow accepts scala_versions.
curl -fsSL \
  https://raw.githubusercontent.com/evolution-gaming/scala-github-actions/dde27b9bd793d41d5aacf8fb74403c9de5da1146/.github/workflows/ci.yml \
  | rg -n -C 3 'scala_versions|inputs:'

Repository: evolution-gaming/conhub

Length of output: 1346


Test Scala 2.13.18 in CI.

build.sbt declares Scala 2.13.18, but this matrix selects 2.13.16. Set the matrix value to 2.13.18.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.github/workflows/ci.yml at line 12, Update the scala_versions matrix in the
CI workflow to use Scala 2.13.18 instead of 2.13.16, while preserving the
existing Scala 3.3.3 entry.

Comment thread .github/workflows/ci.yml
Comment on lines +14 to +15
# TODO no sbt-scalafmt in this repo, so formatting was never checked
scalafmt_check: false

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

# Locate existing Scalafmt configuration before enabling the reusable workflow check.
rg -n -C 3 'sbt-scalafmt|scalafmt_check|scalafmt' \
  --glob '*.sbt' --glob '*.yml' --glob '*.yaml' .

Repository: evolution-gaming/conhub

Length of output: 161


🏁 Script executed:

#!/bin/bash
set -euo pipefail

printf '%s\n' '--- workflow files ---'
fd -t f -i 'ci.yml|ci.yaml|build.sbt|plugins.sbt|scalafmt.conf|\\.scalafmt.conf$' .github project build.sbt project/Build.scala 2>/dev/null || true
printf '%s\n' '--- workflow ---'
cat -n .github/workflows/ci.yml
printf '%s\n' '--- build configuration ---'
for f in build.sbt project/*.sbt project/*.scala .scalafmt.conf scalafmt.conf; do
  if [ -f "$f" ]; then
    printf '\n--- %s ---\n' "$f"
    cat -n "$f"
  fi
done
printf '%s\n' '--- relevant references ---'
rg -n -i -C 3 'scalafmt|crossScalaVersions|scala_version|scala-version' .github build.sbt project 2>/dev/null || true

Repository: evolution-gaming/conhub

Length of output: 6861


🏁 Script executed:

#!/bin/bash
set -euo pipefail

printf '%s\n' '--- workflow files ---'
fd -t f -i 'ci.yml|ci.yaml|build.sbt|plugins.sbt|scalafmt.conf|\.scalafmt.conf$' .github project build.sbt project/Build.scala 2>/dev/null || true
printf '%s\n' '--- workflow ---'
cat -n .github/workflows/ci.yml
printf '%s\n' '--- build configuration ---'
for f in build.sbt project/*.sbt project/*.scala .scalafmt.conf scalafmt.conf; do
  if [ -f "$f" ]; then
    printf '\n--- %s ---\n' "$f"
    cat -n "$f"
  fi
done
printf '%s\n' '--- relevant references ---'
rg -n -i -C 3 'scalafmt|crossScalaVersions|scala_version|scala-version' .github build.sbt project 2>/dev/null || true

Repository: evolution-gaming/conhub

Length of output: 6861


Resolve the unresolved formatting TODO.

No sbt-scalafmt plugin or Scalafmt configuration exists, and scalafmt_check is disabled. If formatting remains disabled, remove the TODO and link a tracking issue. Otherwise add the plugin and enable scalafmt_check.

🧰 Tools
🪛 GitHub Check: SonarCloud Code Analysis

[warning] 14-14: Complete the task associated to this "TODO" comment.

See more on https://sonarcloud.io/project/issues?id=evolution-gaming_conhub&issues=AZ_dt70aL4Y830V2IV7D&open=AZ_dt70aL4Y830V2IV7D&pullRequest=214

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.github/workflows/ci.yml around lines 14 - 15, Resolve the formatting check
configuration by either adding the sbt-scalafmt plugin and Scalafmt
configuration, then enabling scalafmt_check, or keeping it disabled while
removing the TODO and linking a tracking issue. Update the scalafmt_check
setting in the CI workflow consistently with the selected approach.

Source: Linters/SAST tools

@mr-git
mr-git merged commit a367665 into master Aug 10, 2026
6 checks passed
@mr-git
mr-git deleted the adopt-shared-ci branch August 10, 2026 17:30
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.

3 participants