2.1.17 #167
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build | |
on: | |
push: | |
branches: [ dev, master, hotfix/*, feature/*, release/* ] | |
jobs: | |
build: | |
name: Build | |
runs-on: ubuntu-latest | |
env: | |
RUNNER: github | |
NODE_ENV: dev | |
steps: | |
- name: Github checkout | |
uses: actions/checkout@v4 | |
- name: Setup node.js environment | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '20.18.0' | |
- name: Cache node_modules | |
uses: actions/cache@v4 | |
with: | |
path: node_modules | |
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} | |
restore-keys: | | |
${{ runner.os }}-node- | |
- name: Install Node.js dependencies | |
run: npm ci | |
- name: Build local project | |
run: npm run build | |
continue-on-error: true | |
- name: Lint | |
run: npm run lint:js | |
- name: Upload artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: build-files | |
path: | | |
. | |
retention-days: 3 | |
unit-tests: | |
name: Unit tests | |
runs-on: ubuntu-latest | |
needs: [ build ] | |
env: | |
RUNNER: github | |
NODE_ENV: dev | |
steps: | |
- name: Download build artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: build-files | |
path: ./ | |
- name: Setup node.js environment | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '20.18.0' | |
- name: Restore cache for node_modules | |
uses: actions/cache@v4 | |
with: | |
path: node_modules | |
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} | |
restore-keys: | | |
${{ runner.os }}-node- | |
- name: Install Node.js dependencies | |
run: npm ci | |
- name: Run unit tests | |
run: npm run ci:test | |
env: | |
CI: true | |
- name: Publish to coveralls.io | |
uses: coverallsapp/github-action@v2 | |
with: | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
path-to-lcov: ./build/code-coverage/lcov.info | |
e2e-tests: | |
name: E2E tests | |
runs-on: ubuntu-latest | |
needs: [ build ] | |
env: | |
RUNNER: github | |
NODE_ENV: dev | |
SKIP_PACKAGE_CHECK: 1 | |
steps: | |
- name: Download build artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: build-files | |
path: ./ | |
- name: Setup node.js environment | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '20.18.0' | |
- name: Restore cache for node_modules | |
uses: actions/cache@v4 | |
with: | |
path: node_modules | |
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} | |
restore-keys: | | |
${{ runner.os }}-node- | |
- name: Install global OS dependencies | |
run: sudo apt-get install libgtk2.0-0 libgtk-3-0 libgbm-dev libnotify-dev libnss3 libxss1 libapr1t64 libasound2t64 libaprutil1t64 libxtst6 xauth xvfb | |
- name: Install Node.js dependencies | |
run: npm ci | |
- name: Run E2E tests | |
run: npm run ci:dev & npm run ci:e2e | |
env: | |
CI: true |