-
Notifications
You must be signed in to change notification settings - Fork 979
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
A pkgdown website for data.table #3677
Conversation
So that it doesn't appear in the documentation listing
So that pkgdown can locate GitHub site
Codecov Report
@@ Coverage Diff @@
## master #3677 +/- ##
=======================================
Coverage 99.42% 99.42%
=======================================
Files 72 72
Lines 13498 13498
=======================================
Hits 13421 13421
Misses 77 77 Continue to review full report at Codecov.
|
Thanks so much @hadley! Starting to look things over... I'm afraid I don't follow you here:
Is that something on your end or for us? I notice the mouse-over of Am I right that the Changelog page looks for a
For the In general if a fix/change/upgrade is required in |
To be precise, I think someone on the data table needs to redraw the minimal syntax image to remove the background colour, remove pdf download link in top right, and refine (or remove) the title. Can you file an issue in pkgdown for this? Currently we assume that dev versions look like 1.0.0.9000, so we'll need to think about how to parameterise that differently. I don't remember the exact details of how the autolinking works, but I think it should be straightforward to also autolink infix operators. Can you please file an issue? There's currently very little control over how the aliases are display on the reference page. So far my position has been that if you think there are too many, then you should consider breaking up the topic into multiple pieces. I don't have pkgdown front of mind at the moment, so I don't have any general advice, sorry 😞 |
.gitlab-ci.yml
Outdated
@@ -303,6 +305,10 @@ integration: # merging all artifacts to produce single R repository and summarie | |||
- Rscript -e 'pdf.copy("data.table", "test-rel-lin")' | |||
# web/checks/check_results_$pkg.html | |||
- Rscript -e 'check.index("data.table", names(test.jobs))' | |||
# pkgdown | |||
- apt-get update -qq && apt-get install -y libxml2-dev | |||
- Rscript -e 'install.packages("remotes", repos=Sys.getenv("CRAN_MIRROR"), quiet=TRUE); remotes::install_github("r-lib/pkgdown", repos=Sys.getenv("CRAN_MIRROR"), quiet=TRUE); install.packages("data.table", repos=file.path("file:",normalizePath("bus/integration/cran")), quiet=TRUE); pkgdown::build_site(devel=FALSE, new_process=TRUE, override=list(destination="./pkgdown"))' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We need to speed it up, currently it installs remotes
, pkgdown
and 59! other packages. Plus it requires OS dependency libxml2-dev. As a result this job takes 16 minutes while previously took 5 minutes.
This would help: r-lib/pkgdown#1115
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does gitlab not have caching? So you have to install these packages on every run?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
GitLab caching is currently in use when mirror suggested dependencies. We do publish all of them together with devel data.table in our R repository, to achieve ultimate reproducibility.
As of now we do not need to use any other package in the pipeline, all CI is made in base R. Thus adding 60 packages related to CI only is pretty big thing. I will try to make a secondary CI-related cache/repo.
Just for reference, mirror-packages
job:
Lines 20 to 37 in 81af9b6
mirror-packages: # download all recursive dependencies of data.table suggests and integration suggests from inst/tests/tests-DESCRIPTION | |
stage: dependencies | |
tags: | |
- linux | |
image: registry.gitlab.com/jangorecki/dockerfiles/r-base-dev | |
cache: | |
paths: | |
- bus/$CI_BUILD_NAME/cran | |
variables: | |
R_BIN_VERSION: "3.6" | |
R_DEVEL_BIN_VERSION: "3.7" | |
script: | |
- echo 'source("ci.R")' >> .Rprofile | |
- mkdir -p bus/$CI_BUILD_NAME/cran/src/contrib | |
# mirror R dependencies: source, win.binary | |
- Rscript -e 'mirror.packages(dcf.dependencies(c("DESCRIPTION","inst/tests/tests-DESCRIPTION"), "all"), repos=c(Sys.getenv("CRAN_MIRROR"), dcf.repos("inst/tests/tests-DESCRIPTION")), repodir="bus/mirror-packages/cran")' | |
- Rscript -e 'sapply(simplify=FALSE, setNames(nm=Sys.getenv(c("R_BIN_VERSION","R_DEVEL_BIN_VERSION"))), function(binary.ver) mirror.packages(type="win.binary", dcf.dependencies("DESCRIPTION", "all"), repos=Sys.getenv("CRAN_MIRROR"), repodir="bus/mirror-packages/cran", binary.ver=binary.ver))' | |
<<: *artifacts |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
after recent commits to pkgdown we went down to 13 minutes for this job
so 3/11 of the overhead is fixed
… CI job, update API to recent pkgdown
Once we agree it is ready to merge I will then update url references from |
Changelog
For some reason the date as parsed shows up on the left only for v1.12.2?
Manual
Vignettes
|
This is already possible, we can make a menu of changelog files, but I don't see it that much important.
related issue: r-lib/pkgdown#1118
we should explicitly name it, or if possible put a portable link
I don't think it is an issue to double reference. What would be useful is to put only |
DESCRIPTION
Outdated
@@ -49,7 +49,7 @@ Suggests: bit64, curl, R.utils, knitr, xts, nanotime, zoo, yaml | |||
SystemRequirements: zlib | |||
Description: Fast aggregation of large data (e.g. 100GB in RAM), fast ordered joins, fast add/modify/delete of columns by group using no copies at all, list columns, friendly and fast character-separated-value read/write. Offers a natural and flexible syntax, for faster development. | |||
License: MPL-2.0 | file LICENSE | |||
URL: http://r-datatable.com | |||
URL: https://github.com/Rdatatable/data.table |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@jangorecki why this change?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am not precisely sure, https://pkgdown.r-lib.org/articles/linking.html vignette mention to use github repo url. I reverted back to use two urls, as initially commited by Hadley
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am not sure but we might need to use three urls there, as pkgdown website will be published under: https://Rdatatable.gitlab.io/data.table
now during dev: https://jangorecki.gitlab.io/data.table/
jangorecki: WIP status in #3677 (comment)
You can see (a manual deploy) of the site at https://nervous-easley-6de120.netlify.com
Note that to build the pkgdown site yourself you'll need the latest version from GitHub (I had to fix a couple of bugs) and build with
pkgdown::build_site(devel = FALSE, new_process = FALSE)
This is a very preliminary version presented only in order to have something concrete to respond to. To do:
Note that I had to make a few minor changes to data.table sources to work cleanly with pkgdown. I think once you're happy with the basic website, we can discuss in more detail.
Fixes #3675