Skip to content

Commit 56b0b6c

Browse files
committed
Get the docs building and add a changelog
Also add Julia 1 to the CI
1 parent 6241f27 commit 56b0b6c

File tree

7 files changed

+128
-78
lines changed

7 files changed

+128
-78
lines changed

.github/workflows/ci.yml

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ concurrency:
1414
# Cancel intermediate builds: only pull request builds
1515
group: ${{ github.workflow }}-${{ github.ref }}-${{ github.ref != 'refs/heads/main' || startsWith(github.ref, 'refs/heads/release-') || github.run_number }}
1616
cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }}
17+
1718
jobs:
1819
test:
1920
name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }}
@@ -23,6 +24,7 @@ jobs:
2324
matrix:
2425
version:
2526
- 'nightly'
27+
- '1'
2628
os:
2729
- ubuntu-latest
2830
- macOS-latest
@@ -58,18 +60,17 @@ jobs:
5860
with:
5961
file: lcov.info
6062
token: ${{ secrets.CODECOV_TOKEN }}
63+
6164
docs:
6265
runs-on: ubuntu-latest
6366
steps:
6467
- uses: actions/checkout@v4
6568
- uses: julia-actions/setup-julia@latest
6669
with:
67-
# version: '1.6'
68-
version: 'nightly'
69-
- name: Generate docs
70-
run: |
71-
julia --color=yes -e 'write("Project.toml", replace(read("Project.toml", String), r"uuid = .*?\n" =>"uuid = \"47e2e46d-f89d-539d-b4ee-838fcccc9c8e\"\n"));'
72-
julia --project --color=yes -e 'using Pkg; Pkg.activate("docs"); Pkg.instantiate(); Pkg.develop(PackageSpec(path = pwd()))'
73-
julia --project=docs --color=yes docs/make.jl pdf
70+
version: '1'
71+
- name: Install dependencies
72+
run: julia --project=docs/ -e 'using Pkg; Pkg.instantiate()'
73+
- name: Build and deploy
7474
env:
75-
DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }}
75+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
76+
run: julia --project=docs/ docs/make.jl

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
docs/src/changelog.md

docs/Project.toml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,9 @@
11
[deps]
2+
Changelog = "5217a498-cd5d-4ec6-b8c2-9b85a09b6e3e"
3+
DistributedNext = "fab6aee4-877b-4bac-a744-3eca44acbb6f"
24
Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4"
5+
LiveServer = "16fef848-5104-11e9-1b77-fb7a48bbb589"
6+
Revise = "295af30f-e4ad-537b-8983-00126c2a3abe"
7+
8+
[sources]
9+
DistributedNext = {path = ".."}

docs/make.jl

Lines changed: 38 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,42 @@
1-
using Distributed
2-
using Documenter: DocMeta, makedocs, deploydocs
1+
import Revise
2+
import Changelog
3+
using DistributedNext
4+
import Documenter
5+
using Documenter: Remotes, DocMeta, makedocs, deploydocs
36

4-
DocMeta.setdocmeta!(Distributed, :DocTestSetup, :(using Distributed); recursive=true)
7+
DocMeta.setdocmeta!(DistributedNext, :DocTestSetup, :(using DistributedNext); recursive=true)
58

