Skip to content

Merge pull request #513 from IIIF/feature/theseus-viewer #1750

Merge pull request #513 from IIIF/feature/theseus-viewer

Merge pull request #513 from IIIF/feature/theseus-viewer #1750

Workflow file for this run

# This is a basic workflow to help you get started with Actions
name: Deploy-preview
# Controls when the action will run. Triggers the workflow on push or pull request
# events but only for the master branch
on:
push:
branches:
- '**'
- '!master'
- '!main'
- '!beta'
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
build:
# The type of runner that the job will run on
runs-on: ubuntu-latest
env:
BUNDLE_WITH: test jekyll_plugins
SITE_ID: 'cookbook' # which iiif site this is
URL: 'https://preview.iiif.io'
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v2
# store branch name in ${BRANCH_NAME}
- name: Export BRANCH_NAME # store branch name in $BRANCH_NAME
run: echo BRANCH_NAME=`git rev-parse --abbrev-ref HEAD` >> $GITHUB_ENV
- name: Setup ruby
uses: ruby/setup-ruby@v1
with:
bundler-cache: true
- run: gem install bundler && bundle
# build and test
- name: Build preview site
run: bundle exec rake build:preview
- name: Test html
run: bundle exec rake test:html
- name: Test internal links
run: bundle exec rake test:links:internal
- name: Test *iiif.io* links
run: bundle exec rake test:links:iiif
# Validate
- name: Set up Python 3.x
uses: actions/setup-python@v2
with:
# Semantic version range syntax or exact version of a Python version
python-version: '3.x'
# Optional - x64 or x86 architecture, defaults to x64
architecture: 'x64'
- name: Cache pip
uses: actions/cache@v2
with:
# This path is specific to Ubuntu
path: ~/.cache/pip
# Look to see if there is a cache hit for the corresponding requirements file
key: ${{ runner.os }}-pip-${{ hashFiles('requirements.txt') }}
restore-keys: |
${{ runner.os }}-pip-
${{ runner.os }}-
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r scripts/requirements.txt
- name: validate
run: scripts/validate.sh
- name: add URL to config
run: .github/bin/addURL.sh
# build and test
- name: Build preview site
run: bundle exec rake build:preview
# Deploy to preview site
- name: Create GitHub deployment
uses: glenrobson/[email protected]
id: deployment
with:
step: start
token: ${{ secrets.GITHUB_TOKEN }}
auto_inactive: 'false'
env: staging
- name: Deploy to S3
uses: glenrobson/[email protected]
with:
args: --acl public-read
env:
AWS_S3_BUCKET: "preview.iiif.io"
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_REGION: ${{ secrets.AWS_REGION }}
SOURCE_DIR: "_site"
- name: Update deployment status
uses: glenrobson/[email protected]
if: always()
with:
step: finish
auto_inactive: 'false'
token: ${{ secrets.GITHUB_TOKEN }}
status: ${{ job.status }}
deployment_id: ${{ steps.deployment.outputs.deployment_id }}
env_url: "https://preview.iiif.io/${{ env.SITE_ID }}/${{ env.BRANCH_NAME}}/index.html"