Open coatless opened 9 months ago
I haven't really given this any thought, but would certainly review a working function. I suppose even if usethis wasn't the right home, in the end, there would be value in sketching it all out, yes?
I'm pleased to share that there are two distinct methods for integrating R WASM Package binary builds into an R package repository:
Separate Workflows with Commits into gh-pages
{pkgdown}
and {rwasm}
workflows independently to build and, then, commit results into the gh-pages
branch.Unified Workflow via a GitHub Action for GitHub Pages Deployment
{rwasm}
building R WASM Package binaries, transferring them as artifacts to {pkgdown}
, which then builds.gh-pages
branch.Considering the variable size of R WASM Package binaries due to underlying dependencies, the "unified" approach is recommended over the "separate" approach. This preference stems from the desire to avoid repository size inflation through repeated commits into the gh-pages
branch. However, it's worth noting that the "unified" approach may complicate the existing {pkgdown}
process, as it relies on deploying an artifact onto GitHub Pages. Both approaches also require the "Enforce HTTPS" setting to be activated in GitHub Pages.
I've added a ticket over on the r-wasm/actions
repository for George / Barrett to look at, c.f. https://github.com/r-wasm/actions/issues/15.
With
webR
picking up steam, it would be good to provide a top-level function that simplifies the way to incorporate development WASM binaries. Thus, I'm proposing the addition of ause_webr_github_pages()
/use_rwasm_github_pages()
function. There is a prior precedent for such a function based on integratingpkgdown
with GitHub actions in theuse_pkgdown_github_pages()
function.The inclusion of development WASM binaries requires the use of reproducible actions at
r-wasm/actions
to set up a CRAN-like repository and deploy it to the repository's GitHub Pages. So, the proposed function would likely usinguse_github_action()
to obtain the deployment action anduse_github_pages()
to setup thegh-pages
branch of the repository if it is not present already. Moreover, I'm not sure if further tweaks would be required to ensure the action plays nicely with apkgdown
website created usinguse_pkgdown()
.I'm more than happy to investigate further and propose a working function if this is of interest.