Skip to content

Commit 01c21cc

Browse files
authored
Merge branch 'master' into hindi_a
2 parents 4a23685 + e7199c0 commit 01c21cc

92 files changed

Lines changed: 1675 additions & 638 deletions

Some content is hidden

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

.Rbuildignore

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@
2727
^Makefile$
2828
^NEWS\.0\.md$
2929
^NEWS\.1\.md$
30-
^_pkgdown\.yml$
3130
^src/Makevars$
3231
^CODEOWNERS$
3332
^GOVERNANCE\.md$
@@ -46,11 +45,11 @@
4645
^.*\.dll$
4746

4847
^bus$
49-
^pkgdown$
5048
^docs$
5149
^lib$
5250
^library$
5351
^devwd$
52+
^site$
5453

5554
# only the inst/po compressed files are needed, not raw .pot/.po
5655
^po$

.ci/atime/tests.R

Lines changed: 183 additions & 55 deletions
Large diffs are not rendered by default.

.ci/linters/c/00preprocess.R

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
.preprocess = function (f) list(
2-
c_obj = f, lines = readLines(f),
2+
path = f, lines = readLines(f),
33
preprocessed = system2(
44
"gcc", shQuote(c("-fpreprocessed", "-E", f)),
55
stdout = TRUE, stderr = FALSE
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
/* Ensure _RO accessors are used for assignment to 'const' variables */
2+
@@
3+
type T;
4+
const T *variable;
5+
expression E;
6+
@@
7+
- variable = RAW(E)
8+
+ variable = RAW_RO(E)
9+
10+
@@
11+
type T;
12+
const T *variable;
13+
expression E;
14+
@@
15+
- variable = LOGICAL(E)
16+
+ variable = LOGICAL_RO(E)
17+
18+
@@
19+
type T;
20+
const T *variable;
21+
expression E;
22+
@@
23+
- variable = INTEGER(E)
24+
+ variable = INTEGER_RO(E)
25+
26+
@@
27+
type T;
28+
const T *variable;
29+
expression E;
30+
@@
31+
- variable = REAL(E)
32+
+ variable = REAL_RO(E)
33+
34+
@@
35+
type T;
36+
const T *variable;
37+
expression E;
38+
@@
39+
- variable = COMPLEX(E)
40+
+ variable = COMPLEX_RO(E)
41+
42+
/* Just use _RO accessors directly instead of 'const' casting the writeable one */
43+
@@
44+
expression E;
45+
type T;
46+
@@
47+
-(const T*) RAW(E)
48+
+RAW_RO(E)
49+
50+
@@
51+
expression E;
52+
@@
53+
-(const int*) LOGICAL(E)
54+
+LOGICAL_RO(E)
55+
56+
@@
57+
expression E;
58+
@@
59+
-(const int*) INTEGER(E)
60+
+INTEGER_RO(E)
61+
62+
@@
63+
expression E;
64+
@@
65+
-(const double*) REAL(E)
66+
+REAL_RO(E)
67+
@@
68+
expression E;
69+
type T;
70+
@@
71+
-(const T*) COMPLEX(E)
72+
+COMPLEX_RO(E)
73+
74+
@@
75+
expression E;
76+
type T;
77+
@@
78+
-(const T*) STRING_PTR(E)
79+
+STRING_PTR_RO(E)
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
name: Revdep check failure
2+
description: Report a reverse dependency (revdep) check failure that should be fixed before next CRAN release
3+
title: "PACKAGE check TYPE fails after PR_DESCRIPTION"
4+
labels: ["revdep"]
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
Use this template to report a new revdep check failure found via
10+
[revdep checks](https://github.com/Rdatatable/data.table/wiki/Revdep-checks).
11+
Please verify the failure is real before filing; see checklist on that page.
12+
13+
- type: input
14+
id: package
15+
attributes:
16+
label: Affected package
17+
description: Link to package dev on github.
18+
placeholder: e.g. https://github.com/NorskRegnesentral/shapr
19+
validations:
20+
required: true
21+
22+
- type: textarea
23+
id: check-output
24+
attributes:
25+
label: Failing check output
26+
description: |
27+
Paste the relevant `R CMD check` output showing the failure.
28+
The output can be found in the
29+
[Monsoon results](https://rcdata.nau.edu/genomic-ml/data.table-revdeps/analyze/)
30+
or from a local revdep check.
31+
render: text
32+
validations:
33+
required: true
34+
35+
- type: input
36+
id: first-bad-commit
37+
attributes:
38+
label: First bad commit/PR
39+
description: |
40+
Link to the commit or PR identified by `git bisect` as the
41+
first bad commit (from the `first.bad.commit` column in the
42+
Monsoon significant differences table).
43+
placeholder: "https://github.com/Rdatatable/data.table/pull/1234"
44+
validations:
45+
required: true
46+
47+
- type: textarea
48+
id: additional-context
49+
attributes:
50+
label: Additional context
51+
description: |
52+
Any other relevant information: @mentions of the commit/PR
53+
author(s), links to Monsoon result pages, whether the fix
54+
should come from data.table or from the revdep package, etc.
55+
Minimal reproducible examples (MRE) can also be included here.

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

Lines changed: 24 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -27,17 +27,17 @@ jobs:
2727
# jobs (mainly test-coverage) to run on every commit in PRs so as to not slow down dev.
2828
# GHA does run these jobs concurrently but even so reducing the load seems like a good idea.
2929
- {os: windows-latest, r: 'devel'}
30-
# - {os: macOS-latest, r: 'release'} # test-coverage.yaml uses macOS
30+
- {os: macos-15-intel, r: 'release'}
31+
- {os: macos-15, r: 'release'}
3132
# TODO(remotes>2.5.0): Use 24.04[noble?]
32-
- {os: ubuntu-22.04, r: 'release', rspm: "https://packagemanager.rstudio.com/cran/__linux__/jammy/latest"}
33-
# - {os: ubuntu-22.04, r: 'devel', rspm: "https://packagemanager.rstudio.com/cran/__linux__/jammy/latest", http-user-agent: "R/4.1.0 (ubuntu-22.04) R (4.1.0 x86_64-pc-linux-gnu x86_64 linux-gnu) on GitHub Actions" }
33+
- {os: ubuntu-22.04, r: 'release'}
34+
# - {os: ubuntu-22.04, r: 'devel'}
3435
# GLCI covers R-devel; no need to delay contributors in dev due to changes in R-devel in recent days
3536

3637
env:
37-
R_REMOTES_NO_ERRORS_FROM_WARNINGS: true
38-
RSPM: ${{ matrix.config.rspm }}
3938
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
4039
_R_CHECK_RD_CHECKRD_MINLEVEL_: -Inf
40+
_R_CHECK_RD_CONTENTS_VALUE_: 1
4141

4242
steps:
4343
- uses: actions/checkout@v6
@@ -46,46 +46,28 @@ jobs:
4646
with:
4747
r-version: ${{ matrix.config.r }}
4848

49-
50-
- name: Query dependencies
51-
run: |
52-
install.packages('remotes')
53-
saveRDS(remotes::dev_package_deps(dependencies = TRUE), ".github/depends.Rds", version = 2)
54-
writeLines(sprintf("R-%i.%i", getRversion()$major, getRversion()$minor), ".github/R-version")
55-
shell: Rscript {0}
56-
57-
- name: Restore R package cache
58-
uses: actions/cache@v5
49+
- name: Install R Package Build Dependencies on MacOS, from https://github.com/stan-dev/cmdstanr/pull/1072/files
50+
if: runner.os == 'macOS'
51+
uses: r-hub/actions/setup-r-sysreqs@v1
5952
with:
60-
path: ${{ env.R_LIBS_USER }}
61-
key: ${{ runner.os }}-${{ hashFiles('.github/R-version') }}-1-${{ hashFiles('.github/depends.Rds') }}
62-
restore-keys: ${{ runner.os }}-${{ hashFiles('.github/R-version') }}-1-
53+
type: 'minimal'
6354

64-
- name: Install system dependencies
65-
if: runner.os == 'Linux'
55+
- name: Install and configure OpenMP runtime
56+
if: runner.os == 'macOS'
6657
run: |
67-
while read -r cmd
68-
do
69-
eval sudo $cmd
70-
done < <(Rscript -e 'writeLines(remotes::system_requirements("ubuntu", "22.04"))')
58+
if clang --version | grep 'clang version 17'; then
59+
openmp_tarball=openmp-19.1.5-darwin20-Release.tar.gz
60+
if curl --fail --location --retry 3 --retry-all-errors --connect-timeout 20 --max-time 180 \
61+
-O "https://mac.r-project.org/openmp/${openmp_tarball}"; then
62+
sudo tar fvxz "${openmp_tarball}" -C /
63+
rm -f "${openmp_tarball}"
64+
else
65+
echo "Warning: failed to fetch OpenMP runtime from https://mac.r-project.org/openmp/; continuing without it"
66+
fi
67+
fi # otherwise R-bundled runtime is fine
7168
72-
- name: Install dependencies
73-
run: |
74-
remotes::install_deps(dependencies = TRUE)
75-
remotes::install_cran("rcmdcheck")
76-
shell: Rscript {0}
77-
78-
- name: Check
79-
env:
80-
_R_CHECK_CRAN_INCOMING_REMOTE_: false
81-
run: |
82-
options(crayon.enabled = TRUE)
83-
rcmdcheck::rcmdcheck(args = c("--no-manual", "--as-cran"), error_on = "warning", check_dir = "check")
84-
shell: Rscript {0}
69+
- uses: yihui/actions/setup-r-dependencies@HEAD
8570

86-
- name: Upload check results
87-
if: failure()
88-
uses: actions/upload-artifact@main
71+
- uses: yihui/actions/check-r-package@HEAD
8972
with:
90-
name: ${{ runner.os }}-r${{ matrix.config.r }}-results
91-
path: check
73+
check-args: "--no-manual --as-cran"

.github/workflows/code-quality.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ jobs:
1919
- uses: actions/checkout@v6
2020
with:
2121
fetch-depth: 0 # ensure diff against base is available for PRs
22-
- uses: dorny/paths-filter@v3
22+
- uses: dorny/paths-filter@v4
2323
id: filter
2424
with:
2525
filters: |
@@ -29,6 +29,7 @@ jobs:
2929
c:
3030
- '**/*.c'
3131
- '**/*.h'
32+
- '.ci/linters/cocci/**/*.cocci'
3233
po:
3334
- 'po/**/*.po'
3435
md:

.github/workflows/pkgup.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,10 +58,10 @@ jobs:
5858
Rscript -e 'tools::write_PACKAGES("public/src/contrib", fields="Revision")'
5959
- name: upload
6060
if: github.ref == 'refs/heads/master'
61-
uses: actions/upload-pages-artifact@v4
61+
uses: actions/upload-pages-artifact@v5
6262
with:
6363
path: "public"
6464
- name: deploy
6565
if: github.ref == 'refs/heads/master'
6666
id: deployment
67-
uses: actions/deploy-pages@v4
67+
uses: actions/deploy-pages@v5

.github/workflows/test-coverage.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ jobs:
5151
covr::to_cobertura(cov)
5252
shell: Rscript {0}
5353

54-
- uses: codecov/codecov-action@v5
54+
- uses: codecov/codecov-action@v6
5555
with:
5656
fail_ci_if_error: ${{ github.event_name != 'pull_request' || secrets.CODECOV_TOKEN }}
5757
files: ./cobertura.xml
@@ -61,7 +61,7 @@ jobs:
6161

6262
- name: Upload test results
6363
if: failure()
64-
uses: actions/upload-artifact@v6
64+
uses: actions/upload-artifact@v7
6565
with:
6666
name: coverage-test-failures
6767
path: ${{ runner.temp }}/package

.gitignore

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,5 +57,10 @@ dev.R
5757
*.diff
5858
*.patch
5959

60-
# pkgdown
61-
docs
60+
# litedown
61+
site/*.html
62+
site/*.md
63+
site/doc/
64+
site/man/
65+
site/reference/
66+
site/reference_index.rds

0 commit comments

Comments
 (0)