Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update Scala to 2.13.8 #109

Merged
merged 59 commits into from
May 23, 2022
Merged

Update Scala to 2.13.8 #109

merged 59 commits into from
May 23, 2022

Conversation

bcarter97
Copy link
Member

@bcarter97 bcarter97 commented Feb 27, 2022

Related issues

Changes notes

New

  • Add sbt-tpolecat and remove duplicate compiler flags
  • Add runFix/runFmt aliases to format and fix code in ciBuild

Update

  • Update Scala from 2.12 to 2.13
  • updated Travis' Java and Scala versions
  • Update Docker base image to google distroless Java 17
  • Update docker-compose images to use the latest versions
  • disable Kamon host metrics, we don't use them and we pull in eudev in the docker image unnecessarily to appease Kamon
  • Update all the libraries and remove unused ones

Fix

  • Wrap a slow Kafka test with eventually and add patience config for Integration tests

build.sbt Outdated Show resolved Hide resolved
Copy link
Contributor

@paulaylingdev paulaylingdev left a comment

Choose a reason for hiding this comment

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

Looks really good, few minor comments! Thanks for taking the time to do this

build.sbt Outdated Show resolved Hide resolved
build.sbt Outdated Show resolved Hide resolved
build.sbt Outdated Show resolved Hide resolved
@bcarter97 bcarter97 requested a review from paulaylingdev April 23, 2022 13:43
- ./prometheus.yml:/etc/prometheus/prometheus.yml
command:
- '--config.file=/etc/prometheus/prometheus.yml'
version: '3.8'
Copy link
Contributor

Choose a reason for hiding this comment

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

Do we actually need both of these docker-compose files? (this one and the one in the root of the project)

Copy link
Member Author

Choose a reason for hiding this comment

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

The one at the root level is designed to work without the local build, the one inside docker/docker-compose.yml is for local development and can be started with sbt-docker-compose. However I'm not sure of it's use as we don't have any integration tests that use the docker image, so would be open to keeping a single docker-compose file at the root level

Copy link
Contributor

Choose a reason for hiding this comment

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

i would probably opt for keeping this one, its easier to use as it will do the local build for you. We probably should add some e2e tests that use it anyway (in the future).

project/Dependencies.scala Outdated Show resolved Hide resolved
project/Dependencies.scala Outdated Show resolved Hide resolved
@@ -26,12 +26,12 @@ object Release {
runTest,
commitReleaseVersion,
tagRelease,
ReleaseStep(releaseStepTask(publish in docker)),
ReleaseStep(releaseStepTask(docker / publish)),
Copy link
Contributor

Choose a reason for hiding this comment

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

Have you tried building the image locally like this? I'd be a bit surprised if this works using distroless and sbt-native-packager together. sbt-native-packager tends to create quite complicated shell scripts as entrypoints but distroless images have no shell.

Copy link
Member Author

Choose a reason for hiding this comment

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

You're right. For this PR I've opted to go for https://hub.docker.com/_/eclipse-temurin 's alpine image until we can explore using distroless for this project.

Copy link
Contributor

Choose a reason for hiding this comment

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

you've tested it works right? just wanna make sure

Copy link
Member Author

Choose a reason for hiding this comment

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

Yeah works fine, we do need to add bash but it starts up as expected. The Kafka not subscribed we see in the current release if there's no topics available at startup as we don't have any retry policies

image

- ./prometheus.yml:/etc/prometheus/prometheus.yml
command:
- '--config.file=/etc/prometheus/prometheus.yml'
version: '3.8'
Copy link
Contributor

Choose a reason for hiding this comment

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

i would probably opt for keeping this one, its easier to use as it will do the local build for you. We probably should add some e2e tests that use it anyway (in the future).

Copy link
Contributor

@lacarvalho91 lacarvalho91 left a comment

Choose a reason for hiding this comment

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

LGTM. Should remove the bullet in the description that says it closes the distroless issue though.

@bcarter97 bcarter97 merged commit 517fddb into master May 23, 2022
@bcarter97 bcarter97 deleted the update/scala-2.13.8 branch May 23, 2022 14:13
@bcarter97 bcarter97 added this to the 0.3.0 release milestone Aug 16, 2022
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.

Add scalafmt
7 participants