Skip to content

Commit d7ec42c

Browse files
authored
Merge branch 'main' into v3.3.6-rc
2 parents 643dc25 + 3dbbce4 commit d7ec42c

File tree

372 files changed

+4878
-2848
lines changed

Some content is hidden

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

372 files changed

+4878
-2848
lines changed

.gitattributes

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
/NEWS merge=union
1+
NEWS.md merge=union

.github/CODE_OF_CONDUCT.md

Lines changed: 126 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,126 @@
1+
# Contributor Covenant Code of Conduct
2+
3+
## Our Pledge
4+
5+
We as members, contributors, and leaders pledge to make participation in our
6+
community a harassment-free experience for everyone, regardless of age, body
7+
size, visible or invisible disability, ethnicity, sex characteristics, gender
8+
identity and expression, level of experience, education, socio-economic status,
9+
nationality, personal appearance, race, caste, color, religion, or sexual
10+
identity and orientation.
11+
12+
We pledge to act and interact in ways that contribute to an open, welcoming,
13+
diverse, inclusive, and healthy community.
14+
15+
## Our Standards
16+
17+
Examples of behavior that contributes to a positive environment for our
18+
community include:
19+
20+
* Demonstrating empathy and kindness toward other people
21+
* Being respectful of differing opinions, viewpoints, and experiences
22+
* Giving and gracefully accepting constructive feedback
23+
* Accepting responsibility and apologizing to those affected by our mistakes,
24+
and learning from the experience
25+
* Focusing on what is best not just for us as individuals, but for the overall
26+
community
27+
28+
Examples of unacceptable behavior include:
29+
30+
* The use of sexualized language or imagery, and sexual attention or advances of
31+
any kind
32+
* Trolling, insulting or derogatory comments, and personal or political attacks
33+
* Public or private harassment
34+
* Publishing others' private information, such as a physical or email address,
35+
without their explicit permission
36+
* Other conduct which could reasonably be considered inappropriate in a
37+
professional setting
38+
39+
## Enforcement Responsibilities
40+
41+
Community leaders are responsible for clarifying and enforcing our standards of
42+
acceptable behavior and will take appropriate and fair corrective action in
43+
response to any behavior that they deem inappropriate, threatening, offensive,
44+
or harmful.
45+
46+
Community leaders have the right and responsibility to remove, edit, or reject
47+
comments, commits, code, wiki edits, issues, and other contributions that are
48+
not aligned to this Code of Conduct, and will communicate reasons for moderation
49+
decisions when appropriate.
50+
51+
## Scope
52+
53+
This Code of Conduct applies within all community spaces, and also applies when
54+
an individual is officially representing the community in public spaces.
55+
Examples of representing our community include using an official e-mail address,
56+
posting via an official social media account, or acting as an appointed
57+
representative at an online or offline event.
58+
59+
## Enforcement
60+
61+
Instances of abusive, harassing, or otherwise unacceptable behavior may be
62+
reported to the community leaders responsible for enforcement at [email protected].
63+
All complaints will be reviewed and investigated promptly and fairly.
64+
65+
All community leaders are obligated to respect the privacy and security of the
66+
reporter of any incident.
67+
68+
## Enforcement Guidelines
69+
70+
Community leaders will follow these Community Impact Guidelines in determining
71+
the consequences for any action they deem in violation of this Code of Conduct:
72+
73+
### 1. Correction
74+
75+
**Community Impact**: Use of inappropriate language or other behavior deemed
76+
unprofessional or unwelcome in the community.
77+
78+
**Consequence**: A private, written warning from community leaders, providing
79+
clarity around the nature of the violation and an explanation of why the
80+
behavior was inappropriate. A public apology may be requested.
81+
82+
### 2. Warning
83+
84+
**Community Impact**: A violation through a single incident or series of
85+
actions.
86+
87+
**Consequence**: A warning with consequences for continued behavior. No
88+
interaction with the people involved, including unsolicited interaction with
89+
those enforcing the Code of Conduct, for a specified period of time. This
90+
includes avoiding interactions in community spaces as well as external channels
91+
like social media. Violating these terms may lead to a temporary or permanent
92+
ban.
93+
94+
### 3. Temporary Ban
95+
96+
**Community Impact**: A serious violation of community standards, including
97+
sustained inappropriate behavior.
98+
99+
**Consequence**: A temporary ban from any sort of interaction or public
100+
communication with the community for a specified period of time. No public or
101+
private interaction with the people involved, including unsolicited interaction
102+
with those enforcing the Code of Conduct, is allowed during this period.
103+
Violating these terms may lead to a permanent ban.
104+
105+
### 4. Permanent Ban
106+
107+
**Community Impact**: Demonstrating a pattern of violation of community
108+
standards, including sustained inappropriate behavior, harassment of an
109+
individual, or aggression toward or disparagement of classes of individuals.
110+
111+
**Consequence**: A permanent ban from any sort of public interaction within the
112+
community.
113+
114+
## Attribution
115+
116+
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
117+
version 2.1, available at
118+
<https://www.contributor-covenant.org/version/2/1/code_of_conduct.html>.
119+
120+
Community Impact Guidelines were inspired by
121+
[Mozilla's code of conduct enforcement ladder][https://github.com/mozilla/inclusion].
122+
123+
For answers to common questions about this code of conduct, see the FAQ at
124+
<https://www.contributor-covenant.org/faq>. Translations are available at <https://www.contributor-covenant.org/translations>.
125+
126+
[homepage]: https://www.contributor-covenant.org

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

Lines changed: 41 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
1+
# Workflow derived from https://github.com/r-lib/actions/tree/v2/examples
2+
# Need help debugging build failures? Start at https://github.com/r-lib/actions#where-to-find-help
3+
#
4+
# NOTE: This workflow is overkill for most R packages and
5+
# check-standard.yaml is likely a better choice.
6+
# usethis::use_github_action("check-standard") will install it.
17
on:
28
push:
3-
branches:
4-
- master
9+
branches: [main, master]
510
pull_request:
6-
branches:
7-
- master
11+
branches: [main, master]
812

913
name: R-CMD-check
1014

11-
# Increment this version when we want to clear cache
12-
env:
13-
cache-version: v6
14-
1515
jobs:
1616
R-CMD-check:
1717
runs-on: ${{ matrix.config.os }}
@@ -22,81 +22,52 @@ jobs:
2222
fail-fast: false
2323
matrix:
2424
config:
25-
- {os: windows-latest, r: '4.1', vdiffr: true, xref: true}
26-
- {os: macOS-latest, r: '4.1', vdiffr: true, xref: true}
27-
- {os: ubuntu-18.04, r: 'devel', vdiffr: false, xref: true}
28-
- {os: ubuntu-18.04, r: '4.1', vdiffr: true, xref: true, rspm: "https://packagemanager.rstudio.com/cran/__linux__/bionic/latest"}
29-
- {os: ubuntu-18.04, r: '4.0', vdiffr: false, xref: true, rspm: "https://packagemanager.rstudio.com/cran/__linux__/bionic/latest"}
30-
- {os: ubuntu-18.04, r: '3.6', vdiffr: false, xref: true, rspm: "https://packagemanager.rstudio.com/cran/__linux__/bionic/latest"}
31-
- {os: ubuntu-18.04, r: '3.5', vdiffr: false, xref: true, rspm: "https://packagemanager.rstudio.com/cran/__linux__/bionic/latest"}
32-
- {os: ubuntu-18.04, r: '3.4', vdiffr: false, xref: true, rspm: "https://packagemanager.rstudio.com/cran/__linux__/bionic/latest"}
33-
- {os: ubuntu-18.04, r: '3.3', vdiffr: false, xref: true, rspm: "https://packagemanager.rstudio.com/cran/__linux__/bionic/latest"}
25+
- {os: macOS-latest, r: 'release'}
26+
27+
- {os: windows-latest, r: 'release'}
28+
# Use 3.6 to trigger usage of RTools35
29+
- {os: windows-latest, r: '3.6'}
30+
31+
# Use latest ubuntu to make it easier to install sf dependencies
32+
- {os: ubuntu-latest, r: 'devel', http-user-agent: 'release'}
33+
- {os: ubuntu-latest, r: 'release'}
34+
- {os: ubuntu-latest, r: 'oldrel-1'}
35+
- {os: ubuntu-latest, r: 'oldrel-2'}
36+
- {os: ubuntu-latest, r: 'oldrel-3'}
37+
- {os: ubuntu-latest, r: 'oldrel-4'}
3438

3539
env:
36-
R_REMOTES_NO_ERRORS_FROM_WARNINGS: true
37-
RSPM: ${{ matrix.config.rspm }}
38-
# don't treat missing suggested packages as error
40+
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
41+
R_KEEP_PKG_SOURCE: yes
3942
_R_CHECK_FORCE_SUGGESTS_: false
4043
# Some packages might unavailable on the older versions, so let's ignore xref warnings
41-
_R_CHECK_RD_XREFS_: ${{ matrix.config.xref }}
44+
_R_CHECK_RD_XREFS_: false
4245
# Runs vdiffr test only on the latest version of R
43-
VDIFFR_RUN_TESTS: ${{ matrix.config.vdiffr }}
46+
VDIFFR_RUN_TESTS: ${{ matrix.config.r == 'release' }}
4447
VDIFFR_LOG_PATH: "../vdiffr.Rout.fail"
4548

4649
steps:
4750
- uses: actions/checkout@v2
4851

49-
- uses: r-lib/actions/setup-r@master
52+
- uses: r-lib/actions/setup-pandoc@v2
53+
54+
- uses: r-lib/actions/setup-r@v2
5055
with:
5156
r-version: ${{ matrix.config.r }}
5257
http-user-agent: ${{ matrix.config.http-user-agent }}
58+
use-public-rspm: true
5359

54-
- uses: r-lib/actions/setup-pandoc@master
55-
56-
- name: Query dependencies
57-
run: |
58-
install.packages('remotes')
59-
saveRDS(remotes::dev_package_deps(dependencies = TRUE), "depends.Rds", version = 2)
60-
shell: Rscript {0}
61-
62-
- name: Cache R packages
63-
if: runner.os != 'Windows'
64-
uses: actions/cache@v1
60+
- uses: r-lib/actions/setup-r-dependencies@v2
6561
with:
66-
path: ${{ env.R_LIBS_USER }}
67-
key: ${{ env.cache-version }}-${{ runner.os }}-r-${{ matrix.config.r }}-${{ hashFiles('depends.Rds') }}
68-
restore-keys: ${{ env.cache-version }}-${{ runner.os }}-r-${{ matrix.config.r }}-
69-
70-
- name: Install system dependencies on Linux
71-
if: runner.os == 'Linux'
72-
run: |
73-
while read -r cmd
74-
do
75-
eval sudo $cmd
76-
done < <(Rscript -e 'writeLines(remotes::system_requirements("ubuntu", "18.04"))')
77-
78-
- name: Install system dependencies on macOS
79-
if: runner.os == 'macOS'
80-
run: |
81-
# XQuartz is needed by vdiffr
82-
brew install xquartz
83-
84-
# Use only binary packages
85-
echo 'options(pkgType = "binary")' >> ~/.Rprofile
86-
87-
- name: Install dependencies
88-
run: |
89-
remotes::install_deps(dependencies = TRUE)
90-
remotes::install_cran("rcmdcheck")
91-
shell: Rscript {0}
92-
93-
- name: Check
94-
run: rcmdcheck::rcmdcheck(args = "--no-manual", error_on = "warning", check_dir = "check")
95-
shell: Rscript {0}
96-
97-
- name: Upload check results
98-
if: failure()
99-
uses: actions/upload-artifact@master
62+
extra-packages: >
63+
any::rcmdcheck,
64+
maps=?ignore-before-r=3.5.0,
65+
Hmisc=?ignore-before-r=3.6.0,
66+
mapproj=?ignore-before-r=3.5.0,
67+
multcomp=?ignore-before-r=3.5.0,
68+
quantreg=?ignore-before-r=3.5.0,
69+
needs: check
70+
71+
- uses: r-lib/actions/check-r-package@v2
10072
with:
101-
name: ${{ runner.os }}-r${{ matrix.config.r }}-results
102-
path: check
73+
upload-snapshots: true

.github/workflows/pkgdown.yaml

Lines changed: 26 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,60 +1,46 @@
1+
# Workflow derived from https://github.com/r-lib/actions/tree/v2/examples
2+
# Need help debugging build failures? Start at https://github.com/r-lib/actions#where-to-find-help
13
on:
24
push:
3-
branches:
4-
- master
5+
branches: [main, master]
6+
pull_request:
7+
branches: [main, master]
58
release:
69
types: [published]
10+
workflow_dispatch:
711

812
name: pkgdown
913

1014
jobs:
1115
pkgdown:
12-
runs-on: ubuntu-18.04
16+
runs-on: ubuntu-latest
17+
# Only restrict concurrency for non-PR jobs
18+
concurrency:
19+
group: pkgdown-${{ github.event_name != 'pull_request' || github.run_id }}
1320
env:
14-
RSPM: https://packagemanager.rstudio.com/cran/__linux__/bionic/latest
1521
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
16-
1722
steps:
1823
- uses: actions/checkout@v2
1924

20-
- uses: r-lib/actions/setup-r@v1
21-
id: install-r
22-
23-
- uses: r-lib/actions/setup-pandoc@v1
24-
25-
- name: Install pak and query dependencies
26-
run: |
27-
install.packages("pak", repos = "https://r-lib.github.io/p/pak/dev/")
28-
saveRDS(pak::pkg_deps("local::.", dependencies = TRUE), ".github/r-depends.rds")
29-
shell: Rscript {0}
25+
- uses: r-lib/actions/setup-pandoc@v2
3026

31-
- name: Restore R package cache
32-
uses: actions/cache@v2
27+
- uses: r-lib/actions/setup-r@v2
3328
with:
34-
path: |
35-
${{ env.R_LIBS_USER }}/*
36-
!${{ env.R_LIBS_USER }}/pak
37-
key: ubuntu-18.04-${{ steps.install-r.outputs.installed-r-version }}-1-${{ hashFiles('.github/r-depends.rds') }}
38-
restore-keys: ubuntu-18.04-${{ steps.install-r.outputs.installed-r-version }}-1-
29+
use-public-rspm: true
3930

40-
- name: Install system dependencies
41-
if: runner.os == 'Linux'
42-
run: |
43-
pak::local_system_requirements(execute = TRUE)
44-
pak::pkg_system_requirements("pkgdown", execute = TRUE)
45-
shell: Rscript {0}
31+
- uses: r-lib/actions/setup-r-dependencies@v2
32+
with:
33+
extra-packages: any::pkgdown, local::.
34+
needs: website
4635

47-
- name: Install dependencies
48-
run: |
49-
pak::local_install_dev_deps(upgrade = TRUE, dependencies = c("all", "Config/Needs/website"))
50-
pak::pkg_install("pkgdown")
36+
- name: Build site
37+
run: pkgdown::build_site_github_pages(new_process = FALSE, install = FALSE)
5138
shell: Rscript {0}
5239

53-
- name: Install package
54-
run: R CMD INSTALL .
55-
56-
- name: Deploy package
57-
run: |
58-
git config --local user.email "[email protected]"
59-
git config --local user.name "GitHub Actions"
60-
Rscript -e 'pkgdown::deploy_to_branch(new_process = FALSE)'
40+
- name: Deploy to GitHub pages 🚀
41+
if: github.event_name != 'pull_request'
42+
uses: JamesIves/[email protected]
43+
with:
44+
clean: false
45+
branch: gh-pages
46+
folder: docs

0 commit comments

Comments
 (0)