77 lines
2.9 KiB
YAML
77 lines
2.9 KiB
YAML
name: CI
|
|
|
|
on: [push, pull_request]
|
|
|
|
jobs:
|
|
build_and_lint:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout the repository
|
|
uses: actions/checkout@v3
|
|
|
|
- name: Setup Node.js
|
|
uses: actions/setup-node@v3
|
|
with:
|
|
node-version: lts/*
|
|
cache: npm
|
|
|
|
- name: Retrieve the cached "node_modules" directory (if present)
|
|
uses: actions/cache@v3
|
|
id: node-cache
|
|
with:
|
|
path: node_modules
|
|
key: node-modules-${{ runner.os }}-${{ hashFiles('package-lock.json') }}
|
|
|
|
- name: Install dependencies (if the cached directory was not found)
|
|
if: steps.node-cache.outputs.cache-hit != 'true'
|
|
run: npm ci
|
|
|
|
- name: Test to see if the project compiles
|
|
run: bash build.sh
|
|
|
|
#- name: Perform automated checks
|
|
# run: bash lint.sh
|
|
|
|
# To enable publishing in CI, follow the instructions here:
|
|
# https://github.com/IsaacScript/isaac-steam-workshop-upload
|
|
# Then, uncomment the lines below.
|
|
#- name: Upload the mod to Steam Workshop (if this is a release commit)
|
|
# uses: IsaacScript/isaac-steam-workshop-upload@v2
|
|
# if: "contains(github.event.head_commit.message, 'chore: release') && github.event_name != 'pull_request'"
|
|
# with:
|
|
# mod_path: mod
|
|
# env:
|
|
# CONFIG_VDF_CONTENTS: ${{ secrets.CONFIG_VDF_CONTENTS }}
|
|
|
|
# To enable CI failure notifications over Discord:
|
|
# - Right click on a channel in Discord and select "Edit Channel".
|
|
# - Click on "Integrations" on the left menu.
|
|
# - Click on the "Create Webhook" button.
|
|
# - Click on the box for the new webhook that was created.
|
|
# - Change the name to "GitHub".
|
|
# - Change the image to: https://github.com/IsaacScript/isaacscript/raw/main/misc/github.png
|
|
# - Click on the "Save Changes" button at the bottom.
|
|
# - Click on the "Copy Webhook URL" button.
|
|
# - Go to the main page for your repository on GitHub.
|
|
# - Click on the "Settings" tab near the top.
|
|
# - Click on "Secrets and variables" in the left menu.
|
|
# - Click on "Actions" from the dropdown list.
|
|
# - Click on the "New repository secret" button in the top right.
|
|
# - For the "Name" box, use "DISCORD_WEBHOOK" (without the quotes).
|
|
# - For the "Secret" box, paste in the URL that was copied in the "Copy Webhook URL" step.
|
|
# - Click on the "Add secret" button.
|
|
# - Delete this comment and uncomment the lines below.
|
|
#discord:
|
|
# name: Discord Failure Notification
|
|
# needs: [build_and_lint]
|
|
# if: always() # This is needed to always run this job, even if the other jobs fail.
|
|
# runs-on: ubuntu-latest
|
|
# steps:
|
|
# - uses: technote-space/workflow-conclusion-action@v3
|
|
# - 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: ""
|