# 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 sass@1.32.8 - name: Install soupault env: SOUPAULT_VERSION: 4.0.1 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 -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