Skip to content

Commit 3d4a99a

Browse files
Merge branch 'release/0.2.0'
2 parents 8abd0fc + e41992f commit 3d4a99a

32 files changed

+633
-224
lines changed

.Rbuildignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
^.make
77
^INSTALL[.]md$
88
^OVERVIEW[.]md$
9-
^README.*[.]md$
109
^CONDUCT[.]md$
1110
^CONTRIBUTING[.]md$
1211
^docs
@@ -61,3 +60,4 @@ Rplots.pdf$
6160
^.issues
6261
^last.dump*
6362
[.]Rdump
63+
.*~$

.Rinstignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
.*~$

.github/workflows/R-CMD-check.yaml

Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
1+
on: [push, pull_request]
2+
3+
name: R-CMD-check
4+
5+
jobs:
6+
R-CMD-check:
7+
if: "! contains(github.event.head_commit.message, '[ci skip]')"
8+
9+
timeout-minutes: 30
10+
11+
runs-on: ${{ matrix.config.os }}
12+
13+
name: ${{ matrix.config.os }} (${{ matrix.config.r }}) ${{ matrix.config.label }}
14+
15+
strategy:
16+
fail-fast: false
17+
matrix:
18+
config:
19+
- {os: windows-latest, r: 'release' }
20+
- {os: windows-latest, r: 'oldrel' }
21+
- {os: macOS-latest, r: 'release' }
22+
- {os: ubuntu-latest, r: 'devel' }
23+
- {os: ubuntu-latest, r: 'release' }
24+
- {os: ubuntu-latest, r: 'oldrel' }
25+
- {os: ubuntu-latest, r: '4.1' }
26+
27+
env:
28+
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
29+
R_KEEP_PKG_SOURCE: yes
30+
R_REMOTES_NO_ERRORS_FROM_WARNINGS: true
31+
## Test in other locale (optional)
32+
LANGUAGE: ${{ matrix.config.language }}
33+
## R (>= 4.4.0) Note, no trailing underscore (sic!)
34+
_R_COMPARE_LANG_OBJECTS: eqonly
35+
## R CMD check
36+
_R_CHECK_CRAN_INCOMING_: false
37+
_R_CHECK_MATRIX_DATA_: true
38+
_R_CHECK_SUGGESTS_ONLY_: true
39+
_R_CHECK_THINGS_IN_TEMP_DIR_: true
40+
_R_CHECK_TESTS_NLINES_: 300
41+
RCMDCHECK_ERROR_ON: note
42+
## Specific to futures
43+
R_FUTURE_CONNECTIONS_ONMISUSE: "error[details=TRUE]"
44+
R_FUTURE_GLOBALENV_ONMISUSE: "error"
45+
R_FUTURE_GLOBALS_ONREFERENCE: "warning"
46+
R_FUTURE_RNG_ONMISUSE: error
47+
48+
steps:
49+
- uses: actions/checkout@v4
50+
51+
- uses: r-lib/actions/setup-pandoc@v2
52+
53+
- uses: r-lib/actions/setup-r@v2
54+
with:
55+
r-version: ${{ matrix.config.r }}
56+
http-user-agent: ${{ matrix.config.http-user-agent }}
57+
use-public-rspm: true
58+
59+
- uses: r-lib/actions/setup-r-dependencies@v2
60+
with:
61+
extra-packages: |
62+
any::rcmdcheck
63+
any::remotes
64+
needs: check
65+
66+
- name: Install package itself (special case)
67+
run: |
68+
install.packages(".", repos = NULL, type = "source") ## needed by parallel workers
69+
70+
shell: Rscript {0}
71+
72+
- name: Session info
73+
run: |
74+
options(width = 100)
75+
parallelly::availableCores(which = "all")
76+
sapply(c(physical_cores = FALSE, logical_cores = TRUE), parallel::detectCores)
77+
if (require(RhpcBLASctl, quietly=TRUE)) c(get_num_procs = get_num_procs(), get_num_cores = get_num_cores(), blas_get_num_procs = blas_get_num_procs(), omp_get_num_procs = omp_get_num_procs(), omp_get_max_threads = omp_get_max_threads())
78+
capabilities()
79+
pkgs <- installed.packages()[, "Package"]
80+
sessioninfo::session_info(pkgs, include_base = TRUE)
81+
## Verify LANGUAGE settings by generating a translatable error
82+
cat(sprintf("LANGUAGE=%s\n", sQuote(Sys.getenv("LANGUAGE"))))
83+
cat(sprintf("locales: %s\n", sQuote(Sys.getlocale())))
84+
tryCatch(log("a"), error = conditionMessage)
85+
shell: Rscript {0}
86+
87+
- name: Check
88+
if: runner.os != 'Windows'
89+
run: |
90+
rcmdcheck::rcmdcheck(
91+
args = c("--no-manual", "--as-cran"),
92+
check_dir = "check"
93+
)
94+
shell: Rscript {0}
95+
96+
- name: Check (Windows)
97+
if: runner.os == 'Windows'
98+
run: |
99+
rcmdcheck::rcmdcheck(
100+
args = c("--no-manual", "--as-cran", if (getRversion() >= "4.2.0") "--no-multiarch"),
101+
check_dir = "check"
102+
)
103+
shell: Rscript {0}
104+
105+
- name: Upload check results
106+
if: failure()
107+
uses: actions/upload-artifact@v4
108+
with:
109+
name: ${{ runner.os }}-r${{ matrix.config.r }}-results
110+
path: check
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
on: [push]
2+
3+
name: test-coverage.yaml
4+
5+
permissions: read-all
6+
7+
jobs:
8+
test-coverage:
9+
runs-on: ubuntu-latest
10+
env:
11+
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
12+
13+
steps:
14+
- uses: actions/checkout@v4
15+
16+
- name: Assert CODECOV_TOKEN is set
17+
run: |
18+
if [[ -z "${{secrets.CODECOV_TOKEN}}" ]]; then
19+
>&2 echo "::error::ERROR: 'secrets.CODECOV_TOKEN' not set"
20+
exit 1
21+
fi
22+
23+
- uses: r-lib/actions/setup-r@v2
24+
with:
25+
use-public-rspm: true
26+
27+
- uses: r-lib/actions/setup-r-dependencies@v2
28+
with:
29+
extra-packages: |
30+
any::covr
31+
any::xml2
32+
any::remotes
33+
needs: coverage
34+
35+
- name: Install package itself (special case)
36+
run: |
37+
install.packages(".", repos = NULL, type = "source")
38+
shell: Rscript {0}
39+
40+
- name: Test coverage
41+
run: |
42+
cov <- covr::package_coverage(
43+
quiet = FALSE,
44+
clean = FALSE,
45+
install_path = file.path(normalizePath(Sys.getenv("RUNNER_TEMP"), winslash = "/"), "package")
46+
)
47+
print(cov)
48+
covr::to_cobertura(cov)
49+
shell: Rscript {0}
50+
51+
- uses: codecov/codecov-action@v4
52+
with:
53+
fail_ci_if_error: ${{ github.event_name != 'pull_request' && true || false }}
54+
file: ./cobertura.xml
55+
plugin: noop
56+
disable_search: true
57+
token: ${{ secrets.CODECOV_TOKEN }}
58+
59+
- name: Upload test results
60+
if: failure()
61+
uses: actions/upload-artifact@v4
62+
with:
63+
name: coverage-test-failures
64+
path: ${{ runner.temp }}/package

DESCRIPTION

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
Package: future.p2p
22
Title: A Peer-to-Peer Compute Cluster via Futureverse
3-
Version: 0.1.0
3+
Version: 0.2.0
44
Description: Implementation of the 'Future' API <doi:10.32614/RJ-2021-048> that resolves futures on a peer-to-peer ('P2P') compute environment. By using this future backend, you and your friends can share your spare compute resources with each other.
55
Depends:
6-
future (>= 1.58.0)
6+
future (>= 1.67.0)
77
Imports:
88
processx,
99
callr
@@ -15,6 +15,8 @@ Authors@R: c(
1515
person("Henrik", "Bengtsson", role=c("aut", "cre", "cph"),
1616
email = "henrikb@braju.com"))
1717
License: GPL (>= 3)
18+
URL: https://future.p2p.futureverse.org/
19+
BugReports: https://github.com/futureverse/future.p2p/issues
1820
Encoding: UTF-8
1921
Roxygen: list(markdown = TRUE)
2022
RoxygenNote: 7.3.2

NAMESPACE

Lines changed: 1 addition & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -10,34 +10,11 @@ S3method(print,pico_username)
1010
S3method(resolved,PicoP2PFuture)
1111
S3method(result,PicoP2PFuture)
1212
export(PicoP2PFutureBackend)
13-
export(availablePicoP2PWorkers)
1413
export(cluster)
15-
export(find_wormhole)
16-
export(future_id)
1714
export(host_cluster)
18-
export(install_wormhole)
19-
export(p2p_cluster)
20-
export(p2p_name)
21-
export(pico_hosted_channels)
22-
export(pico_p2p_have_future)
23-
export(pico_p2p_hello)
24-
export(pico_p2p_hosted_clusters)
25-
export(pico_p2p_receive_future)
26-
export(pico_p2p_receive_result)
27-
export(pico_p2p_send_future)
28-
export(pico_p2p_send_result)
29-
export(pico_p2p_take_on_future)
30-
export(pico_p2p_wait_for)
31-
export(pico_pipe)
32-
export(pico_receive_message)
33-
export(pico_receive_message_dataframe)
34-
export(pico_send_message)
35-
export(pico_terminate)
15+
export(p2p_cluster_name)
3616
export(pico_username)
3717
export(worker)
38-
export(wormhole_filename)
39-
export(wormhole_receive)
40-
export(wormhole_send)
4118
importFrom(callr,r_bg)
4219
importFrom(future,Future)
4320
importFrom(future,FutureBackend)

NEWS.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,10 @@
1+
# Version 0.2.0 [2025-08-13]
2+
3+
## Signficant Changes
4+
5+
* Removed internal functions from the public API.
6+
7+
18
# Version 0.1.0 [2025-08-10]
29

310
This is the first public version of the **future.p2p** package.

0 commit comments

Comments
 (0)