Skip to content

Commit 85c00f3

Browse files
authored
Merge branch 'master' into fix/6605-time-join
2 parents f60d75b + 03c647f commit 85c00f3

Some content is hidden

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

41 files changed

+4127
-71
lines changed

.Rbuildignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
.dir-locals.el
2+
.check.translations.R
23
^\.Rprofile$
34
^data\.table_.*\.tar\.gz$
45
^config\.log$

.ci/.lintr.R

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ exclusions = c(local({
8484
infix_spaces_linter = Inf,
8585
undesirable_function_linter = Inf
8686
)),
87-
exclusion_for_dir("vignettes", list(
87+
exclusion_for_dir(c("vignettes", "vignettes/fr"), list(
8888
quotes_linter = Inf,
8989
sample_int_linter = Inf
9090
# strings_as_factors_linter = Inf

.ci/README.md

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# data.table continuous integration and deployment
22

3-
On each Pull Request opened in GitHub we run GitHub Actions test jobs to provide prompt feedback about the status of PR. Our main CI pipeline runs on GitLab CI nightly. GitLab repository automatically mirrors our GitHub repository and runs pipeline on `master` branch every night. It tests more environments and different configurations. It publish variety of artifacts.
3+
On each Pull Request opened in GitHub we run GitHub Actions test jobs to provide prompt feedback about the status of PR. Our more thorough main CI pipeline runs nightly on GitLab CI. GitLab repository automatically mirrors our GitHub repository and runs pipeline on `master` branch every night. It tests more environments and different configurations. It publishes a variety of artifacts such as our [homepage](https://rdatatable.gitlab.io/data.table/) and [CRAN-like website for dev version](https://rdatatable.gitlab.io/data.table/web/packages/data.table/index.html), including windows binaries for the dev version.
44

55
## Environments
66

@@ -44,3 +44,22 @@ Base R implemented helper script, [originally proposed to base R](https://svn.r-
4444
### [`publish.R`](./publish.R)
4545

4646
Base R implemented helper script to orchestrate generation of most artifacts and to arrange them nicely. It is being used only in [_integration_ stage in GitLab CI pipeline](./../.gitlab-ci.yml).
47+
48+
## GitLab Open Source Program
49+
50+
We are currently part of the [GitLab for Open Source Program](https://about.gitlab.com/solutions/open-source/). This gives us 50,000 compute minutes per month for our GitLab CI. Our license needs to be renewed yearly (around July) and is currently managed by @ben-schwen.
51+
52+
## Updating CI pipeline
53+
54+
Basic CI checks are also run on every push to the GitLab repository. This can **and should** be used for PRs changing the CI pipeline before merging them to master.
55+
56+
```shell
57+
# fetch changes from remote (GitHub) and push them to GitLab
58+
git fetch [email protected]:Rdatatable/data.table.git new_branch:new_branch
59+
git push
60+
# after updating on GitHub, pull changes from remote and push to GitLab
61+
git pull [email protected]:Rdatatable/data.table.git new_branch
62+
git push
63+
```
64+
65+
Make sure to include a link to the pipeline results in your PR.

.ci/publish.R

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ format.bins <- function(ver, bin_ver, cran.home, os.type, pkg, version, repodir)
2727
plat.path = "windows"
2828
} else if (os.type=="macosx") {
2929
ext = "tgz"
30-
plat.path = "macosx/el-capitan"
30+
plat.path = "macosx/big-sur-arm64"
3131
} else stop("format.bins only valid for 'windows' or 'macosx' os.type")
3232
file = sprintf("bin/%s/contrib/%s/%s_%s.%s", plat.path, bin_ver, pkg, version, ext)
3333
fe = file.exists(file.path(repodir, file))

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ jobs:
6565
echo "LC_ALL=lv_LV.utf8" >> $GITHUB_ENV
6666
echo "LANGUAGE=lv_LV" >> $GITHUB_ENV
6767
68-
- uses: actions/checkout@v2
68+
- uses: actions/checkout@v4
6969

7070
- uses: r-lib/actions/setup-r@v2
7171
with:

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ jobs:
3737
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
3838

3939
steps:
40-
- uses: actions/checkout@v2
40+
- uses: actions/checkout@v4
4141

4242
- uses: r-lib/actions/setup-r@v2
4343
with:
@@ -52,7 +52,7 @@ jobs:
5252
shell: Rscript {0}
5353

5454
- name: Restore R package cache
55-
uses: actions/cache@v2
55+
uses: actions/cache@v4
5656
with:
5757
path: ${{ env.R_LIBS_USER }}
5858
key: ${{ runner.os }}-${{ hashFiles('.github/R-version') }}-1-${{ hashFiles('.github/depends.Rds') }}

.github/workflows/performance-tests.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,4 @@ jobs:
2020
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
2121
repo_token: ${{ secrets.GITHUB_TOKEN }}
2222
steps:
23-
- uses: Anirban166/Autocomment-atime-results@v1.3.1
23+
- uses: Anirban166/Autocomment-atime-results@v1.4.1

.github/workflows/pkgup.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,11 @@ jobs:
2222
url: ${{ steps.deployment.outputs.page_url }}
2323
runs-on: ubuntu-latest
2424
steps:
25-
- uses: actions/checkout@v2
25+
- uses: actions/checkout@v4
2626
- uses: r-lib/actions/setup-pandoc@v2
2727
- uses: r-lib/actions/setup-r@v2
2828
- name: cache-r-dependencies
29-
uses: actions/cache@v3
29+
uses: actions/cache@v4
3030
with:
3131
path: ${{ env.R_LIBS_USER }}/*
3232
key: library-cache-${{ github.run_id }}
@@ -65,10 +65,10 @@ jobs:
6565
Rscript -e 'tools::write_PACKAGES("public/src/contrib", fields="Revision")'
6666
- name: upload
6767
if: github.ref == 'refs/heads/master'
68-
uses: actions/upload-pages-artifact@v1
68+
uses: actions/upload-pages-artifact@v3
6969
with:
7070
path: "public"
7171
- name: deploy
7272
if: github.ref == 'refs/heads/master'
7373
id: deployment
74-
uses: actions/deploy-pages@v1
74+
uses: actions/deploy-pages@v4

.github/workflows/rchk.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ jobs:
2626
rchk:
2727
runs-on: ubuntu-latest
2828
steps:
29-
- uses: actions/checkout@v2
29+
- uses: actions/checkout@v4
3030
- uses: r-lib/actions/setup-r@v2
3131
with:
3232
r-version: 'devel'

.gitlab-ci.yml

Lines changed: 4 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -143,15 +143,14 @@ test-lin-rel-cran:
143143
<<: *test-lin
144144
image: registry.gitlab.com/jangorecki/dockerfiles/r-base
145145
variables:
146-
_R_CHECK_COMPILATION_FLAGS_KNOWN_: "-Wvla"
147146
_R_CHECK_CRAN_INCOMING_: "TRUE" ## stricter --as-cran checks should run in dev pipelines continuously (not sure what they are though)
148147
_R_CHECK_CRAN_INCOMING_REMOTE_: "FALSE" ## Other than no URL checking (takes many minutes) or 'Days since last update 0' NOTEs needed, #3284
149148
_R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_: "7500000" ## bytes
150-
_R_CHECK_PKG_SIZES_THRESHOLD_: "7" ## MB 'checking installed package size' NOTE
149+
_R_CHECK_PKG_SIZES_THRESHOLD_: "10" ## MB 'checking installed package size' NOTE increased due to po
151150
script:
152151
- *install-deps
153-
- echo 'CFLAGS=-g -O2 -fopenmp -Wall -Wvla -pedantic -fstack-protector-strong -D_FORTIFY_SOURCE=2' > ~/.R/Makevars
154-
- echo 'CXXFLAGS=-g -O2 -fopenmp -Wall -Wvla -pedantic -fstack-protector-strong -D_FORTIFY_SOURCE=2' >> ~/.R/Makevars
152+
- echo 'CFLAGS=-g -O2 -fopenmp -Wall -pedantic -fstack-protector-strong -D_FORTIFY_SOURCE=2' > ~/.R/Makevars
153+
- echo 'CXXFLAGS=-g -O2 -fopenmp -Wall -pedantic -fstack-protector-strong -D_FORTIFY_SOURCE=2' >> ~/.R/Makevars
155154
- R CMD check --as-cran $(ls -1t data.table_*.tar.gz | head -n 1)
156155
- >-
157156
Rscript -e 'l=tail(readLines("data.table.Rcheck/00check.log"), 1L); if (!identical(l, "Status: OK")) stop("Last line of ", shQuote("00check.log"), " is not ", shQuote("Status: OK"), " but ", shQuote(l)) else q("no")'
@@ -198,7 +197,7 @@ test-lin-dev-clang-cran:
198197
- R CMD check --as-cran $(ls -1t data.table_*.tar.gz | head -n 1)
199198
- (! grep "warning:" data.table.Rcheck/00install.out)
200199
- >-
201-
Rscript -e 'l=tail(readLines("data.table.Rcheck/00check.log"), 1L); notes<-"Status: 3 NOTEs"; if (!identical(l, notes)) stop("Last line of ", shQuote("00check.log"), " is not ", shQuote(notes), " (size of tarball, installed package size, non-API calls) but ", shQuote(l)) else q("no")'
200+
Rscript -e 'l=tail(readLines("data.table.Rcheck/00check.log"), 1L); notes<-"Status: 2 NOTEs"; if (!identical(l, notes)) stop("Last line of ", shQuote("00check.log"), " is not ", shQuote(notes), " (size of tarball, non-API calls) but ", shQuote(l)) else q("no")'
202201
203202
# stated dependency on R
204203
test-lin-ancient-cran:
@@ -311,13 +310,11 @@ integration:
311310
- saas-linux-medium-amd64
312311
only:
313312
- master
314-
- macos_binaries
315313
needs: ["mirror-packages","build","test-lin-rel","test-lin-rel-cran","test-lin-dev-gcc-strict-cran","test-lin-dev-clang-cran","test-lin-rel-vanilla","test-lin-ancient-cran","test-win-rel","test-win-dev" ,"test-win-old","test-mac-rel","test-mac-old"]
316314
script:
317315
- R --version
318316
- *install-deps ## markdown pkg not present in r-pkgdown image
319317
- mkdir -p ./pkgdown/favicon/ && cp .graphics/favicon/* ./pkgdown/favicon/ ## copy favicons
320-
- rm -rf ./vignettes ## r-lib/pkgdown#2383
321318
- Rscript -e 'pkgdown::build_site(override=list(destination="./website"))'
322319
## html manual, vignettes, repos, cran_web, cran_checks
323320
- echo 'source(".ci/ci.R"); source(".ci/publish.R")' >> .Rprofile
@@ -333,9 +330,6 @@ integration:
333330
- rm -f bus/mirror-packages/cran/bin/macosx/big-sur-arm64/contrib/$R_REL_VERSION/data.table_*.tgz
334331
# - rm -f bus/mirror-packages/cran/bin/macosx/big-sur-arm64/contrib/$R_DEV_VERSION/data.table_*.tgz
335332
- rm -f bus/mirror-packages/cran/bin/macosx/big-sur-arm64/contrib/$R_OLD_VERSION/data.table_*.tgz
336-
#- rm -f bus/mirror-packages/cran/bin/macosx/el-capitan/contrib/$R_REL_VERSION/data.table_*.tgz
337-
#- rm -f bus/mirror-packages/cran/bin/macosx/el-capitan/contrib/$R_DEV_VERSION/data.table_*.tgz
338-
#- rm -f bus/mirror-packages/cran/bin/macosx/el-capitan/contrib/$R_OLD_VERSION/data.table_*.tgz
339333
## merge mirror-packages and R devel packages
340334
- mv bus/mirror-packages/cran bus/$CI_JOB_NAME/
341335
## publish package sources
@@ -393,10 +387,6 @@ integration:
393387
- Rscript -e 'check.index("data.table", names(test.jobs))'
394388
## web/checks/check_flavors.html
395389
- Rscript -e 'check.flavors(names(test.jobs))'
396-
## pkgdown vignettes workaround r-lib/pkgdown#2383
397-
- mkdir -p website/articles
398-
- cp bus/integration/cran/library/data.table/doc/*.html website/articles/.
399-
- rm website/articles/index.html
400390
## pkgdown merge
401391
- Rscript -e 'common_files<-function(path1, path2) intersect(list.files(path1, all.files=TRUE, no..=TRUE), list.files(path2, all.files=TRUE, no..=TRUE)); msg = if (length(f<-common_files("website","bus/integration/cran"))) paste(c("Following artifacts will be overwritten by pkgdown artifacts:", paste0(" ", f)), collapse="\n") else "No overlapping files from pkgdown artifacts"; message(msg); q("no")'
402392
- mv website/* bus/integration/cran/

0 commit comments

Comments
 (0)