Skip to content

Update resources-table.tsv - add scRNA-seq #186

Update resources-table.tsv - add scRNA-seq

Update resources-table.tsv - add scRNA-seq #186

# NOTE: We render the site in GitHub Actions because some pages (e.g., instructors.qmd)
# require R execution to pull dynamic data from CSV files. Netlify's build environment
# does not include R, so we cannot rely on the Quarto Netlify plugin for rendering.
# Instead, CI installs R + Quarto, renders the site, and deploys the pre-rendered HTML
# to Netlify for both PR previews and production.
name: CI/CD
on:
pull_request:
branches: [devel]
push:
branches: [devel]
schedule:
- cron: '0 1 * * 0' # every Sunday at 01:00 UTC
env:
cache-version: v1
jobs:
# Build & preview deploy for PRs
build-preview:
if: github.event_name == 'pull_request'
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v4
- name: Set up Quarto
uses: quarto-dev/quarto-actions/setup@v2
- name: Install system dependencies
run: |
sudo apt-get update
sudo apt-get install -y libudunits2-dev libgdal-dev libgeos-dev libproj-dev
- name: Cache R packages
uses: actions/cache@v3
with:
path: ~/.R
key: ${{ env.cache-version }}-${{ runner.os }}-${{ hashFiles('**/DESCRIPTION', '**/renv.lock') }}
restore-keys: |
${{ env.cache-version }}-${{ runner.os }}-
- name: Set up R
uses: r-lib/actions/setup-r@v2
with:
use-public-rspm: true
- name: Install R dependencies
run: |
Rscript -e 'install.packages("remotes", repos = "https://cloud.r-project.org")'
Rscript -e 'remotes::install_deps(dependencies = TRUE)'
- name: Render Quarto Project
run: quarto render
- name: Deploy Preview to Netlify
run: |
npm install -g netlify-cli
netlify deploy \
--auth "$NETLIFY_AUTH_TOKEN" \
--site "$NETLIFY_SITE_ID" \
--dir docs \
--message "PR #${{ github.event.number }} - ${{ github.sha }}" \
--alias "pr-${{ github.event.number }}"
env:
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }}
# Production deploy on push/schedule to devel
deploy-prod:
if: github.ref == 'refs/heads/devel' && (github.event_name == 'push' || github.event_name == 'schedule')
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v4
- name: Set up Quarto
uses: quarto-dev/quarto-actions/setup@v2
- name: Install system dependencies
run: |
sudo apt-get update
sudo apt-get install -y libudunits2-dev libgdal-dev libgeos-dev libproj-dev
- name: Cache R packages
uses: actions/cache@v3
with:
path: ~/.R
key: ${{ env.cache-version }}-${{ runner.os }}-${{ hashFiles('**/DESCRIPTION', '**/renv.lock') }}
restore-keys: |
${{ env.cache-version }}-${{ runner.os }}-
- name: Set up R
uses: r-lib/actions/setup-r@v2
with:
use-public-rspm: true
- name: Install R dependencies
run: |
Rscript -e 'install.packages("remotes", repos = "https://cloud.r-project.org")'
Rscript -e 'remotes::install_deps(dependencies = TRUE)'
- name: Render Quarto Project
run: quarto render
# If you still want GitHub Pages in addition to Netlify, keep this step.
# Otherwise you can remove it and use Netlify as your sole host.
- name: Add CNAME for GitHub Pages custom domain
run: echo "training.bioconductor.org" > docs/CNAME
- name: Publish to GitHub Pages (optional)
uses: quarto-dev/quarto-actions/publish@v2
with:
target: gh-pages
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Deploy Production to Netlify
run: |
npm install -g netlify-cli
netlify deploy \
--auth "$NETLIFY_AUTH_TOKEN" \
--site "$NETLIFY_SITE_ID" \
--dir docs \
--prod \
--message "devel @ ${{ github.sha }}"
env:
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }}