#YOLO #6
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 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: altdoc-webr-${{ 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 | |
# Add a dependency on the prior job completing | |
needs: rwasmbuild | |
# Required for the gh-pages deployment action | |
environment: | |
name: github-pages | |
env: | |
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} | |
permissions: | |
# To download GitHub Packages within action | |
repository-projects: read | |
# For publishing to pages environment | |
pages: write | |
id-token: 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 |