build:
runs-on: ${{ matrix.os }}
+ outputs:
+ coveralls: ${{ steps.changes.outputs.src }}
+
strategy:
matrix:
os: [ubuntu-latest, windows-latest]
- uses: actions/checkout@v2
- name: Use Node.js
uses: actions/setup-node@v1
+ - uses: dorny/paths-filter@v2
+ id: changes
+ with:
+ filters: |
+ src:
+ - 'src/**'
+ docs:
+ - 'docs/**'
+ - name: Install
+ run: npm ci
- name: Build and Test
+ if: steps.changes.outputs.src == 'true'
run: |
- npm ci
npm run build
if [ "${{ runner.os }}" == "Windows" ]; then
npm test
xvfb-run --auto-servernum npm test
fi
shell: bash
+ - name: Lint
+ if: steps.changes.outputs.src != 'true'
+ run: npm run lint
- name: Package
+ if: steps.changes.outputs.docs == 'true'
run: |
npm run docs
npm run typedoc
npm pack
- name: Coveralls Parallel - Chrome
+ if: steps.changes.outputs.src == 'true'
uses: coverallsapp/github-action@master
with:
github-token: ${{ secrets.github_token }}
flag-name: ${{ matrix.os }}-chrome
parallel: true
- name: Coveralls Parallel - Firefox
+ if: steps.changes.outputs.src == 'true'
uses: coverallsapp/github-action@master
with:
github-token: ${{ secrets.github_token }}
runs-on: ubuntu-latest
steps:
- name: Coveralls Finished
+ if: needs.build.outputs.coveralls == 'true'
uses: coverallsapp/github-action@master
with:
github-token: ${{ secrets.github_token }}