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

Compatible with (but not mandatory) Java 21 #293

Merged
merged 31 commits into from
Dec 11, 2024
Merged

Conversation

denis-yuen
Copy link
Member

@denis-yuen denis-yuen commented Aug 13, 2024

Description
Make the CLI build compatible with Java 21.
Does not switch to only Java 21, yet

Some notes:

Review Instructions
Could do some spot checking, listing and running workflows as in our getting started tutorials

Issue
https://ucsc-cgl.atlassian.net/browse/SEAB-6611
Follow-up with https://ucsc-cgl.atlassian.net/browse/SEAB-6851

Security
If there are any concerns that require extra attention from the security team, highlight them here.

Please make sure that you've checked the following before submitting your pull request. Thanks!

  • Check that you pass the basic style checks and unit tests by running ./mvnw clean install
  • If this PR is for a user-facing feature, create and link a documentation ticket for this feature (usually in the same milestone as the linked issue). Style points if you create a documentation PR directly and link that instead.

@denis-yuen denis-yuen self-assigned this Aug 13, 2024
@github-advanced-security
Copy link

This pull request sets up GitHub code scanning for this repository. Once the scans have completed and the checks have passed, the analysis results for this pull request branch will appear on this overview. Once you merge this pull request, the 'Security' tab will show more code scanning analysis results (for example, for the default branch). Depending on your configuration and choice of analysis tool, future pull requests will be annotated with code scanning analysis results. For more information about GitHub code scanning, check out the documentation.

Copy link

sonarcloud bot commented Aug 13, 2024

Copy link

codecov bot commented Aug 13, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 70.27%. Comparing base (5d706b6) to head (e628a28).
Report is 1 commits behind head on develop.

Additional details and impacted files
@@              Coverage Diff              @@
##             develop     #293      +/-   ##
=============================================
- Coverage      70.29%   70.27%   -0.02%     
- Complexity      1060     1061       +1     
=============================================
  Files             48       48              
  Lines           6073     6073              
  Branches         801      801              
=============================================
- Hits            4269     4268       -1     
- Misses          1457     1458       +1     
  Partials         347      347              
Flag Coverage Δ
bitbuckettests 9.83% <ø> (ø)
confidentialtooltests 55.03% <ø> (-0.65%) ⬇️
confidentialworkflowtests 30.23% <ø> (+0.01%) ⬆️
nonconfidentialtests 32.30% <ø> (-0.09%) ⬇️
singularitytests 16.58% <ø> (ø)
toilintegrationtests 15.21% <ø> (ø)
unittests 8.34% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@denis-yuen
Copy link
Member Author

To write up my findings before the weekend

  1. New Ubuntu to get a new Java version
  2. New Ubuntu means new Docker (which means many of our oldest Docker images are no longer compatible due to Track and warn on old Docker versions dockstore#5878 )
  3. New pipx install method seemed to mean that I needed to install schema salad, cwlref-runner and their paths separately

@denis-yuen denis-yuen removed the request for review from svonworl December 10, 2024 15:21
@@ -10,7 +10,7 @@ doc: "Mutect 1.1.5"

hints:
- class: DockerRequirement
dockerPull: quay.io/jeltje/mutect
Copy link
Member Author

Choose a reason for hiding this comment

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

Some Docker repos are forked, some can be downloaded and reuploaded in place (by simply pulling and pushing with an older client, which I had handy on my laptop)

This is an example of forking, the pull/push updates don't leave a trace.

@@ -14,7 +14,15 @@ fi
if [ "${TESTING_PROFILE}" = "toil-integration-tests" ]; then
pip3 install --user toil[cwl]==7.0.0
else
pip3 install --user -r https://raw.githubusercontent.com/dockstore/dockstore/develop/dockstore-webservice/src/main/resources/requirements/1.15.0/requirements3.txt
sudo apt-get update
# https://stackoverflow.com/questions/44331836/apt-get-install-tzdata-noninteractive needed by cwltool
Copy link
Member Author

Choose a reason for hiding this comment

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

This matches 1.16 quickstart with pipx, but had to do a bit of extra work to get schema_salad and cwlref-runner (may be using pipx runpip wrong)

@denis-yuen denis-yuen changed the title Feature/java 21 Compatibility (but not mandatory) Java 21 Dec 10, 2024
@denis-yuen denis-yuen changed the title Compatibility (but not mandatory) Java 21 Compatible with (but not mandatory) Java 21 Dec 10, 2024
@denis-yuen denis-yuen requested review from a team, david4096, kathy-t, hyunnaye, svonworl and coverbeck and removed request for a team December 10, 2024 16:10
dockstore-cli-integration-testing/pom.xml Outdated Show resolved Hide resolved
dockstore-client/pom.xml Outdated Show resolved Hide resolved
Copy link

sonarcloud bot commented Dec 10, 2024

@@ -17,14 +17,14 @@ executors:

machine_integration_test_exec:
machine: # run the steps with Ubuntu VM
image: ubuntu-2204:2023.10.1
image: ubuntu-2204:2024.04.4
Copy link
Contributor

Choose a reason for hiding this comment

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

Why is the tag different for this and the toil_wes_test_executor below?

Copy link
Member Author

@denis-yuen denis-yuen Dec 10, 2024

Choose a reason for hiding this comment

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

A sad reason
While experimenting, I bumped to a newer version to try to get a newer Java version on the machine executor. It turned out to be unnecessary, but since we ran the tests anyway I kept the newer versions that worked (toil_wes_test_executor used for wes-toil-test).

Something about ubuntu-2204:2024.11.1 breaks the toil install silently (but not all of toil, the part used for regular integration tests including integration-tests-toil-integration-tests, not a typo)

@denis-yuen denis-yuen merged commit d76c6b4 into develop Dec 11, 2024
21 checks passed
@denis-yuen denis-yuen deleted the feature/java_21 branch December 11, 2024 20:56
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.

4 participants