Skip to content

Newduke patch 1

Newduke patch 1 #2

Workflow file for this run

name: CI
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
build_lint_deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout the repository
uses: actions/checkout@v2
# ------
# Python
# ------
- name: Setup Python 3
uses: actions/setup-python@v2
with:
python-version: "3.x"
- name: Install Python dependencies
run: |
python -m pip install --upgrade pip
pip install -r ./image-generator/requirements.txt
- name: Lint Python code
uses: lgeiger/black-action@master
with:
args: ./image-generator/create_svg.py --check
# ----------
# JavaScript
# ----------
- name: Setup Node.js
uses: actions/setup-node@v2
with:
# The default version is 14
# The ESLint config requires Node 16 to work properly
node-version: "16"
cache: "yarn"
- name: Retrieve the cached "node_modules" directory (if present)
uses: actions/cache@v2
id: node-cache
with:
path: node_modules
key: node-modules-${{ runner.os }}-${{ hashFiles('yarn.lock') }}
- name: Install dependencies (if the cached directory was not found)
if: steps.node-cache.outputs.cache-hit != 'true'
run: yarn install --immutable
- name: Use Docusaurus to build the website
run: bash build.sh
- name: Perform automated checks
run: bash lint.sh
- name: Deploy to GitHub pages
if: github.ref == 'refs/heads/main' && needs.pr-check.outputs.number != 'null'
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./build
discord:
name: Discord Failure Notification
needs: [build_lint_deploy]
# "always()" is needed to always run this job, even if the other jobs fail.
# We don't want to spam the "#conventions-new" channel when people have failing pull requests.
if: always() && github.ref == 'refs/heads/main' && needs.pr-check.outputs.number != 'null'
runs-on: ubuntu-latest
steps:
- uses: technote-space/workflow-conclusion-action@v2
- if: env.WORKFLOW_CONCLUSION != 'success' && env.WORKFLOW_CONCLUSION != 'cancelled'
uses: sarisia/actions-status-discord@v1
with:
webhook: ${{ secrets.DISCORD_WEBHOOK }}
status: ${{ env.WORKFLOW_CONCLUSION }}
title: ""