Skip to content

Commit 355efac

Browse files
Merge branch 'release/0.11.0'
2 parents 7885dee + a132138 commit 355efac

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

69 files changed

+2495
-803
lines changed

.Rbuildignore

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@
1010
^OVERVIEW[.]md$
1111
^README[.]md$
1212
^CONDUCT[.]md$
13+
^CONTRIBUTING[.]md$
14+
^docs
15+
^pkgdown
1316

1417
#----------------------------
1518
# devtools
@@ -61,4 +64,3 @@ Rplots.pdf$
6164

6265
^.*\.Rproj$
6366
^\.Rproj\.user$
64-
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
---
2+
name: Bug report
3+
about: Create a report to help us improve (Please use future's 'Discussions' for Q&A)
4+
title: ''
5+
labels: ''
6+
assignees: ''
7+
8+
---
9+
(Please use <https://github.com/HenrikBengtsson/future/discussions> for Q&A)
10+
11+
**Describe the bug**
12+
A clear and concise description of what the bug is.
13+
14+
**Reproduce example**
15+
A reproducible example using R code.
16+
17+
**Expected behavior**
18+
A clear and concise description of what you expected to happen.
19+
20+
**Session information**
21+
Please share your session information, e.g.
22+
23+
```r
24+
> sessionInfo()
25+
```

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
lank_issues_enabled: true
2+
contact_links:
3+
- name: Support & Discussions
4+
url: https://github.com/HenrikBengtsson/future/discussions/
5+
about: Got a question? Something is not working? Want to share an idea?
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
---
2+
name: Feature request
3+
about: Suggest an idea for this project (Please use future's 'Discussions' for Q&A)
4+
title: ''
5+
labels: ''
6+
assignees: ''
7+
8+
---
9+
(Please use <https://github.com/HenrikBengtsson/future/discussions> for Q&A)
10+
11+
**Wish or feature request**
12+
A clear and concise description of what the problem is. For example, I would like to be able to ...

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

Lines changed: 55 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -6,87 +6,91 @@ jobs:
66
R-CMD-check:
77
if: "! contains(github.event.head_commit.message, '[ci skip]')"
88

9+
timeout-minutes: 30
10+
911
runs-on: ${{ matrix.config.os }}
1012

11-
name: ${{ matrix.config.os }} (${{ matrix.config.r }})
13+
name: ${{ matrix.config.os }} (${{ matrix.config.r }}) ${{ matrix.config.label }}
1214

1315
strategy:
1416
fail-fast: false
1517
matrix:
1618
config:
17-
- {os: windows-latest, r: 'devel'}
18-
#2020-09-23# - {os: windows-latest, r: 'release'}
19-
- {os: macOS-latest, r: 'devel'}
20-
- {os: macOS-latest, r: 'release'}
21-
- {os: ubuntu-20.04, r: 'devel', rspm: "https://packagemanager.rstudio.com/cran/__linux__/xenial/latest"}
22-
- {os: ubuntu-20.04, r: 'release', rspm: "https://packagemanager.rstudio.com/cran/__linux__/xenial/latest"}
23-
- {os: ubuntu-20.04, r: 'oldrel', rspm: "https://packagemanager.rstudio.com/cran/__linux__/xenial/latest"}
24-
- {os: ubuntu-20.04, r: '3.5', rspm: "https://packagemanager.rstudio.com/cran/__linux__/xenial/latest"}
25-
- {os: ubuntu-20.04, r: '3.4', rspm: "https://packagemanager.rstudio.com/cran/__linux__/xenial/latest"}
26-
- {os: ubuntu-20.04, r: '3.3', rspm: "https://packagemanager.rstudio.com/cran/__linux__/xenial/latest"}
27-
19+
- {os: windows-latest, r: 'devel' }
20+
- {os: windows-latest, r: 'release' }
21+
- {os: windows-latest, r: 'oldrel' }
22+
- {os: macOS-latest, r: 'devel' }
23+
- {os: macOS-latest, r: 'release' }
24+
- {os: macOS-latest, r: 'oldrel' }
25+
- {os: ubuntu-20.04, r: 'devel' }
26+
- {os: ubuntu-20.04, r: 'release' }
27+
- {os: ubuntu-20.04, r: 'oldrel' }
28+
- {os: ubuntu-20.04, r: 'oldrel-1' }
29+
- {os: ubuntu-20.04, r: 'oldrel-2' }
30+
- {os: ubuntu-20.04, r: '3.4' }
31+
- {os: ubuntu-20.04, r: 'release' , language: ko, label: ko }
32+
- {os: ubuntu-20.04, r: 'release' , language: zh_CN, label: zh_CN }
33+
- {os: ubuntu-20.04, r: 'release' , language: zh_TW, label: zh_TW }
2834
env:
29-
R_REMOTES_NO_ERRORS_FROM_WARNINGS: true
30-
R_FUTURE_RNG_ONMISUSE: error
31-
RSPM: ${{ matrix.config.rspm }}
3235
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
33-
36+
R_KEEP_PKG_SOURCE: yes
37+
R_REMOTES_NO_ERRORS_FROM_WARNINGS: true
38+
## R CMD check
39+
_R_CHECK_CRAN_INCOMING_: false
40+
_R_CHECK_LENGTH_1_CONDITION_: true
41+
_R_CHECK_LENGTH_1_LOGIC2_: true
42+
_R_CHECK_MATRIX_DATA_: true
43+
_R_CHECK_SUGGESTS_ONLY_: true
44+
_R_CHECK_THINGS_IN_TEMP_DIR_: true
45+
RCMDCHECK_ERROR_ON: note
46+
## Test in other locale (optional)
47+
LANGUAGE: ${{ matrix.config.language }}
48+
3449
steps:
35-
- uses: actions/checkout@v2
50+
- uses: actions/checkout@v3
51+
52+
- uses: r-lib/actions/setup-pandoc@v2
3653

37-
- uses: r-lib/actions/setup-r@master
54+
- uses: r-lib/actions/setup-r@v2
3855
with:
3956
r-version: ${{ matrix.config.r }}
40-
41-
- uses: r-lib/actions/setup-pandoc@master
42-
43-
- name: Query dependencies
44-
run: |
45-
install.packages('remotes')
46-
saveRDS(remotes::dev_package_deps(dependencies = TRUE), ".github/depends.Rds", version = 2)
47-
writeLines(sprintf("R-%i.%i", getRversion()$major, getRversion()$minor), ".github/R-version")
48-
shell: Rscript {0}
49-
50-
- name: Cache R packages
51-
if: runner.os != 'Windows'
52-
uses: actions/cache@v1
57+
http-user-agent: ${{ matrix.config.http-user-agent }}
58+
use-public-rspm: true
59+
60+
- uses: r-lib/actions/setup-r-dependencies@v2
5361
with:
54-
path: ${{ env.R_LIBS_USER }}
55-
key: ${{ runner.os }}-${{ hashFiles('.github/R-version') }}-1-${{ hashFiles('.github/depends.Rds') }}
56-
restore-keys: ${{ runner.os }}-${{ hashFiles('.github/R-version') }}-1-
62+
extra-packages: any::rcmdcheck
63+
needs: check
5764

58-
- name: Install system dependencies
59-
if: runner.os == 'Linux'
60-
env:
61-
RHUB_PLATFORM: linux-x86_64-ubuntu-gcc
65+
- name: Install package itself (special case)
6266
run: |
63-
Rscript -e "remotes::install_github('r-hub/sysreqs')"
64-
sysreqs=$(Rscript -e "cat(sysreqs::sysreq_commands('DESCRIPTION'))")
65-
sudo -s eval "$sysreqs"
66-
67-
- name: Install dependencies
68-
run: |
69-
remotes::install_deps(dependencies = TRUE)
70-
remotes::install_cran("rcmdcheck")
71-
install.packages(".", repos=NULL, type="source") ## needed by parallel workers
67+
install.packages(".", repos = NULL, type = "source") ## self vignette engine
7268
shell: Rscript {0}
7369

7470
- name: Session info
7571
run: |
7672
options(width = 100)
73+
capabilities()
74+
parallelly::availableCores(which = "all")
7775
pkgs <- installed.packages()[, "Package"]
7876
sessioninfo::session_info(pkgs, include_base = TRUE)
77+
## Verify LANGUAGE settings by generating a translatable error
78+
cat(sprintf("LANGUAGE=%s\n", sQuote(Sys.getenv("LANGUAGE"))))
79+
cat(sprintf("locales: %s\n", sQuote(Sys.getlocale())))
80+
tryCatch(log("a"), error = conditionMessage)
7981
shell: Rscript {0}
8082

8183
- name: Check
82-
env:
83-
_R_CHECK_CRAN_INCOMING_REMOTE_: false
84-
run: rcmdcheck::rcmdcheck(args = c("--no-manual", "--as-cran"), error_on = "warning", check_dir = "check")
84+
run: |
85+
rcmdcheck::rcmdcheck(
86+
args = c("--no-manual", "--as-cran"),
87+
check_dir = "check"
88+
)
8589
shell: Rscript {0}
8690

8791
- name: Upload check results
8892
if: failure()
89-
uses: actions/upload-artifact@master
93+
uses: actions/upload-artifact@v3
9094
with:
9195
name: ${{ runner.os }}-r${{ matrix.config.r }}-results
9296
path: check

.github/workflows/covr.yaml

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
on: [push]
2+
3+
name: covr
4+
5+
jobs:
6+
covr:
7+
if: "! contains(github.event.head_commit.message, '[ci skip]')"
8+
9+
timeout-minutes: 10
10+
11+
runs-on: ubuntu-20.04
12+
13+
name: covr
14+
15+
strategy:
16+
fail-fast: false
17+
18+
env:
19+
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
20+
RSPM: https://packagemanager.rstudio.com/cran/__linux__/focal/latest
21+
R_REMOTES_NO_ERRORS_FROM_WARNINGS: true
22+
## R CMD check
23+
_R_CHECK_LENGTH_1_CONDITION_: true
24+
_R_CHECK_LENGTH_1_LOGIC2_: true
25+
_R_CHECK_MATRIX_DATA_: true
26+
_R_CHECK_CRAN_INCOMING_: false
27+
28+
steps:
29+
- uses: actions/checkout@v3
30+
31+
- uses: r-lib/actions/setup-pandoc@v2
32+
33+
- uses: r-lib/actions/setup-r@v2
34+
with:
35+
r-version: release
36+
37+
- name: Query dependencies
38+
run: |
39+
install.packages('remotes')
40+
saveRDS(remotes::dev_package_deps(dependencies = TRUE), ".github/depends.Rds", version = 2)
41+
writeLines(sprintf("R-%i.%i", getRversion()$major, getRversion()$minor), ".github/R-version")
42+
shell: Rscript {0}
43+
44+
- name: Cache R packages
45+
uses: actions/cache@v2
46+
with:
47+
path: ${{ env.R_LIBS_USER }}
48+
key: ${{ runner.os }}-${{ hashFiles('.github/R-version') }}-1-${{ hashFiles('.github/depends.Rds') }}
49+
restore-keys: ${{ runner.os }}-${{ hashFiles('.github/R-version') }}-1-
50+
51+
- name: Install system dependencies
52+
env:
53+
RHUB_PLATFORM: linux-x86_64-ubuntu-gcc
54+
run: |
55+
Rscript -e "remotes::install_github('r-hub/sysreqs')"
56+
sysreqs=$(Rscript -e "cat(sysreqs::sysreq_commands('DESCRIPTION'))")
57+
sudo -s eval "$sysreqs"
58+
59+
- name: Install dependencies
60+
run: |
61+
install.packages(c("covr", "sessioninfo"))
62+
remotes::install_deps(dependencies = TRUE)
63+
install.packages(".", repos=NULL, type="source")
64+
shell: Rscript {0}
65+
66+
- name: Session info
67+
run: |
68+
options(width = 100)
69+
pkgs <- installed.packages()[, "Package"]
70+
sessioninfo::session_info(pkgs, include_base = TRUE)
71+
shell: Rscript {0}
72+
73+
- name: Test coverage
74+
run: |
75+
## 1. Get 'Repository Upload Token' from Codecov:
76+
## https://app.codecov.io/gh/<org>/<repo>/settings
77+
## 2. Set 'CODECOV_TOKEN' in GitHub Secrets:
78+
## https://github.com/<org>/<repo>/settings/environments/
79+
coverage <- covr::package_coverage()
80+
print(coverage)
81+
covr::codecov(coverage = coverage, token="${{secrets.CODECOV_TOKEN}}")
82+
shell: Rscript {0}
Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
on: [push, pull_request]
2+
3+
name: future_tests
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-20.04
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_interactive' }
21+
22+
env:
23+
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
24+
RSPM: https://packagemanager.rstudio.com/cran/__linux__/focal/latest
25+
R_REMOTES_NO_ERRORS_FROM_WARNINGS: true
26+
## R CMD check
27+
_R_CHECK_LENGTH_1_CONDITION_: true
28+
_R_CHECK_LENGTH_1_LOGIC2_: true
29+
_R_CHECK_MATRIX_DATA_: true
30+
_R_CHECK_CRAN_INCOMING_: false
31+
## Specific to futures
32+
R_FUTURE_RNG_ONMISUSE: error
33+
34+
steps:
35+
- uses: actions/checkout@v3
36+
37+
- uses: r-lib/actions/setup-pandoc@v2
38+
39+
- uses: r-lib/actions/setup-r@v2
40+
with:
41+
r-version: release
42+
43+
- name: Query R package dependencies
44+
run: |
45+
install.packages('remotes')
46+
saveRDS(remotes::dev_package_deps(dependencies = TRUE), ".github/depends.Rds", version = 2)
47+
writeLines(sprintf("R-%i.%i", getRversion()$major, getRversion()$minor), ".github/R-version")
48+
shell: Rscript {0}
49+
50+
- name: Cache R packages
51+
uses: actions/cache@v2
52+
with:
53+
path: ${{ env.R_LIBS_USER }}
54+
key: ${{ runner.os }}-${{ hashFiles('.github/R-version') }}-1-${{ hashFiles('.github/depends.Rds') }}
55+
restore-keys: ${{ runner.os }}-${{ hashFiles('.github/R-version') }}-1-
56+
57+
- name: Install R package system dependencies (Linux)
58+
if: runner.os == 'Linux'
59+
env:
60+
RHUB_PLATFORM: linux-x86_64-ubuntu-gcc
61+
run: |
62+
Rscript -e "remotes::install_github('r-hub/sysreqs')"
63+
sysreqs=$(Rscript -e "cat(sysreqs::sysreq_commands('DESCRIPTION'))")
64+
sudo -s eval "$sysreqs"
65+
66+
- name: Install R package dependencies
67+
run: |
68+
remotes::install_deps(dependencies = TRUE)
69+
install.packages(".", repos=NULL, type="source") ## needed by parallel workers
70+
shell: Rscript {0}
71+
72+
- name: Install 'future.tests' and any backend R packages
73+
run: |
74+
remotes::install_cran("future.tests")
75+
remotes::install_github("HenrikBengtsson/future.tests", ref="develop")
76+
shell: Rscript {0}
77+
78+
- name: Session info
79+
run: |
80+
options(width = 100)
81+
pkgs <- installed.packages()[, "Package"]
82+
sessioninfo::session_info(pkgs, include_base = TRUE)
83+
shell: Rscript {0}
84+
85+
- name: Check future backend '${{ matrix.future.plan }}'
86+
run: |
87+
R CMD build --no-build-vignettes --no-manual .
88+
R CMD INSTALL *.tar.gz
89+
Rscript -e future.tests::check --args --test-plan=${{ matrix.future.plan }}
90+
91+
- name: Upload check results
92+
if: failure()
93+
uses: actions/upload-artifact@v3
94+
with:
95+
name: ${{ runner.os }}-r${{ matrix.future.plan }}-results
96+
path: check

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,4 +21,4 @@
2121
revdep/data.sqlite
2222
revdep/checks/*
2323
revdep/library/*
24-
.github/
24+
docs/

0 commit comments

Comments
 (0)