2024-04-10 21:25:41 +02:00
name : Run Tests
on :
push :
branches : '*'
pull_request :
branches : '*'
jobs :
2024-04-11 00:42:58 +02:00
vitest :
2024-04-10 21:25:41 +02:00
runs-on : ubuntu-latest
container :
2024-04-10 22:07:30 +02:00
image : refringe/spt-build-node:1.0.7
2024-04-10 21:25:41 +02:00
steps :
2024-04-10 22:30:11 +02:00
- name : Clone
run : |
rm -rf /workspace/SPT-AKI/Build/server
2024-04-10 22:46:05 +02:00
git clone https://dev.sp-tarkov.com/SPT-AKI/Server.git --branch master /workspace/SPT-AKI/Build/server
2024-04-10 22:30:11 +02:00
cd /workspace/SPT-AKI/Build/server
2024-04-10 22:46:05 +02:00
git checkout ${GITHUB_SHA}
2024-04-10 22:30:11 +02:00
shell : bash
- name : Pull LFS Files
run : |
cd /workspace/SPT-AKI/Build/server
git lfs pull
2024-04-10 22:48:45 +02:00
git lfs ls-files
2024-04-10 22:30:11 +02:00
shell : bash
2024-04-11 00:42:58 +02:00
- name : Cache NPM Dependencies
id : cache-npm-dependencies
uses : actions/cache@v4
with :
path : /workspace/SPT-AKI/Build/server/project/node_modules
key : npm-dependencies-${{ hashFiles('/workspace/SPT-AKI/Build/server/project/package.json') }}
2024-04-10 22:30:11 +02:00
- name : Install NPM Dependencies
2024-04-11 00:42:58 +02:00
if : steps.cache-npm-dependencies.outputs.cache-hit != 'true'
2024-04-10 22:30:11 +02:00
run : |
2024-04-10 22:48:45 +02:00
cd /workspace/SPT-AKI/Build/server/project
2024-04-11 00:42:58 +02:00
rm -rf node_modules
2024-04-10 22:30:11 +02:00
npm install
shell : bash
2024-04-10 21:25:41 +02:00
- name : Run Tests
2024-04-11 01:29:20 +02:00
id : run-tests
2024-04-10 22:30:11 +02:00
run : |
2024-04-10 22:48:45 +02:00
cd /workspace/SPT-AKI/Build/server/project
2024-04-10 22:30:11 +02:00
npm run test
shell : bash
2024-04-11 01:29:20 +02:00
- name : Fix Instructions
if : failure() && steps.run-tests.outcome == 'failure'
run : |
echo "Automated tests have failed. This could point to an issue with the commited code, or an updated test that has yet to be updated. Please look into resolving these test failures.\n\n"
echo "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`npm run test:ui`\n\n"
echo "A test written today is a bug prevented tomorrow.™"
shell : bash