Add Kevin Sintondji to Carpentry instructors #175
This file contains hidden or 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
| # 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 }} |