Skip to content
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

Add a use_webr_github_pages() to encourage developmental R WASM binaries #1932

Open
coatless opened this issue Jan 3, 2024 · 2 comments
Open

Comments

@coatless
Copy link
Contributor

coatless commented Jan 3, 2024

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 a use_webr_github_pages()/use_rwasm_github_pages() function. There is a prior precedent for such a function based on integrating pkgdown with GitHub actions in the use_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 using use_github_action() to obtain the deployment action and use_github_pages() to setup the gh-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 a pkgdown website created using use_pkgdown().

I'm more than happy to investigate further and propose a working function if this is of interest.

@jennybc
Copy link
Member

jennybc commented Jan 4, 2024

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?

@coatless
Copy link
Contributor Author

coatless commented Jan 14, 2024

I'm pleased to share that there are two distinct methods for integrating R WASM Package binary builds into an R package repository:

  1. Separate Workflows with Commits into gh-pages

    • Detailed in this repository
    • Uses {pkgdown} and {rwasm} workflows independently to build and, then, commit results into the gh-pages branch.
  2. Unified Workflow via a GitHub Action for GitHub Pages Deployment

    • Described in this repository
    • Involves {rwasm} building R WASM Package binaries, transferring them as artifacts to {pkgdown}, which then builds.
    • The merged output is deployed via a GitHub Action onto GitHub pages without committing into the 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. r-wasm/actions#15.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants