Github Actions for unit testing #1
Workflow file for this run
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
name: unit testing | |
on: | |
push: | |
pull_request: | |
jobs: | |
build-and-test: | |
runs-on: ubuntu-latest | |
steps: | |
# Checks out code from Github. | |
- name: Checkout repo | |
uses: actions/checkout@v3 | |
# Restore cache if available. | |
- name: Restore cached dependencies | |
id: dep-cache | |
uses: actions/cache@v3 | |
env: | |
cache-name: jstoxml-cache | |
with: | |
path: node_modules | |
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} | |
restore-keys: | | |
${{ runner.os }}-build-${{ env.cache-name }}- | |
${{ runner.os }}-build- | |
${{ runner.os }}- | |
# Fully install from scratch when no cache is available. | |
- name: Install dependencies from scratch (cache miss only) | |
if: steps.dep-cache.outputs.cache-hit != 'true' | |
run: npm i | |
- name: Unit tests | |
run: npm test | |
shell: bash |