Skip to content

Commit 25a71ae

Browse files
committed
Merge branch 'main' into feature/gha-summary
2 parents 191147a + f060cce commit 25a71ae

File tree

210 files changed

+7196
-3276
lines changed

Some content is hidden

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

210 files changed

+7196
-3276
lines changed

.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: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -22,29 +22,31 @@ jobs:
2222
fail-fast: false
2323
matrix:
2424
config:
25-
- {os: macOS-latest, r: 'release'}
25+
- {os: macos-latest, r: 'release'}
2626

2727
- {os: windows-latest, r: 'release'}
2828
# Use 3.6 to trigger usage of RTools35
2929
- {os: windows-latest, r: '3.6'}
30+
# use 4.1 to check with rtools40's older compiler
31+
- {os: windows-latest, r: '4.1'}
3032

31-
# Use older ubuntu to maximise backward compatibility
32-
- {os: ubuntu-18.04, r: 'devel', http-user-agent: 'release'}
33-
- {os: ubuntu-18.04, r: 'release'}
34-
- {os: ubuntu-18.04, r: 'oldrel-1'}
35-
- {os: ubuntu-18.04, r: 'oldrel-2'}
36-
- {os: ubuntu-18.04, r: 'oldrel-3'}
37-
- {os: ubuntu-18.04, r: 'oldrel-4'}
33+
- {os: ubuntu-latest, r: 'devel', http-user-agent: 'release'}
34+
- {os: ubuntu-latest, r: 'release'}
35+
- {os: ubuntu-latest, r: 'oldrel-1'}
36+
- {os: ubuntu-latest, r: 'oldrel-2'}
37+
- {os: ubuntu-latest, r: 'oldrel-3'}
38+
- {os: ubuntu-latest, r: 'oldrel-4'}
3839

3940
env:
4041
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
4142
R_KEEP_PKG_SOURCE: yes
4243

4344
steps:
44-
- uses: actions/checkout@v2
45+
- uses: actions/checkout@v3
4546

4647
- uses: r-lib/actions/setup-pandoc@v2
4748

49+
# For file snapshot that uses png
4850
- name: Install xquartz
4951
if: runner.os == 'macOS'
5052
run: brew install --cask xquartz
@@ -61,3 +63,5 @@ jobs:
6163
needs: check
6264

6365
- uses: r-lib/actions/check-r-package@v2
66+
with:
67+
upload-snapshots: true

.github/workflows/pkgdown.yaml

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,13 @@ name: pkgdown
1414
jobs:
1515
pkgdown:
1616
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 }}
1720
env:
1821
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
1922
steps:
20-
- uses: actions/checkout@v2
23+
- uses: actions/checkout@v3
2124

2225
- uses: r-lib/actions/setup-pandoc@v2
2326

@@ -30,14 +33,14 @@ jobs:
3033
extra-packages: any::pkgdown, local::.
3134
needs: website
3235

33-
- name: Deploy package
34-
if: github.event_name != 'pull_request'
35-
run: |
36-
git config --local user.name "$GITHUB_ACTOR"
37-
git config --local user.email "[email protected]"
38-
Rscript -e 'pkgdown::deploy_to_branch(new_process = FALSE)'
36+
- name: Build site
37+
run: pkgdown::build_site_github_pages(new_process = FALSE, install = FALSE)
38+
shell: Rscript {0}
3939

40-
- name: Build site without deploying
41-
if: github.event_name == 'pull_request'
42-
run: |
43-
Rscript -e 'pkgdown::build_site(preview = FALSE, install = 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

.github/workflows/pr-commands.yaml

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
env:
1515
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
1616
steps:
17-
- uses: actions/checkout@v2
17+
- uses: actions/checkout@v3
1818

1919
- uses: r-lib/actions/pr-fetch@v2
2020
with:
@@ -30,7 +30,8 @@ jobs:
3030
needs: pr-document
3131

3232
- name: Document
33-
run: Rscript -e 'roxygen2::roxygenise()'
33+
run: roxygen2::roxygenise()
34+
shell: Rscript {0}
3435

3536
- name: commit
3637
run: |
@@ -50,7 +51,7 @@ jobs:
5051
env:
5152
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
5253
steps:
53-
- uses: actions/checkout@v2
54+
- uses: actions/checkout@v3
5455

5556
- uses: r-lib/actions/pr-fetch@v2
5657
with:
@@ -59,10 +60,12 @@ jobs:
5960
- uses: r-lib/actions/setup-r@v2
6061

6162
- name: Install dependencies
62-
run: Rscript -e 'install.packages("styler")'
63+
run: install.packages("styler")
64+
shell: Rscript {0}
6365

6466
- name: Style
65-
run: Rscript -e 'styler::style_pkg()'
67+
run: styler::style_pkg()
68+
shell: Rscript {0}
6669

6770
- name: commit
6871
run: |

.github/workflows/test-coverage.yaml

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ jobs:
1515
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
1616

1717
steps:
18-
- uses: actions/checkout@v2
18+
- uses: actions/checkout@v3
1919

