Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
dm 0.2.5 - `mutate()`, `transmute()`, `distinct()` and `summarize()` now support `dplyr::across()` and extra arguments (#640). - Key tracking for the first three verbs is less strict and based on name equality (#663). - `relocate()` now works on zoomed `dm` objects (#666). - `dm_add_fk()` gains `on_delete` argument which `copy_dm_to()` picks up and translates to an `ON DELETE CASCADE` or `ON DELETE NO ACTION` specification for the foreign key (#649). - `dm_copy_to()` defines foreign keys during table creation, for all databases except DuckDB. Tables are created in topological order (#658). For cyclic relationship graphs, table creation is attempted in the original order and may fail (#664). - `waldo::compare()` shows better output for dm objects (#642). - `dm_paste()` output uses trailing commas in the `dm::dm()` and `tibble::tibble()` calls, and sorts column attributes by name, for better modularity (#641). - New `db_schema_create()`, `db_schema_drop()`, `db_schema_exists()` and `db_schema_list()` replace the corresponding `sql_schema_*()` functions, the latter are soft-deprecated (#670). The connection argument to `db_schema_*()` is called `con`, not `dest` (#668). - `copy_dm_to()` and `sql_create_schema()` no longer actively check for schema existence (#644, #660). - Add newline after `OUTPUT` clause for SQL Server (#647). - Fix `sql_rows_delete()` with `returning` argument for SQL Server (#645). - Remove method only needed for RSQLite < 2.2.8, add warning if loaded RSQLite version is <= 2.2.8 (#632). - Adapt MSSQL tests to testthat update (#648).
- Loading branch information
Showing
104 changed files
with
3,638 additions
and
1,015 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,130 @@ | ||
on: | ||
push: | ||
branches: | ||
- main | ||
- master | ||
- "r-*" | ||
pull_request: | ||
branches: | ||
- main | ||
- master | ||
- "r-*" | ||
schedule: | ||
- cron: '20 2 * * *' | ||
|
||
name: validate | ||
|
||
jobs: | ||
db-tests: | ||
runs-on: ${{ matrix.config.os }}${{ matrix.config.os-version }} | ||
|
||
name: ${{ matrix.config.os }}${{ matrix.config.os-version }} (${{ matrix.config.r }}) ${{ matrix.config.desc }} | ||
|
||
# Begin custom: services | ||
# End custom: services | ||
|
||
strategy: | ||
fail-fast: false | ||
matrix: | ||
config: | ||
- { os: ubuntu-, os-version: 18.04, r: 'release', rspm: "https://packagemanager.rstudio.com/cran/__linux__/bionic/latest" } | ||
|
||
env: | ||
R_REMOTES_NO_ERRORS_FROM_WARNINGS: true | ||
RSPM: ${{ matrix.config.rspm }} | ||
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} | ||
# prevent rgl issues because no X11 display is available | ||
RGL_USE_NULL: true | ||
# Begin custom: env vars | ||
# End custom: env vars | ||
|
||
steps: | ||
- name: Check rate limits | ||
run: | | ||
curl -s --header "authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" https://api.github.com/rate_limit | ||
shell: bash | ||
|
||
- uses: actions/checkout@v2 | ||
|
||
# Begin custom: before install | ||
# End custom: before install | ||
|
||
- uses: r-lib/actions/setup-r@v1 | ||
with: | ||
r-version: ${{ matrix.config.r }} | ||
http-user-agent: ${{ matrix.config.http-user-agent }} | ||
|
||
- name: Install remotes | ||
run: | | ||
if (!requireNamespace("curl", quietly = TRUE)) install.packages("curl") | ||
if (!requireNamespace("remotes", quietly = TRUE)) install.packages("remotes") | ||
shell: Rscript {0} | ||
|
||
- name: Query dependencies | ||
if: runner.os != 'Windows' | ||
run: | | ||
saveRDS(remotes::dev_package_deps(dependencies = TRUE, type = .Platform$pkgType), ".github/depends.Rds", version = 2) | ||
writeLines(sprintf("R-%i.%i", getRversion()$major, getRversion()$minor), ".github/R-version") | ||
shell: Rscript {0} | ||
|
||
- name: Restore R package cache | ||
if: runner.os != 'Windows' | ||
uses: actions/cache@v2 | ||
with: | ||
path: ${{ env.R_LIBS_USER }} | ||
key: ${{ matrix.config.os }}${{ matrix.config.os-version }}-${{ hashFiles('.github/R-version') }}-2-${{ hashFiles('.github/depends.Rds') }} | ||
restore-keys: ${{ matrix.config.os }}${{ matrix.config.os-version }}-${{ hashFiles('.github/R-version') }}-2- | ||
|
||
- name: Install system dependencies | ||
if: runner.os == 'Linux' | ||
run: | | ||
while read -r cmd | ||
do | ||
eval sudo $cmd | ||
done < <(Rscript -e 'writeLines(remotes::system_requirements("ubuntu", "${{matrix.config.os-version}}"))') | ||
# Begin custom: before install | ||
# End custom: before install | ||
|
||
- name: Install dependencies | ||
run: | | ||
remotes::install_deps(dependencies = TRUE, type = .Platform$pkgType) | ||
shell: Rscript {0} | ||
|
||
- name: Instrument R code for validation | ||
run: | | ||
if [ $(git status --porcelain | wc -l) -gt 0 ]; then | ||
echo "Fatal: git working copy not clean" | ||
fi | ||
sed -i -r '/INSTRUMENT: validate/ s/^( +)# /\1/g' R/* | ||
if [ $(git status --porcelain | wc -l) -eq 0 ]; then | ||
echo "Fatal: substitution did not change anything" | ||
fi | ||
# Begin custom: after install | ||
- name: Run tests | ||
run: | | ||
testthat::test_local(reporter = testthat::ProgressReporter$new(max_failures = Inf, update_interval = Inf)) | ||
shell: Rscript {0} | ||
# End custom: after install | ||
|
||
- name: Run tests | ||
run: | | ||
testthat::test_local(reporter = testthat::ProgressReporter$new(max_failures = Inf, update_interval = Inf)) | ||
shell: Rscript {0} | ||
|
||
- name: Show test output | ||
if: always() | ||
run: | | ||
find check -name '*.Rout*' -exec head -n 1000000 '{}' \; || true | ||
shell: bash | ||
|
||
- name: Test coverage | ||
run: covr::codecov() | ||
shell: Rscript {0} | ||
|
||
- name: Check rate limits | ||
if: always() | ||
run: | | ||
curl -s --header "authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" https://api.github.com/rate_limit | ||
shell: bash |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.