Skip to content

Merge pull request #18 from ncborcherding/main #1

Merge pull request #18 from ncborcherding/main

Merge pull request #18 from ncborcherding/main #1

Workflow file for this run

# 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
#
# This workflow builds the pkgdown site and deploys to:
# 1. gh-pages branch (for GitHub Pages backup)
# 2. borcherding website repo (for borch.dev/uploads/deepMatchR)
#
# To enable deployment to borcherding repo, add a secret WEBSITE_DEPLOY_KEY
# with a deploy key that has write access to the borcherding repo.
on:
push:
branches: [main, master]
pull_request:
branches: [main, master]
release:
types: [published]
workflow_dispatch:
name: pkgdown
permissions: read-all
jobs:
pkgdown:
runs-on: ubuntu-latest
# Only restrict concurrency for non-PR jobs
concurrency:
group: pkgdown-${{ github.event_name != 'pull_request' || github.run_id }}
env:
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
permissions:
contents: write
steps:
- uses: actions/checkout@v4
- uses: r-lib/actions/setup-pandoc@v2
- uses: r-lib/actions/setup-r@v2
with:
use-public-rspm: true
- uses: r-lib/actions/setup-r-dependencies@v2
with:
extra-packages: any::pkgdown, local::.
needs: website
- name: Build site
run: pkgdown::build_site_github_pages(new_process = FALSE, install = FALSE)
shell: Rscript {0}
- name: Deploy to GitHub pages
if: github.event_name != 'pull_request'
uses: JamesIves/github-pages-deploy-action@v4.5.0
with:
clean: false
branch: gh-pages
folder: docs
# Deploy to borcherding website repo (borch.dev)
- name: Deploy to borch.dev
if: github.event_name != 'pull_request' && env.WEBSITE_DEPLOY_KEY != ''
env:
WEBSITE_DEPLOY_KEY: ${{ secrets.WEBSITE_DEPLOY_KEY }}
run: |
# Setup SSH
mkdir -p ~/.ssh
echo "$WEBSITE_DEPLOY_KEY" > ~/.ssh/deploy_key
chmod 600 ~/.ssh/deploy_key
ssh-keyscan github.com >> ~/.ssh/known_hosts
# Clone website repo
GIT_SSH_COMMAND="ssh -i ~/.ssh/deploy_key" git clone --depth 1 \
git@github.com:ncborcherding/borcherding.git website-repo
# Sync pkgdown output
rm -rf website-repo/static/uploads/deepMatchR
mkdir -p website-repo/static/uploads/deepMatchR
cp -r docs/* website-repo/static/uploads/deepMatchR/
# Commit and push
cd website-repo
git config user.name "GitHub Actions"
git config user.email "actions@github.com"
git add static/uploads/deepMatchR
git diff --staged --quiet || git commit -m "Update deepMatchR pkgdown site"
GIT_SSH_COMMAND="ssh -i ~/.ssh/deploy_key" git push