Adopt shared Scala CI workflow - #214
Conversation
Coverage Report for CI Build 31414128720Coverage decreased (-15.1%) to 40.493%Details
Uncovered ChangesNo uncovered changes found. Coverage RegressionsNo coverage regressions found. Coverage Stats
💛 - Coveralls |
3946113 to
1347916
Compare
📝 WalkthroughWalkthroughThe 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. ChangesCI and coverage tooling
Estimated code review effort: 2 (Simple) | ~10 minutes Possibly related issues
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
There was a problem hiding this comment.
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
📒 Files selected for processing (2)
.github/workflows/ci.ymlproject/plugins.sbt
💤 Files with no reviewable changes (1)
- project/plugins.sbt
| 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"]' |
There was a problem hiding this comment.
🎯 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.
| # TODO no sbt-scalafmt in this repo, so formatting was never checked | ||
| scalafmt_check: false |
There was a problem hiding this comment.
📐 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 || trueRepository: 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 || trueRepository: 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.
🤖 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



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
checkalias, and checkout is unshallow so versionPolicyCheck has a previous version to compare against.Part of evolution-gaming/scala-github-actions#5
Summary by CodeRabbit