chenyong
2025-05-22 03e09a08f4609cc61e64ca16129db5a3ccb85c1d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
name: unit testing
on: push
jobs:
  build-and-test:
    runs-on: ubuntu-latest
    steps:
      # Checks out code from Github.
      - name: Checkout repo
        uses: actions/checkout@v2
      # Restore cache if available.
      - name: Restore cached dependencies
        id: dep-cache
        uses: actions/cache@v2
        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