91 lines
2.3 KiB
YAML
91 lines
2.3 KiB
YAML
name: on-pull-request-or-push
|
|
|
|
on:
|
|
pull_request:
|
|
push:
|
|
branches:
|
|
- development
|
|
|
|
env:
|
|
NX_BRANCH: ${{ github.event.number }}
|
|
NX_RUN_GROUP: ${{ github.run_id }}
|
|
# NX_CLOUD_AUTH_TOKEN: ${{ secrets.NX_CLOUD_AUTH_TOKEN }}
|
|
MOZ_HEALESS: 1
|
|
SAUCE_USERNAME_PR: valorkinpr
|
|
# SAUCE_ACCESS_KEY_PR: e0a97bd3-4b74-4408-89bf-cce1b44a8bf1
|
|
# FIREBASE_CHANNEL: ${{ fromJSON('["", "live"]')[!github.base_ref] }}
|
|
|
|
CACHE_NODE_MODULES_PATH: |
|
|
~/.npm
|
|
node_modules
|
|
|
|
CACHE_DIST_PATH: |
|
|
dist
|
|
|
|
jobs:
|
|
# one run
|
|
one_run:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- run: echo "🎉 The job was automatically triggered by a ${{ github.event_name }} event."
|
|
|
|
# install dependencies
|
|
install:
|
|
runs-on: ubuntu-latest
|
|
needs: one_run
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- uses: actions/cache@v2
|
|
id: cache
|
|
with:
|
|
path: ${{ env.CACHE_NODE_MODULES_PATH }}
|
|
key: node_modules-${{ hashFiles('**/package-lock.json') }}
|
|
- run: npm ci
|
|
if: steps.cache.outputs.cache-hit != 'true'
|
|
|
|
# build ngx-bootstrap
|
|
build:
|
|
needs: install
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- uses: actions/cache@v2
|
|
with:
|
|
path: ${{ env.CACHE_NODE_MODULES_PATH }}
|
|
key: node_modules-${{ hashFiles('**/package-lock.json') }}
|
|
- uses: actions/cache@v2
|
|
with:
|
|
path: ${{ env.CACHE_DIST_PATH }}
|
|
key: dist-${{ github.run_id }}
|
|
- run: npx ng build --prod
|
|
|
|
# run unit tests
|
|
unit_tests_with_coverage:
|
|
runs-on: ubuntu-latest
|
|
needs: build
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- uses: actions/cache@v2
|
|
with:
|
|
path: ${{ env.CACHE_NODE_MODULES_PATH }}
|
|
key: node_modules-${{ hashFiles('**/package-lock.json') }}
|
|
- uses: actions/cache@v2
|
|
with:
|
|
path: ${{ env.CACHE_DIST_PATH }}
|
|
key: dist-${{ github.run_id }}
|
|
- run: npm run test-coverage
|
|
- run: npx codecov ./coverage/
|
|
continue-on-error: true
|
|
|
|
# run linting
|
|
linting:
|
|
runs-on: ubuntu-latest
|
|
needs: install
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- uses: actions/cache@v2
|
|
with:
|
|
path: ${{ env.CACHE_NODE_MODULES_PATH }}
|
|
key: node_modules-${{ hashFiles('**/package-lock.json') }}
|
|
- run: npm run lint
|