2020
- uses: r-lib/actions/setup-r@v2
2121
with:
@@ -27,5 +27,24 @@ jobs:
2727
needs: coverage
2828

2929
- name: Test coverage
30-
run: covr::codecov()
30+
run: |
31+
covr::codecov(
32+
quiet = FALSE,
33+
clean = FALSE,
34+
install_path = file.path(Sys.getenv("RUNNER_TEMP"), "package")
35+
)
3136
shell: Rscript {0}
37+
38+
- name: Show testthat output
39+
if: always()
40+
run: |
41+
## --------------------------------------------------------------------
42+
find ${{ runner.temp }}/package -name 'testthat.Rout*' -exec cat '{}' \; || true
43+
shell: bash
44+
45+
- name: Upload test results
46+
if: failure()
47+
uses: actions/upload-artifact@v3
48+
with:
49+
name: coverage-test-failures
50+
path: ${{ runner.temp }}/package

DESCRIPTION

Lines changed: 28 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,12 @@
11
Package: testthat
22
Title: Unit Testing for R
3-
Version: 3.1.4.9000
4-
Authors@R:
5-
c(person(given = "Hadley",
6-
family = "Wickham",
7-
role = c("aut", "cre"),
8-
email = "[email protected]"),
9-
person(given = "RStudio",
10-
role = c("cph", "fnd")),
11-
person(given = "R Core team",
12-
role = "ctb",
13-
comment = "Implementation of utils::recover()"))
3+
Version: 3.2.1.9000
4+
Authors@R: c(
5+
person("Hadley", "Wickham", , "[email protected]", role = c("aut", "cre")),
6+
person("Posit Software, PBC", role = c("cph", "fnd")),
7+
person("R Core team", role = "ctb",
8+
comment = "Implementation of utils::recover()")
9+
)
1410
Description: Software testing is important, but, in part because it is
1511
frustrating and boring, many of us avoid it. 'testthat' is a testing
1612
framework for R that is easy to learn and use, and integrates with
@@ -19,35 +15,32 @@ License: MIT + file LICENSE
1915
URL: https://testthat.r-lib.org, https://github.com/r-lib/testthat
2016
BugReports: https://github.com/r-lib/testthat/issues
2117
Depends:
22-
R (>= 3.1)
18+
R (>= 3.6.0)
2319
Imports:
24-
brio,
25-
callr (>= 3.5.1),
26-
cli (>= 3.3.0),
27-
crayon (>= 1.3.4),
28-
desc,
29-
digest,
30-
ellipsis (>= 0.2.0),
31-
evaluate,
32-
jsonlite,
33-
lifecycle,
34-
magrittr,
20+
brio (>= 1.1.3),
21+
callr (>= 3.7.3),
22+
cli (>= 3.6.1),
23+
desc (>= 1.4.2),
24+
digest (>= 0.6.33),
25+
evaluate (>= 0.21),
26+
jsonlite (>= 1.8.7),
27+
lifecycle (>= 1.0.3),
28+
magrittr (>= 2.0.3),
3529
methods,
36-
pkgload,
37-
praise,
38-
processx,
39-
ps (>= 1.3.4),
40-
R6 (>= 2.2.0),
41-
rlang (>= 1.0.1),
30+
pkgload (>= 1.3.2.1),
31+
praise (>= 1.0.0),
32+
processx (>= 3.8.2),
33+
ps (>= 1.7.5),
34+
R6 (>= 2.5.1),
35+
rlang (>= 1.1.1),
4236
utils,
43-
waldo (>= 0.4.0),
44-
withr (>= 2.4.3)
37+
waldo (>= 0.5.1),
38+
withr (>= 2.5.0)
4539
Suggests:
4640
covr,
4741
curl (>= 0.9.5),
4842
diffviewer (>= 0.1.0),
4943
knitr,
50-
mockery,
5144
rmarkdown,
5245
rstudioapi,
5346
shiny,
@@ -56,9 +49,10 @@ Suggests:
5649
xml2
5750
VignetteBuilder:
5851
knitr
52+
Config/Needs/website: tidyverse/tidytemplate
5953
Config/testthat/edition: 3
54+
Config/testthat/parallel: true
6055
Config/testthat/start-first: watcher, parallel*
61-
Config/Needs/website: tidyverse/tidytemplate
6256
Encoding: UTF-8
6357
Roxygen: list(markdown = TRUE, r6 = FALSE)
64-
RoxygenNote: 7.1.2
58+
RoxygenNote: 7.2.3

LICENSE

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
YEAR: 2013-2019
2-
COPYRIGHT HOLDER: Hadley Wickham; RStudio
1+
YEAR: 2023
2+
COPYRIGHT HOLDER: testthat authors

LICENSE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# MIT License
22

3-
Copyright (c) 2013-2019 Hadley Wickham; RStudio
3+
Copyright (c) 2023 testthat authors
44

55
Permission is hereby granted, free of charge, to any person obtaining a copy
66
of this software and associated documentation files (the "Software"), to deal

0 commit comments

Comments
 (0)