In addition to that, updating the example repos to...
# development
b
In addition to that, updating the example repos to use 2.18.0 would be nifty: https://github.com/pantsbuild/pants/issues/20150 It's the sort of thing we can easily parallelise/do piecemeal, so if we all grab one or two, it'll be done before we know it!
h
Trying to update the JVM repos and hitting an error
🤔 1
Copy code
$ pants test ::
21:48:13.85 [ERROR] 1 Exception encountered:

Engine traceback:
  in `test` goal

ValueError: Failed to locate Java for JDK `adopt:1.12.0.2`:
JVM adopt:1.12.0.2 not found in index: JVM adopt not found
/bin/bash: /bin/java: No such file or directory
b
Hm, those passed the "public repos" testing. Lemme dig up their config
https://github.com/pantsbuild/pants/blob/0391b0aea25efe57fc507156b0470563ec7718dc/src/python/pants_release/generate_github_workflows.py#L1358-L1359 suggests they run with the vanilla GHA runner config, and https://github.com/pantsbuild/pants/actions/runs/6843577469/job/18606318094 seemed to pass without warnings. So maybe it's something locally for you? Does it work on 2.17?
h
It does
🤔 1
Per
git bisect
this is the culprit: https://github.com/pantsbuild/pants/pull/19940
cc @late-advantage-75311
This is failing on my M2 laptop, so it makes sense
b
Hm, there was the fix https://github.com/pantsbuild/pants/pull/20121 that theoretically undid differences for macos-arm64 for existing code. Although, I guess the default is still bumped to v2.1.6.
h
This needs a quick fix and a quick 2.18.1 I think?
b
Hm, if I set back to the 2.17 default:
Copy code
[coursier]
version = "v2.1.0-M5-18-gfebf9838c"
pants test ::
works in
example-jvm
, so it seems to be a problem with the new
v2.1.6
. So, a potential quick-fix would be downgrading the default. That feels unsatisfying, though.
(thanks for chipping away at the updates, btw)
l
Ah, drats. sorry about being a bit MIA, will look into this. My testing that 2.1.6 worked must have been shallow. I was mostly checking that scalafmt worked (the original pain point). I'll see if I can figure anything out today.
Filed an issue with Virtus labs, made a PR to remove 2.1.6 support in pants here. This was my fault for not doing more than the shallowest of testing.
🙏 1
Huon, Benjy, to my relief it turns out that the issue is just that the JVMs we request in example-jvm happen to themselves not be available on M1. There is nothing wrong with coursier. Its actually doing the right thing. Just changing the requested jdks in example-jvm should fix things. Added details in the issue. Thanks very much for the VirtusLab maintainer for pointing me in the right direction.
In other words, I don't think this issue forces us to a 2.18.1
h
Ah, excellent
How do we fix up example-jvm? How do we find the list of JVMs that is supported?
l
Its in the issue, when I get free I can make a PR
(busy for the next couple of hours)
h
Ah nuts, doing the same thing in example-kotlin doesn't work, because we have a hardcoded use of adopt:8 there
I can make it work by switching that to
zulu:8.0.392
, but I have no idea what the various distinctions between JDK builds are, and so whether that is a good choice
I'm bothered by the fact that CI didn't catch this. Surely we have tests that exercise Kotlin dep inference, and so why didn't those fail post https://github.com/pantsbuild/pants/pull/19940 ?
@fast-nail-55400 thoughts?
b
Maybe they're not marked as platform dependent, and so only run on x86-64 linux?
h
ah probably, I'll take a look
b
I imagine we don't run the full test suite on all platforms on all PRs because thats too slow/uses too many resources? It seems like we could run them all, on a slower cycle? Some ideas: 1. have a merge queue, and have it runs all tests before merging, so someone iterating doesn't burn through resources but still they're all run before merging 2. run all on after merge, to
main
or
2.*.x
branches 3. run nightly, weekly or after each release For 2 and 3, we'd might need to ask the MOTW to check the results?
(https://github.com/pantsbuild/pants/discussions/20193 to have that discussion in a better place)