-
-
Notifications
You must be signed in to change notification settings - Fork 32
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
Upgrade to Java 21, fix Docker image, add server integration test #112
Conversation
This way, championship games run in the intended order, previously the order tracks were read in was nondeterministic and the games could start with the hardest track first. Also, sort the list of TrackSets. This way the same message is sent from the server to clients every time which makes testing easier.
This will be necessary in tests utilizing the server to prevent resource leaks.
This test asserts that in a happy path flow where a player 1. starts the client 2. joins the single player lobby 3. starts a championship game 4. exits the game all the packages match the expected state.
This is the latest Java LTS version, released in September 2023. Features added since Java 17 include things like pattern matching, unnamed variables, and UTF-8 as a default charset.
This has been broken ever since the upgrade to Java 11 and moving tracks to server resources. Now it works again and is tested in CI to ensure it won't break again.
This was logging a warning: ``` [WARNING] Supported source version 'RELEASE_8' from annotation processor 'org.softsmithy.lib.util.impl.ServiceProviderAnnotationProcessor' less than -source '21' ``` Since it's only used in a single test file and has a built-in alternative API available it can be removed.
Since the shaded JARs (server, client, editor) are not intended to be used as libraries, they should not generate a dependency-reduced POM. See https://stackoverflow.com/a/65842502 for more information
Launch4j was logging warnings and using fallback values for these.
This was logging a warning: "non-varargs call of varargs method with inexact argument type for last parameter". Since the parameter was always null, it can be removed from the calls.
This caused a few new warnings to be logged: - Mockito deprecated `.lenient`, fixed by replacing with call to `.strictness` - Running tests from Intellij caused Mockito to log warnings, fixed by adding the "-XX:+EnableDynamicAgentLoading" argument to the compiler. See https://stackoverflow.com/a/78056291 for more information.
- name: Build Docker image | ||
uses: docker/build-push-action@v5 | ||
with: | ||
tags: philippvk/minigolf:latest |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I guess I will have to add the access token as a repo secret?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this pushing to docker.io or https://quay.io/repository/philippvk/minigolf?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Only if you want CI to push the image to a Docker repo. In it's current form, CI will just build the image to make sure it doesn't break unexpectedly. It doesn't publish the image anywhere.
@StenAL sorry for the delay, I will try to test your changes tomorrow and provide a review! |
Looks good, thank you for the patches! |
This PR is a collection of smaller changes: