1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- on: [push, pull_request]
- name: Build, Test and maybe Publish
- jobs:
- test:
- name: Build & Test
- runs-on: ubuntu-latest
- strategy:
- matrix:
- node-version: [12.x, 14.x]
- steps:
- - uses: actions/checkout@v2
- - name: Use Node.js ${{ matrix.node-version }}
- uses: actions/setup-node@v1
- with:
- node-version: ${{ matrix.node-version }}
- - name: Cache node_modules
- id: cache-modules
- uses: actions/cache@v1
- with:
- path: node_modules
- key: ${{ matrix.node-version }}-${{ runner.OS }}-build-${{ hashFiles('package.json') }}
- - name: Build
- if: steps.cache-modules.outputs.cache-hit != 'true'
- run: npm install
- - name: Test
- run: npm_config_yes=true npx best-test@latest
- publish:
- name: Publish
- needs: test
- runs-on: ubuntu-latest
- if: github.event_name == 'push' && ( github.ref == 'refs/heads/master' || github.ref == 'refs/heads/main' )
- steps:
- - uses: actions/checkout@v2
- - name: Cache node_modules
- id: cache-modules
- uses: actions/cache@v1
- with:
- path: node_modules
- key: 12.x-${{ runner.OS }}-build-${{ hashFiles('package.json') }}
- - name: Build
- if: steps.cache-modules.outputs.cache-hit != 'true'
- run: npm install
- - name: Test
- run: npm_config_yes=true npx best-test@latest
- - name: Publish
- uses: mikeal/merge-release@master
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- NPM_AUTH_TOKEN: ${{ secrets.NPM_AUTH_TOKEN }}
|