name: 📷 UI on: pull_request: types: [opened, synchronize, reopened] push: branches: - master # Cancel prev CI if new commit come concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} cancel-in-progress: true jobs: test: runs-on: ubuntu-latest steps: - name: checkout uses: actions/checkout@v3 - name: cache package-lock.json uses: actions/cache@v3 with: path: package-temp-dir key: lock-${{ github.sha }} - uses: actions/setup-node@v3 with: node-version: '16' - name: create package-lock.json run: npm i --package-lock-only --ignore-scripts - name: hack for single file run: | if [ ! -d "package-temp-dir" ]; then mkdir package-temp-dir fi cp package-lock.json package-temp-dir - name: cache node_modules id: node_modules_cache_id uses: actions/cache@v3 with: path: node_modules key: node_modules-${{ hashFiles('**/package-temp-dir/package-lock.json') }} - name: install if: steps.node_modules_cache_id.outputs.cache-hit != 'true' run: npm ci - name: test run: npm run test-image - name: upload snapshots artifact uses: actions/upload-artifact@v3 with: name: snapshots path: imageSnapshots/ retention-days: 3 - name: Save commit if: github.event_name == 'pull_request' && github.base_ref == 'master' run: echo ${{ github.event.pull_request.head.sha }} > ./commit.txt - name: Save commit if: github.event_name == 'push' run: echo ${{ github.sha }} > ./commit.txt - name: Upload commit if: ${{ always() }} uses: actions/upload-artifact@v3 with: name: commit path: ./commit.txt - name: Save branch if: github.event_name == 'pull_request' && github.base_ref == 'master' run: echo pull/${{ github.event.pull_request.number }}/merge > ./branch.txt - name: Save branch if: github.event_name == 'push' run: echo ${GITHUB_REF##*/} > ./branch.txt - name: Upload branch if: ${{ always() }} uses: actions/upload-artifact@v3 with: name: branch path: ./branch.txt