Skip to content

Comments

CI: Multiple CI and test suite changes#50

Open
DilumAluthge wants to merge 8 commits intomasterfrom
dpa/forwardport-distributed-125
Open

CI: Multiple CI and test suite changes#50
DilumAluthge wants to merge 8 commits intomasterfrom
dpa/forwardport-distributed-125

Conversation

@DilumAluthge
Copy link
Member

@DilumAluthge DilumAluthge commented Feb 22, 2026

  • Run CI on more Julia versions
  • Remove Julia 1.9 from the CI matrix
  • Run CI on both Intel macOS and Apple Silicon macOS, and set arch correctly on each
  • Disable the interactive threadpool

@codecov
Copy link

codecov bot commented Feb 22, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 87.94%. Comparing base (d8f44f5) to head (83c2eea).

Additional details and impacted files
@@            Coverage Diff             @@
##           master      #50      +/-   ##
==========================================
- Coverage   88.00%   87.94%   -0.06%     
==========================================
  Files          11       11              
  Lines        2117     2115       -2     
==========================================
- Hits         1863     1860       -3     
- Misses        254      255       +1     

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

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@DilumAluthge DilumAluthge changed the title Forward-port Distributed#125 ("Don't use internal jl_set_const to create constants") Forward-port Distributed#125 ("Don't use internal jl_set_const to create constants"); also, run CI on multiple Julia versions Feb 22, 2026
@DilumAluthge
Copy link
Member Author

Alright, so good news and bad news.

Good news: This fixes CI on Julia 1.12

Bad news: This breaks CI on Julia 1.9 (which is green on master).

So let's try gating the new code on a Julia 1.12+ version check.

@JamesWrigley
Copy link
Collaborator

Nah let's just make 1.10 the new requirement 🤷 It's fine since it's the LTS.

@JamesWrigley
Copy link
Collaborator

This is also in #25 BTW though I didn't get around to fixing that.

@DilumAluthge
Copy link
Member Author

Sure, I can remove Julia 1.9 from the CI matrix.

But Julia 1.9 through 1.11 are all broken the same way by this PR: (example CI log on 1.11)

[58](https://github.com/JuliaParallel/DistributedNext.jl/actions/runs/22278423994/job/64444325942?pr=50#step:6:161)
addprocs()/rmprocs(): Test Failed at /home/runner/work/DistributedNext.jl/DistributedNext.jl/test/distributed_exec.jl:1182
  Expression: ex.captured.ex.msg == "Only process 1 can add and remove workers"
   Evaluated: "syntax: expected assignment after \"const\"" == "Only process 1 can add and remove workers"

So I think we still need to gate some of this logic on Julia 1.12+ vs Julia <1.12.

@DilumAluthge DilumAluthge force-pushed the dpa/forwardport-distributed-125 branch from da18369 to 43ce89b Compare February 22, 2026 14:14
@DilumAluthge
Copy link
Member Author

This is also in #25 BTW though I didn't get around to fixing that.

Is #25 ready to go? If so, wanna merge #25 instead?

@DilumAluthge DilumAluthge changed the title Forward-port Distributed#125 ("Don't use internal jl_set_const to create constants"); also, run CI on multiple Julia versions Forward-port Distributed#125 ("Don't use internal jl_set_const to create constants"); also, run CI on multiple Julia versions, and stop running CI on Julia 1.9 Feb 22, 2026
@DilumAluthge DilumAluthge changed the title Forward-port Distributed#125 ("Don't use internal jl_set_const to create constants"); also, run CI on multiple Julia versions, and stop running CI on Julia 1.9 Forward-port Distributed#125 ("Don't use internal jl_set_const to create constants"); also, multiple CI changes Feb 22, 2026
@JamesWrigley
Copy link
Collaborator

Honestly yeah might as well. There was a race condition I was trying to debug at the time but that I can look at later.

@JamesWrigley
Copy link
Collaborator

Done.

@DilumAluthge DilumAluthge force-pushed the dpa/forwardport-distributed-125 branch from a63f144 to 3df8c78 Compare February 22, 2026 14:36
@DilumAluthge DilumAluthge changed the title Forward-port Distributed#125 ("Don't use internal jl_set_const to create constants"); also, multiple CI changes CI: Multiple CI changes Feb 22, 2026
@DilumAluthge DilumAluthge force-pushed the dpa/forwardport-distributed-125 branch from 3df8c78 to ae51712 Compare February 22, 2026 14:38
@DilumAluthge
Copy link
Member Author

Alright, this PR now consists only of the CI changes.

@JamesWrigley
Copy link
Collaborator

Thanks ❤️ Note that there are some test failures on master, most likely because LibSSH.jl isn't threadsafe and 1.12 has an interactive thread by default. You can ignore those failures, I'll fix it at some point.

@DilumAluthge
Copy link
Member Author

1.12 has an interactive thread by default

To get CI green, should we just disable the interactive thread?

E.g. something like -t1 should do the trick - IIRC, -t1 expands to -t1,0 (unlike -t4, which IIRC would expand to -t4,1).

@JamesWrigley
Copy link
Collaborator

Yeah I think this environment variable might need to be changed to 1,0:

run(addenv(`$cmd $sshtestfile`, "JULIA_NUM_THREADS" => "1"))

@DilumAluthge DilumAluthge changed the title CI: Multiple CI changes CI: Multiple CI and test suite changes Feb 22, 2026
@DilumAluthge
Copy link
Member Author

Alright, macOS jobs are failing on this PR, but when I look on master, macOS is failing there as well.

  • Tip of master (d8f44f5): 2 macOS jobs, both failed
  • One commit before tip (fbca46f): 3 macOS jobs, all three failed
  • Two commits before tip (3c591ec): 3 macOS jobs, all three failed

@DilumAluthge
Copy link
Member Author

Okay, it looks like killing workers doesn't work on Julia 1.10 on Windows. (IIUC, it didn't work on Julia 1.9 on Windows either.)

Unhandled Task ERROR: IOError: kill: function not implemented (ENOSYS)
Stacktrace:
 [1] kill(p::Base.Process, signum::Int64)
   @ Base .\process.jl:595
 [2] (::DistributedNext.var"#289#290"{Int64, Int64, Int64, Int64, WorkerConfig})()
   @ DistributedNext D:\a\DistributedNext.jl\DistributedNext.jl\src\managers.jl:788

Windows seems fine on Julia 1.11, 1.12, and nightly. So I'll exclude Julia 1.10 on Windows.

@DilumAluthge
Copy link
Member Author

Alright, so the only CI failures here are on macOS, which as I mentioned above, are also seen on master.

I think this is good to go from my point-of-view.

@DilumAluthge DilumAluthge marked this pull request as ready for review February 22, 2026 16:03
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.

2 participants