6-
makedocs(;
7-
modules = [Distributed],
8-
sitename = "Distributed",
9-
pages = Any[
10-
"Distributed" => "index.md",
11-
],
12-
checkdocs = :exports,
13-
warnonly = [:cross_references],
9+
# Always trigger a revise to pick up the latest docstrings. This is useful when
10+
# working with servedocs(). If you are using servedocs(), run it like this:
11+
#
12+
# julia> servedocs(; include_dirs=["src"], skip_files=["docs/src/changelog.md"])
13+
#
14+
# Otherwise it'll get into an infinite loop as the changelog is constantly
15+
# regenerated and triggering LiveServer.
16+
Revise.revise()
17+
18+
# Build the changelog. Note that _changelog.md is the source and changelog.md is
19+
# the destination. It's named that way for the vain reason of a nicer URL.
20+
Changelog.generate(
21+
Changelog.Documenter(),
22+
joinpath(@__DIR__, "src/_changelog.md"),
23+
joinpath(@__DIR__, "src/changelog.md"),
24+
repo="JuliaParallel/DistributedNext.jl"
1425
)
1526

16-
deploydocs(repo = "github.com/JuliaLang/Distributed.jl.git")
27+
makedocs(;
28+
repo = Remotes.GitHub("JuliaParallel", "DistributedNext.jl"),
29+
format = Documenter.HTML(
30+
prettyurls=get(ENV, "CI", "false") == "true",
31+
size_threshold_warn=500_000,
32+
size_threshold=600_000),
33+
modules = [DistributedNext],
34+
sitename = "DistributedNext",
35+
pages = [
36+
"DistributedNext" => "index.md",
37+
"changelog.md"
38+
],
39+
warnonly = [:missing_docs, :cross_references],
40+
)
41+
42+
deploydocs(repo = "github.com/JuliaParallel/DistributedNext.jl.git")

docs/src/_changelog.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
```@meta
2+
CurrentModule = DistributedNext
3+
```
4+
5+
# Changelog
6+
7+
This documents notable changes in DistributedNext.jl. The format is based on
8+
[Keep a Changelog](https://keepachangelog.com).
9+
10+
## Unreleased
11+
12+
### Changed
13+
- Added a `project` argument to [`addprocs(::AbstractVector)`](@ref) to specify
14+
the project of a remote worker ([#2]).

docs/src/index.md

Lines changed: 57 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -1,53 +1,53 @@
11
# [Distributed Computing](@id man-distributed)
22

33
```@docs
4-
Distributed
5-
Distributed.addprocs
6-
Distributed.nprocs
7-
Distributed.nworkers
8-
Distributed.procs()
9-
Distributed.procs(::Integer)
10-
Distributed.workers
11-
Distributed.rmprocs
12-
Distributed.interrupt
13-
Distributed.myid
14-
Distributed.pmap
15-
Distributed.RemoteException
16-
Distributed.ProcessExitedException
17-
Distributed.Future
18-
Distributed.RemoteChannel
19-
Distributed.fetch(::Distributed.Future)
20-
Distributed.fetch(::RemoteChannel)
21-
Distributed.remotecall(::Any, ::Integer, ::Any...)
22-
Distributed.remotecall_wait(::Any, ::Integer, ::Any...)
23-
Distributed.remotecall_fetch(::Any, ::Integer, ::Any...)
24-
Distributed.remote_do(::Any, ::Integer, ::Any...)
25-
Distributed.put!(::RemoteChannel, ::Any...)
26-
Distributed.put!(::Distributed.Future, ::Any)
27-
Distributed.take!(::RemoteChannel, ::Any...)
28-
Distributed.isready(::RemoteChannel, ::Any...)
29-
Distributed.isready(::Distributed.Future)
30-
Distributed.AbstractWorkerPool
31-
Distributed.WorkerPool
32-
Distributed.CachingPool
33-
Distributed.default_worker_pool
34-
Distributed.clear!
35-
Distributed.remote
36-
Distributed.remotecall(::Any, ::AbstractWorkerPool, ::Any...)
37-
Distributed.remotecall_wait(::Any, ::AbstractWorkerPool, ::Any...)
38-
Distributed.remotecall_fetch(::Any, ::AbstractWorkerPool, ::Any...)
39-
Distributed.remote_do(::Any, ::AbstractWorkerPool, ::Any...)
40-
Distributed.@spawn
41-
Distributed.@spawnat
42-
Distributed.@fetch
43-
Distributed.@fetchfrom
44-
Distributed.@distributed
45-
Distributed.@everywhere
46-
Distributed.remoteref_id
47-
Distributed.channel_from_id
48-
Distributed.worker_id_from_socket
49-
Distributed.cluster_cookie()
50-
Distributed.cluster_cookie(::Any)
4+
DistributedNext
5+
DistributedNext.addprocs
6+
DistributedNext.nprocs
7+
DistributedNext.nworkers
8+
DistributedNext.procs()
9+
DistributedNext.procs(::Integer)
10+
DistributedNext.workers
11+
DistributedNext.rmprocs
12+
DistributedNext.interrupt
13+
DistributedNext.myid
14+
DistributedNext.pmap
15+
DistributedNext.RemoteException
16+
DistributedNext.ProcessExitedException
17+
DistributedNext.Future
18+
DistributedNext.RemoteChannel
19+
DistributedNext.fetch(::DistributedNext.Future)
20+
DistributedNext.fetch(::RemoteChannel)
21+
DistributedNext.remotecall(::Any, ::Integer, ::Any...)
22+
DistributedNext.remotecall_wait(::Any, ::Integer, ::Any...)
23+
DistributedNext.remotecall_fetch(::Any, ::Integer, ::Any...)
24+
DistributedNext.remote_do(::Any, ::Integer, ::Any...)
25+
DistributedNext.put!(::RemoteChannel, ::Any...)
26+
DistributedNext.put!(::DistributedNext.Future, ::Any)
27+
DistributedNext.take!(::RemoteChannel, ::Any...)
28+
DistributedNext.isready(::RemoteChannel, ::Any...)
29+
DistributedNext.isready(::DistributedNext.Future)
30+
DistributedNext.AbstractWorkerPool
31+
DistributedNext.WorkerPool
32+
DistributedNext.CachingPool
33+
DistributedNext.default_worker_pool
34+
DistributedNext.clear!
35+
DistributedNext.remote
36+
DistributedNext.remotecall(::Any, ::AbstractWorkerPool, ::Any...)
37+
DistributedNext.remotecall_wait(::Any, ::AbstractWorkerPool, ::Any...)
38+
DistributedNext.remotecall_fetch(::Any, ::AbstractWorkerPool, ::Any...)
39+
DistributedNext.remote_do(::Any, ::AbstractWorkerPool, ::Any...)
40+
DistributedNext.@spawn
41+
DistributedNext.@spawnat
42+
DistributedNext.@fetch
43+
DistributedNext.@fetchfrom
44+
DistributedNext.@distributed
45+
DistributedNext.@everywhere
46+
DistributedNext.remoteref_id
47+
DistributedNext.channel_from_id
48+
DistributedNext.worker_id_from_socket
49+
DistributedNext.cluster_cookie()
50+
DistributedNext.cluster_cookie(::Any)
5151
```
5252

5353
## Cluster Manager Interface
@@ -58,14 +58,14 @@ same host, and `SSHManager`, for launching on remote hosts via `ssh`. TCP/IP soc
5858
and transport messages between processes. It is possible for Cluster Managers to provide a different transport.
5959

6060
```@docs
61-
Distributed.ClusterManager
62-
Distributed.WorkerConfig
63-
Distributed.launch
64-
Distributed.manage
65-
Distributed.kill(::ClusterManager, ::Int, ::WorkerConfig)
66-
Distributed.connect(::ClusterManager, ::Int, ::WorkerConfig)
67-
Distributed.init_worker
68-
Distributed.start_worker
69-
Distributed.process_messages
70-
Distributed.default_addprocs_params
61+
DistributedNext.ClusterManager
62+
DistributedNext.WorkerConfig
63+
DistributedNext.launch
64+
DistributedNext.manage
65+
DistributedNext.kill(::ClusterManager, ::Int, ::WorkerConfig)
66+
DistributedNext.connect(::ClusterManager, ::Int, ::WorkerConfig)
67+
DistributedNext.init_worker
68+
DistributedNext.start_worker
69+
DistributedNext.process_messages
70+
DistributedNext.default_addprocs_params
7171
```

src/DistributedNext.jl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
# This file is a part of Julia. License is MIT: https://julialang.org/license
22

33
"""
4-
Tools for distributed parallel processing.
4+
Tools for distributed parallel processing. This is a soft fork of Distributed.jl
5+
for the purposes of testing new things before merging upstream. Here be dragons!
56
"""
67
module DistributedNext
78

0 commit comments

Comments
 (0)