Server/.gitea/workflows/run-test.yaml

56 lines
1.9 KiB
YAML

name: Run Tests
on:
push:
branches: '*'
pull_request:
branches: '*'
jobs:
vitest:
runs-on: ubuntu-latest
if: > # Conditional to limit runs: checks if it's NOT a push to a branch with an open PR
github.event_name == 'push' ||
github.event.pull_request.head.repo.full_name != github.repository
container:
image: refringe/spt-build-node:1.0.7
steps:
- name: Clone
run: |
rm -rf ${{ github.workspace }}/current
git clone --progress https://dev.sp-tarkov.com/${{ github.repository }}.git --branch ${{ github.ref }} ${{ github.workspace }}/current
shell: bash
- name: Pull LFS Files
run: |
cd ${{ github.workspace }}/current && ls -lah
git lfs pull && git lfs ls-files
shell: bash
- name: Cache NPM Dependencies
id: cache-npm-dependencies
uses: actions/cache@v4
with:
path: current/project/node_modules
key: npm-dependencies-${{ hashFiles('current/project/package.json') }}
- name: Install NPM Dependencies
if: steps.cache-npm-dependencies.outputs.cache-hit != 'true'
run: |
rm -rf current/project/node_modules
npm install
shell: bash
- name: Run Tests
id: run-tests
run: |
npm run test
shell: bash
- name: Fix Instructions
if: failure() && steps.run-tests.outcome == 'failure'
run: |
echo -e "Automated tests have failed. This could point to an issue with the committed code, or an updated test that has yet to be updated. Please look into resolving these test failures. The testing suite has a GUI to aid in writing tests. You can launch this by running the following command from within the 'project' directory.\n\nnpm run test:ui\n"
echo -e "A test written today is a bug prevented tomorrow.™"
shell: bash