Skip to content

chore(release): isaacscript-cli-5.2.2 #6393

chore(release): isaacscript-cli-5.2.2

chore(release): isaacscript-cli-5.2.2 #6393

Workflow file for this run

name: CI
on: [push, pull_request]
jobs:
get-build-packages:
runs-on: ubuntu-latest
outputs:
package-names: ${{ steps.set-matrix.outputs.package-names }}
steps:
- uses: actions/checkout@v4
- id: set-matrix
uses: complete-ts/get-package-names@main
with:
script-name: build
build:
needs: get-build-packages
runs-on: ubuntu-latest
strategy:
matrix:
package-name: ${{ fromJson(needs.get-build-packages.outputs.package-names) }}
fail-fast: false
steps:
- uses: actions/checkout@v4
- uses: ./.github/workflows/setup
- working-directory: ./packages/${{ matrix.package-name }}
run: npm run build
- name: Store the docs build directory
if: ${{ matrix.package-name == 'docs' }}
uses: actions/upload-artifact@v4
with:
name: docs-build
path: ./packages/docs/build
get-lint-packages:
runs-on: ubuntu-latest
outputs:
package-names: ${{ steps.set-matrix.outputs.package-names }}
steps:
- uses: actions/checkout@v4
- id: set-matrix
uses: complete-ts/get-package-names@main
with:
script-name: lint
lint:
needs: get-lint-packages
runs-on: ubuntu-latest
strategy:
matrix:
package-name: ${{ fromJson(needs.get-lint-packages.outputs.package-names) }}
fail-fast: false
steps:
- uses: actions/checkout@v4
- uses: ./.github/workflows/setup
- working-directory: ./packages/${{ matrix.package-name }}
run: npm run lint
get-test-packages:
runs-on: ubuntu-latest
outputs:
package-names: ${{ steps.set-matrix.outputs.package-names }}
steps:
- uses: actions/checkout@v4
- id: set-matrix
uses: complete-ts/get-package-names@main
with:
script-name: test
test:
needs: get-test-packages
runs-on: ubuntu-latest
strategy:
matrix:
package-name: ${{ fromJson(needs.get-test-packages.outputs.package-names) }}
fail-fast: false
steps:
- uses: actions/checkout@v4
- uses: ./.github/workflows/setup
- working-directory: ./packages/${{ matrix.package-name }}
# We specify custom Node.js options in order to increase the memory size, since GitHub
# Actions can fail with the following error when doing the `eslint-plugin-isaacscript`
# tests:
# FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory
run: NODE_OPTIONS='--max-old-space-size=8192' npm run test
monorepo-lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: ./.github/workflows/setup
- run: npm run lint
# docs-deploy:
# needs: [build, lint, test, monorepo-lint]
# runs-on: ubuntu-latest
# if: github.ref == 'refs/heads/main' && github.event_name != 'pull_request'
# steps:
# - uses: actions/checkout@v4
# - uses: ./.github/workflows/setup
# - name: Retrieve the docs build directory
# uses: actions/download-artifact@v4
# with:
# name: docs-build
# path: ./packages/docs/build
# - name: Check if the "DOCS_SSH_PRIVATE_KEY" GitHub secret is set
# env:
# SECRET_CHECK: ${{ secrets.DOCS_SSH_PRIVATE_KEY }}
# if: ${{ env.SECRET_CHECK == '' }}
# run: |
# echo "Error: The GitHub secret of \"DOCS_SSH_PRIVATE_KEY\" is not set."
# exit 1
# - name: Check if the "TYPESENSE_API_KEY" GitHub secret is set
# env:
# SECRET_CHECK: ${{ secrets.TYPESENSE_API_KEY }}
# if: ${{ env.SECRET_CHECK == '' }}
# run: |
# echo "Error: The GitHub secret of \"TYPESENSE_API_KEY\" is not set."
# exit 1
# - name: Check if the "TYPESENSE_HOST" GitHub secret is set
# env:
# SECRET_CHECK: ${{ secrets.TYPESENSE_HOST }}
# if: ${{ env.SECRET_CHECK == '' }}
# run: |
# echo "Error: The GitHub secret of \"TYPESENSE_HOST\" is not set."
# exit 1
# - name: Check if the "TYPESENSE_PORT" GitHub secret is set
# env:
# SECRET_CHECK: ${{ secrets.TYPESENSE_PORT }}
# if: ${{ env.SECRET_CHECK == '' }}
# run: |
# echo "Error: The GitHub secret of \"TYPESENSE_PORT\" is not set."
# exit 1
# - name: Check if the "TYPESENSE_PROTOCOL" GitHub secret is set
# env:
# SECRET_CHECK: ${{ secrets.TYPESENSE_PROTOCOL }}
# if: ${{ env.SECRET_CHECK == '' }}
# run: |
# echo "Error: The GitHub secret of \"TYPESENSE_PROTOCOL\" is not set."
# exit 1
# - name: Checkout the docs repository
# uses: actions/checkout@v4
# with:
# ssh-key: ${{ secrets.DOCS_SSH_PRIVATE_KEY }}
# repository: IsaacScript/isaacscript.github.io
# ref: gh-pages
# # The current working directory is:
# # /home/runner/work/isaacscript/isaacscript
# # Thus, the following path is equivalent to:
# # /home/runner/work/isaacscript/isaacscript/isaacscript.github.io
# # (It is not possible to clone the repo in the parent directory for security reasons.)
# path: isaacscript.github.io
# - name: Deploy the documentation website
# id: deploy_documentation_website
# run: npx tsx ./packages/docs/scripts/deploy.mts ${{ github.sha }}
# - name: Run DocSearch Scraper
# uses: celsiusnarhwal/typesense-scraper@v2
# if: steps.deploy_documentation_website.outputs.SHOULD_SCRAPE == '1'
# with:
# api-key: ${{ secrets.TYPESENSE_API_KEY }}
# host: ${{ secrets.TYPESENSE_HOST }}
# port: ${{ secrets.TYPESENSE_PORT }}
# protocol: ${{ secrets.TYPESENSE_PROTOCOL }}
# config: packages/docs/docsearch.config.json
discord:
name: Discord Failure Notification
needs: [build, lint, test, monorepo-lint] # docs-deploy
if: failure()
runs-on: ubuntu-latest
steps:
- uses: sarisia/actions-status-discord@v1
with:
webhook: ${{ secrets.DISCORD_WEBHOOK }}
status: failure
title: ""