Skip to content

Merge pull request #524 from IIIF/issue-500 #117

Merge pull request #524 from IIIF/issue-500

Merge pull request #524 from IIIF/issue-500 #117

Workflow file for this run

# This is a basic workflow to help you get started with Actions
name: Deploy-live
# Controls when the action will run. Triggers the workflow on push or pull request
# events but only for the master branch
on:
push:
branches:
- main
- master
- 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
LIVE_PATH: '/api/cookbook'
# Required for ID substition in JSON manifests
URL: 'https://iiif.io'
JEKYLL_ENV: 'production'
# 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
- name: Setup ruby
uses: ruby/setup-ruby@v1
with:
bundler-cache: true
- run: gem install bundler && bundle
- name: add URL to config
run: .github/bin/addURL.sh
# build and test
- name: Build live site
run: bundle exec rake build:live
- 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
# 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: "iiif-website"
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://iiif.io/api/cookbook/index.html"