Skip to content

Enhance CI with separate buckets for Scala 2 and 3 - #5145

Merged
jackkoenig merged 5 commits into
mainfrom
jackkoenig/enhance-ci
Jan 13, 2026
Merged

jackkoenig merged 5 commits into
mainfrom
jackkoenig/enhance-ci

Conversation

@jackkoenig

@jackkoenig jackkoenig commented Jan 13, 2026 •

Copy link
Copy Markdown
Contributor

Draft for now for testing

Contributor Checklist

  • Did you add Scaladoc to every public function/method?
  • Did you add at least one test demonstrating the PR?
  • Did you delete any extraneous printlns/debugging code?
  • Did you specify the type of improvement?
  • Did you add appropriate documentation in docs/src?
  • Did you request a desired merge strategy?
  • Did you add text to be included in the Release Notes for this change?

Type of Improvement

  • Internal or build-related (includes code refactoring/cleanup)

Desired Merge Strategy

  • Squash

Release Notes

Reviewer Checklist (only modified by reviewer)

  • Did you add the appropriate labels? (Select the most appropriate one based on the "Type of Improvement")
  • Did you mark the proper milestone (Bug fix: 3.6.x, 5.x, or 6.x depending on impact, API modification or big change: 7.0)?
  • Did you review?
  • Did you check whether all relevant Contributor checkboxes have been checked?
  • Did you do one of the following when ready to merge:
    • Squash: You/ the contributor Enable auto-merge (squash) and clean up the commit message.
    • Merge: Ensure that contributor has cleaned up their commit history, then merge with Create a merge commit.

They are not something we actually want to bother testing other values
for at the moment. Instead just hardcode their values as "environment
variables."
@jackkoenig jackkoenig added the Internal Internal change, does not affect users, will be included in release notes label Jan 13, 2026
@jackkoenig
jackkoenig force-pushed the jackkoenig/enhance-ci branch from 9dbf076 to 4644f12 Compare January 13, 2026 00:34
@jackkoenig
jackkoenig force-pushed the jackkoenig/enhance-ci branch from 4644f12 to 618b65e Compare January 13, 2026 00:37
@jackkoenig
jackkoenig marked this pull request as ready for review January 13, 2026 04:20
@jackkoenig
jackkoenig requested a review from seldridge January 13, 2026 04:28

@seldridge seldridge left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Generally LGTM.

I'm a little nervous about this much conditional logic in the build. Lots of if: checks in CI like this are sometimes a code smell and could be better handled differently. That said, sometimes this is avoidable.

Given that this is essentially temporary until we're on Scala 3, I think this is acceptable.

Only something to consider.

Comment thread .github/workflows/test.yml Outdated
@jackkoenig

Copy link
Copy Markdown
Contributor Author

I'm a little nervous about this much conditional logic in the build. Lots of if: checks in CI like this are sometimes a code smell and could be better handled differently. That said, sometimes this is avoidable.

I agree and it definitely is a code smell. Part of the issue is that we treat test.yml as something that can be build matrixed which is useful to some extent but means there may be a lot of points in the resulting matrix we don't actually care about (we can remove almost all of the if checks but it will result in a lot of redundant/pointless runs). I think if we can change test.yml to handle the build matrix itself, maybe have its inputs be lists instead of individual version, then we can do matrices at a per job level...

Given that this is essentially temporary until we're on Scala 3, I think this is acceptable.

I'm actually of two minds if this should be temporary. On the one hand, we will drop 2.13, but on the other, once on Scala 3 we might want to consider testing against multiple version, e.g. latest LTS and latest. We also might want to test against minimum Java and latest LTS, but of course only some tests should be run this way, not all, thus the weird matrix.

All this being said, despite the code smell I think this is better for the time being, it's certainly a lot faster.

@jackkoenig
jackkoenig enabled auto-merge (squash) January 13, 2026 18:02
@jackkoenig
jackkoenig merged commit f7c7800 into main Jan 13, 2026
25 checks passed
@jackkoenig
jackkoenig deleted the jackkoenig/enhance-ci branch January 13, 2026 18:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Internal Internal change, does not affect users, will be included in release notes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants