Skip to content

Commit 3048bcb

Browse files
Add future.tests for all known backends on CRAN
1 parent 73bf6a7 commit 3048bcb

File tree

5 files changed

+350
-1
lines changed

5 files changed

+350
-1
lines changed

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ jobs:
1919
- {os: windows-latest, r: 'devel' }
2020
- {os: windows-latest, r: 'release' }
2121
- {os: windows-latest, r: 'oldrel' }
22-
- {os: macOS-latest, r: 'devel' }
22+
# - {os: macOS-latest, r: 'devel' }
2323
- {os: macOS-latest, r: 'release' }
2424
- {os: macOS-latest, r: 'oldrel' }
2525
- {os: ubuntu-latest, r: 'devel' }
Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
on: [push, pull_request]
2+
3+
name: future.batchtools
4+
5+
jobs:
6+
future_tests:
7+
if: "! contains(github.event.head_commit.message, '[ci skip]')"
8+
9+
timeout-minutes: 30
10+
11+
runs-on: ubuntu-latest
12+
13+
name: future.plan=${{ matrix.future.plan }}
14+
15+
strategy:
16+
fail-fast: false
17+
matrix:
18+
future:
19+
- { plan: 'future.batchtools::batchtools_local' }
20+
- { plan: 'future.batchtools::batchtools_bash' }
21+
22+
env:
23+
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
24+
R_REMOTES_NO_ERRORS_FROM_WARNINGS: true
25+
## R CMD check
26+
_R_CHECK_MATRIX_DATA_: true
27+
_R_CHECK_CRAN_INCOMING_: false
28+
## Specific to futures
29+
R_FUTURE_RNG_ONMISUSE: error
30+
31+
steps:
32+
- uses: actions/checkout@v4
33+
34+
- uses: r-lib/actions/setup-pandoc@v2
35+
36+
- uses: r-lib/actions/setup-r@v2
37+
with:
38+
use-public-rspm: true
39+
40+
- uses: r-lib/actions/setup-r-dependencies@v2
41+
with:
42+
extra-packages: |
43+
any::rcmdcheck
44+
any::remotes
45+
any::sessioninfo
46+
needs: check
47+
48+
- name: Install dependencies
49+
run: |
50+
remotes::install_deps(dependencies = TRUE)
51+
install.packages(".", repos=NULL, type="source")
52+
shell: Rscript {0}
53+
54+
- name: Session info
55+
run: |
56+
options(width = 100)
57+
pkgs <- installed.packages()[, "Package"]
58+
sessioninfo::session_info(pkgs, include_base = TRUE)
59+
shell: Rscript {0}
60+
61+
- name: Install 'future.tests' and any backend R packages
62+
run: |
63+
if (grepl("::", plan <- "${{ matrix.future.plan }}") &&
64+
nzchar(pkg <- sub("::.*", "", plan))) {
65+
install.packages(pkg)
66+
}
67+
shell: Rscript {0}
68+
69+
- name: Session info
70+
run: |
71+
options(width = 100)
72+
pkgs <- installed.packages()[, "Package"]
73+
sessioninfo::session_info(pkgs, include_base = TRUE)
74+
shell: Rscript {0}
75+
76+
- name: Check future backend '${{ matrix.future.plan }}'
77+
run: |
78+
R CMD build --no-build-vignettes --no-manual .
79+
R CMD INSTALL *.tar.gz
80+
Rscript -e future.tests::check --args --test-plan=${{ matrix.future.plan }}
81+
82+
- name: Upload check results
83+
if: failure()
84+
uses: actions/upload-artifact@v4
85+
with:
86+
name: ${{ runner.os }}-r${{ matrix.future.plan }}-results
87+
path: check
Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
on: [push, pull_request]
2+
3+
name: future.callr
4+
5+
jobs:
6+
future_tests:
7+
if: "! contains(github.event.head_commit.message, '[ci skip]')"
8+
9+
timeout-minutes: 30
10+
11+
runs-on: ubuntu-latest
12+
13+
name: future.plan=${{ matrix.future.plan }}
14+
15+
strategy:
16+
fail-fast: false
17+
matrix:
18+
future:
19+
- { plan: 'future.callr::callr' }
20+
21+
env:
22+
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
23+
R_REMOTES_NO_ERRORS_FROM_WARNINGS: true
24+
## R CMD check
25+
_R_CHECK_MATRIX_DATA_: true
26+
_R_CHECK_CRAN_INCOMING_: false
27+
## Specific to futures
28+
R_FUTURE_RNG_ONMISUSE: error
29+
30+
steps:
31+
- uses: actions/checkout@v4
32+
33+
- uses: r-lib/actions/setup-pandoc@v2
34+
35+
- uses: r-lib/actions/setup-r@v2
36+
with:
37+
use-public-rspm: true
38+
39+
- uses: r-lib/actions/setup-r-dependencies@v2
40+
with:
41+
extra-packages: |
42+
any::rcmdcheck
43+
any::remotes
44+
any::sessioninfo
45+
needs: check
46+
47+
- name: Install dependencies
48+
run: |
49+
remotes::install_deps(dependencies = TRUE)
50+
install.packages(".", repos=NULL, type="source")
51+
shell: Rscript {0}
52+
53+
- name: Session info
54+
run: |
55+
options(width = 100)
56+
pkgs <- installed.packages()[, "Package"]
57+
sessioninfo::session_info(pkgs, include_base = TRUE)
58+
shell: Rscript {0}
59+
60+
- name: Install 'future.tests' and any backend R packages
61+
run: |
62+
if (grepl("::", plan <- "${{ matrix.future.plan }}") &&
63+
nzchar(pkg <- sub("::.*", "", plan))) {
64+
install.packages(pkg)
65+
}
66+
shell: Rscript {0}
67+
68+
- name: Session info
69+
run: |
70+
options(width = 100)
71+
pkgs <- installed.packages()[, "Package"]
72+
sessioninfo::session_info(pkgs, include_base = TRUE)
73+
shell: Rscript {0}
74+
75+
- name: Check future backend '${{ matrix.future.plan }}'
76+
run: |
77+
R CMD build --no-build-vignettes --no-manual .
78+
R CMD INSTALL *.tar.gz
79+
Rscript -e future.tests::check --args --test-plan=${{ matrix.future.plan }}
80+
81+
- name: Upload check results
82+
if: failure()
83+
uses: actions/upload-artifact@v4
84+
with:
85+
name: ${{ runner.os }}-r${{ matrix.future.plan }}-results
86+
path: check
Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
on: [push, pull_request]
2+
3+
name: future.mirai
4+
5+
jobs:
6+
future_tests:
7+
if: "! contains(github.event.head_commit.message, '[ci skip]')"
8+
9+
timeout-minutes: 30
10+
11+
runs-on: ubuntu-latest
12+
13+
name: future.plan=${{ matrix.future.plan }}
14+
15+
strategy:
16+
fail-fast: false
17+
matrix:
18+
future:
19+
- { plan: 'future.mirai::mirai_multisession' }
20+
- { plan: 'future.mirai::mirai_cluster' }
21+
22+
env:
23+
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
24+
R_REMOTES_NO_ERRORS_FROM_WARNINGS: true
25+
## R CMD check
26+
_R_CHECK_MATRIX_DATA_: true
27+
_R_CHECK_CRAN_INCOMING_: false
28+
## Specific to futures
29+
R_FUTURE_RNG_ONMISUSE: error
30+
31+
steps:
32+
- uses: actions/checkout@v4
33+
34+
- uses: r-lib/actions/setup-pandoc@v2
35+
36+
- uses: r-lib/actions/setup-r@v2
37+
with:
38+
use-public-rspm: true
39+
40+
- uses: r-lib/actions/setup-r-dependencies@v2
41+
with:
42+
extra-packages: |
43+
any::rcmdcheck
44+
any::remotes
45+
any::sessioninfo
46+
needs: check
47+
48+
- name: Install dependencies
49+
run: |
50+
remotes::install_deps(dependencies = TRUE)
51+
install.packages(".", repos=NULL, type="source")
52+
shell: Rscript {0}
53+
54+
- name: Session info
55+
run: |
56+
options(width = 100)
57+
pkgs <- installed.packages()[, "Package"]
58+
sessioninfo::session_info(pkgs, include_base = TRUE)
59+
shell: Rscript {0}
60+
61+
- name: Install 'future.tests' and any backend R packages
62+
run: |
63+
if (grepl("::", plan <- "${{ matrix.future.plan }}") &&
64+
nzchar(pkg <- sub("::.*", "", plan))) {
65+
install.packages(pkg)
66+
}
67+
shell: Rscript {0}
68+
69+
- name: Session info
70+
run: |
71+
options(width = 100)
72+
pkgs <- installed.packages()[, "Package"]
73+
sessioninfo::session_info(pkgs, include_base = TRUE)
74+
shell: Rscript {0}
75+
76+
- name: Check future backend '${{ matrix.future.plan }}'
77+
run: |
78+
R CMD build --no-build-vignettes --no-manual .
79+
R CMD INSTALL *.tar.gz
80+
Rscript -e future.tests::check --args --test-plan=${{ matrix.future.plan }}
81+
82+
- name: Upload check results
83+
if: failure()
84+
uses: actions/upload-artifact@v4
85+
with:
86+
name: ${{ runner.os }}-r${{ matrix.future.plan }}-results
87+
path: check
Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
on: [push, pull_request]
2+
3+
name: future
4+
5+
jobs:
6+
future_tests:
7+
if: "! contains(github.event.head_commit.message, '[ci skip]')"
8+
9+
timeout-minutes: 30
10+
11+
runs-on: ubuntu-latest
12+
13+
name: future.plan=${{ matrix.future.plan }}
14+
15+
strategy:
16+
fail-fast: false
17+
matrix:
18+
future:
19+
- { plan: 'cluster' }
20+
- { plan: 'multicore' }
21+
- { plan: 'multisession' }
22+
- { plan: 'sequential' }
23+
24+
env:
25+
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
26+
R_REMOTES_NO_ERRORS_FROM_WARNINGS: true
27+
## R CMD check
28+
_R_CHECK_MATRIX_DATA_: true
29+
_R_CHECK_CRAN_INCOMING_: false
30+
## Specific to futures
31+
R_FUTURE_RNG_ONMISUSE: error
32+
33+
steps:
34+
- uses: actions/checkout@v4
35+
36+
- uses: r-lib/actions/setup-pandoc@v2
37+
38+
- uses: r-lib/actions/setup-r@v2
39+
with:
40+
use-public-rspm: true
41+
42+
- uses: r-lib/actions/setup-r-dependencies@v2
43+
with:
44+
extra-packages: |
45+
any::rcmdcheck
46+
any::remotes
47+
any::sessioninfo
48+
needs: check
49+
50+
- name: Install dependencies
51+
run: |
52+
remotes::install_deps(dependencies = TRUE)
53+
install.packages(".", repos=NULL, type="source")
54+
shell: Rscript {0}
55+
56+
- name: Session info
57+
run: |
58+
options(width = 100)
59+
pkgs <- installed.packages()[, "Package"]
60+
sessioninfo::session_info(pkgs, include_base = TRUE)
61+
shell: Rscript {0}
62+
63+
- name: Install 'future.tests' and any backend R packages
64+
run: |
65+
if (grepl("::", plan <- "${{ matrix.future.plan }}") &&
66+
nzchar(pkg <- sub("::.*", "", plan))) {
67+
install.packages(pkg)
68+
}
69+
shell: Rscript {0}
70+
71+
- name: Session info
72+
run: |
73+
options(width = 100)
74+
pkgs <- installed.packages()[, "Package"]
75+
sessioninfo::session_info(pkgs, include_base = TRUE)
76+
shell: Rscript {0}
77+
78+
- name: Check future backend '${{ matrix.future.plan }}'
79+
run: |
80+
R CMD build --no-build-vignettes --no-manual .
81+
R CMD INSTALL *.tar.gz
82+
Rscript -e future.tests::check --args --test-plan=${{ matrix.future.plan }}
83+
84+
- name: Upload check results
85+
if: failure()
86+
uses: actions/upload-artifact@v4
87+
with:
88+
name: ${{ runner.os }}-r${{ matrix.future.plan }}-results
89+
path: check

0 commit comments

Comments
 (0)