Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 4 additions & 10 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,32 +26,26 @@ jobs:
matrix:
version:
- '1.10'
- '1.11'
- '1.12'
- '1'
- 'nightly'
os:
- ubuntu-latest
- windows-latest
- macos-15-intel # Intel
- macos-latest # Apple Silicon
julia-wordsize:
# The value here only affects the version of Julia binary that we download.
# It does not affect the architecture of the GitHub Runner (virtual machine) that
# we run on.
- '32' # 32-bit Julia. Only available on x86_64. Not available on aarch64.
- '64' # 64-bit Julia.
exclude:
# Killing workers doesn't work on Windows in Julia 1.10:
# (It does work on 1.11+)
- os: windows-latest
version: '1.10'
# We don't have 32-bit builds of Julia for Intel macOS:
- os: macos-15-intel # Intel
julia-wordsize: '32'
#
# We don't have 32-bit builds of Julia for Apple Silicon macOS:
- os: macos-latest # Apple Silicon
include:
- os: ubuntu-latest
julia-wordsize: '32'
version: '1'

steps:
- uses: actions/checkout@v6
Expand Down
13 changes: 13 additions & 0 deletions src/precompile.jl
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,13 @@ precompile(Tuple{typeof(DistributedNext.procs)})
precompile(Tuple{typeof(DistributedNext.finalize_ref), DistributedNext.Future})
precompile(Tuple{typeof(DistributedNext.setup_launched_worker), DistributedNext.LocalManager, DistributedNext.WorkerConfig, Vector{Int}})
precompile(Tuple{typeof(DistributedNext.process_tcp_streams), Sockets.TCPSocket, Sockets.TCPSocket, Bool})
precompile(Tuple{typeof(Serialization.serialize), DistributedNext.ClusterSerializer{Sockets.TCPSocket}, Array{Any, 1}})
precompile(Tuple{typeof(DistributedNext.parse_connection_info), String})
precompile(Tuple{typeof(DistributedNext._run_callbacks_concurrently), String, Base.Dict{Any, Union{Function, Type}}, Int64, Array{Tuple{DistributedNext.LocalManager, Base.Dict{Symbol, Any}}, 1}})
precompile(Tuple{typeof(DistributedNext._run_callbacks_concurrently), String, Base.Dict{Any, Union{Function, Type}}, Int64, Array{Int64, 1}})
precompile(Tuple{typeof(DistributedNext.read_worker_host_port), Base.PipeEndpoint})
precompile(Tuple{typeof(Base.put!), Base.Channel{Any}, Int64})
precompile(Tuple{typeof(Base.put!), Base.Channel{Any}, WeakRef})

precompile(Tuple{typeof(DistributedNext.handle_msg), DistributedNext.IdentifySocketMsg, DistributedNext.MsgHeader, Sockets.TCPSocket, Sockets.TCPSocket, VersionNumber})
precompile(Tuple{typeof(DistributedNext.handle_msg), DistributedNext.CallWaitMsg, DistributedNext.MsgHeader, Sockets.TCPSocket, Sockets.TCPSocket, VersionNumber})
Expand All @@ -14,6 +21,12 @@ precompile(Tuple{typeof(DistributedNext.handle_msg), DistributedNext.RemoteDoMsg
precompile(Tuple{typeof(DistributedNext.handle_msg), DistributedNext.JoinPGRPMsg, DistributedNext.MsgHeader, Sockets.TCPSocket, Sockets.TCPSocket, VersionNumber})
precompile(Tuple{typeof(DistributedNext.handle_msg), DistributedNext.JoinCompleteMsg, DistributedNext.MsgHeader, Sockets.TCPSocket, Sockets.TCPSocket, VersionNumber})

# These lines were obtained from `addprocs(1; exeflags=`--trace-compile=compilation.txt --trace-compile-timing`)`
precompile(Tuple{typeof(DistributedNext.start_worker)})
precompile(Tuple{typeof(DistributedNext.start_worker), Base.PipeEndpoint, String})
precompile(Tuple{typeof(DistributedNext.set_valid_processes), Array{Int64, 1}})
precompile(Tuple{typeof(DistributedNext.terminate_all_workers)})

# This is disabled because it doesn't give much benefit
# and the code in Distributed is poorly typed causing many invalidations
# TODO: Maybe reenable now that Distributed is not in sysimage.
Expand Down
Loading