SSB: Fix some bugs #19000
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# This workflow will do an install of node dependencies, build the source code and run tests across different versions of node | |
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions | |
name: Node.js CI | |
on: | |
push: | |
branches: [ master ] | |
pull_request: | |
branches: [ master ] | |
workflow_call: | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
node-version: [16.x] | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 100 # assumes PR/push to master is no larger than 100 commits. Other solutions are needlessly complex. | |
- name: Use Node.js ${{ matrix.node-version }} | |
uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ matrix.node-version }} | |
cache: 'npm' | |
- run: npm ci | |
- name: Determine which files to lint (if pull request) | |
if: ${{ github.event_name == 'pull_request' }} | |
id: changed-files | |
uses: tj-actions/changed-files@v35 | |
with: | |
files: | | |
./config/*.ts | |
./data/**/*.ts | |
./lib/*.ts | |
./server/**/*.ts | |
./server/**/*.tsx | |
./sim/**/*.ts | |
./tools/set-import/*.ts | |
files_ignore: | | |
./logs/ | |
./node_modules/ | |
./dist/ | |
./data/**/learnsets.ts | |
./tools/set-import/importer.js | |
./tools/set-import/sets | |
./tools/modlog/converter.js | |
./server/global-variables.d.ts | |
- name: Determine whether test/sim or test/random-battles need to run (if pull request) | |
if: ${{ github.event_name == 'pull_request' }} | |
id: changed-directories | |
uses: tj-actions/changed-files@v35 | |
with: | |
files: | | |
config/formats.ts | |
data/** | |
sim/** | |
- name: Run selective lint & neccessary tests (if pull request) | |
if: ${{ github.event_name == 'pull_request' }} | |
run: npm run full-test-ci | |
env: | |
CI: true | |
FILES: ${{ steps.changed-files.outputs.all_changed_and_modified_files }} | |
SKIPSIMTESTS: ${{ steps.changed-directories.outputs.all_changed_and_modified_files == '' }} | |
- name: Run full lint & test (if push to master) | |
run: npm run full-test | |
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }} | |
env: | |
CI: true |