Skip to content

CI

CI #1875

Workflow file for this run

# This is a basic workflow to help you get started with Actions
name: CI
# 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 ]
pull_request:
branches: [ main ]
schedule:
- cron: "0 0 * * *"
workflow_dispatch:
# 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:
# For the main branch, this job should use the staging environment
environment: staging
# The type of runner that the job will run on
runs-on: ubuntu-20.04
# 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: Install build dependencies from the repos
run: |
echo Installing build dependencies
sudo apt-get update
sudo apt-get -y install cmark make python3-boto3 python3-jinja2 npm
sudo npm install -g [email protected]
- name: Install soupault
env:
SOUPAULT_VERSION: 4.6.0
run: |
echo Downloading and unpacking soupault
wget https://github.com/PataphysicalSociety/soupault/releases/download/$SOUPAULT_VERSION/soupault-$SOUPAULT_VERSION-linux-x86_64.tar.gz
tar xvf soupault-$SOUPAULT_VERSION-linux-x86_64.tar.gz
sudo mv -v ./soupault-$SOUPAULT_VERSION-linux-x86_64/soupault /usr/bin/
- name: Build the site
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
SNAPSHOTS_BUCKET: ${{ secrets.SNAPSHOTS_BUCKET }}
SOUPAULT_OPTS: "--profile ${{ secrets.SOUPAULT_PROFILE }} --profile live"
run: |
make all
- name: Deploy to Netlify
env:
NETLIFY_TOKEN: ${{ secrets.NETLIFY_TOKEN }}
NETLIFY_SITE_NAME: ${{ secrets.NETLIFY_SITE_NAME }}
run: |
zip -r website.zip build/
curl --show-error --fail -H "Content-Type: application/zip" -H "Authorization: Bearer $NETLIFY_TOKEN" --data-binary "@website.zip" https://api.netlify.com/api/v1/sites/$NETLIFY_SITE_NAME/deploys