Skip to content

build: add deployment previews for vega-lite documentation site #14

build: add deployment previews for vega-lite documentation site

build: add deployment previews for vega-lite documentation site #14

# .github/workflows/deployment-preview.yml
name: Deploy PR previews
on:
pull_request:
types:
- opened
- reopened
- synchronize
- closed
# TODO: should this be rerun on new commits?
concurrency: preview-${{ github.ref }}
jobs:
# TODO: do we still want to run these on dependabot/non-human branches?
deploy-preview-docs:
if: github.event.action != 'closed'
runs-on: ubuntu-20.04
steps:
- name: Checkout
uses: actions/checkout@v4
# Copied from a section of release-docs-and-schema.yml
- name: Setup Node
uses: actions/setup-node@v4
with:
cache: 'yarn'
node-version: latest
- uses: ruby/setup-ruby@v1
with:
ruby-version: '2.7' # Not needed with a .ruby-version file
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
- name: Install NPM dependencies
run: yarn --frozen-lockfile
- name: Prebuild website
run: yarn presite
- name: Main site build script. Might need to bundle install
shell: bash
run: |
# Install bundle dependencies first
pushd site && bundle install && popd
# yarn build uses the wrong shell for some reason?
pushd site && bundle exec jekyll build && popd
# yarn build:jekyll
# - name: Build with Jekyll
# uses: actions/jekyll-build-pages@v1
# with:
# source: site
# destination: _site
# End copy from a section of release-docs-and-schema.yml
# https://github.com/actions/upload-pages-artifact?tab=readme-ov-file#file-permissions
# - name: Fix permissions
# run: |
# chmod -c -R +r "_site/" | while read line; do
# echo "::warning title=Invalid file permissions automatically fixed::$line"
# done
- name: Deploy preview and post github comment
uses: rossjrw/pr-preview-action@v1
with:
source-dir: site/_site
deploy-repository: vega/vega-lite-pr-previews
# TODO: ask Dom to create a token for this
token: ${{ secrets.PREVIEW_TOKEN }}
cleanup-preview-docs:
if: github.event.action == 'closed'
runs-on: ubuntu-20.04
steps:
- name: Cleanup pr-preview
uses: rossjrw/pr-preview-action@v1
with:
source-dir: site/_site