From 36d78448acba8a913948b60d701df7cfa0b22eac Mon Sep 17 00:00:00 2001 From: James J Balamuta Date: Tue, 11 Jun 2024 00:01:31 -0700 Subject: [PATCH] Modify altdoc workflow to attach a WASM Binary --- .github/workflows/altdoc.yaml | 106 ++++++++++++++++++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 .github/workflows/altdoc.yaml diff --git a/.github/workflows/altdoc.yaml b/.github/workflows/altdoc.yaml new file mode 100644 index 0000000..73f7c21 --- /dev/null +++ b/.github/workflows/altdoc.yaml @@ -0,0 +1,106 @@ +# Workflow derived from https://github.com/r-lib/actions/tree/v2/examples +# Need help debugging build failures? Start at https://github.com/r-lib/actions#where-to-find-help +on: + push: + branches: [main, master] + pull_request: + branches: [main, master] + release: + types: [published] + workflow_dispatch: {} + +name: altdoc + +jobs: + rwasmbuild: + # Only restrict concurrency for non-PR jobs + concurrency: + group: r-wasm-${{ github.event_name != 'pull_request' || github.run_id }} + env: + GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} + permissions: + contents: write + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + # Build the local R package and structure the CRAN repository + - name: Build WASM R packages + uses: r-wasm/actions/build-rwasm@v1 + with: + packages: "." + repo-path: "_site" + + # Upload the CRAN repository for use in the next step + # Make sure to set a retention day to avoid running into a cap + - name: Upload build artifact + uses: actions/upload-artifact@v3 + with: + name: rwasmrepo + path: | + _site + retention-days: 1 + + + altdoc: + runs-on: ubuntu-latest + # Only restrict concurrency for non-PR jobs + concurrency: + group: altdoc-webr-${{ github.event_name != 'pull_request' || github.run_id }} + env: + GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} + permissions: + contents: write + steps: + - uses: actions/checkout@v4 + + - uses: quarto-dev/quarto-actions/setup@v2 + + - name: Get Script + run: curl -OLs https://eddelbuettel.github.io/r-ci/run.sh && chmod 0755 run.sh + + - name: Bootstrap + run: ./run.sh bootstrap + + - name: Dependencies + run: ./run.sh install_all + + - name: Build site + run: | + # If parallel = TRUE in render_docs() + # future::plan(future::multicore) + install.packages(".", repos = NULL, type = "source") + install.packages("pkgload") + pkgload::load_all() + altdoc::render_docs(parallel = FALSE, freeze = FALSE) + shell: Rscript {0} + + - name: Copy to new directory + run: | + cp -r docs _site + + # New material --- + + # Download the built R WASM CRAN repository from the prior step. + # Extract it into the `_site` directory + - name: Download build artifact + uses: actions/download-artifact@v3 + with: + name: rwasmrepo + path: _site + + # Upload a tar file that will work with GitHub Pages + # Make sure to set a retention day to avoid running into a cap + # This artifact shouldn't be required after deployment onto pages was a success. + - name: Upload Pages artifact + uses: actions/upload-pages-artifact@v2 + with: + retention-days: 1 + + # Use an Action deploy to push the artifact onto GitHub Pages + # This requires the `Action` tab being structured to allow for deployment + # instead of using `docs/` or the `gh-pages` branch of the repository + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v2