mirror of
https://github.com/waku-org/examples.waku.org.git
synced 2025-02-23 03:08:15 +00:00
As other examples may or not also fail, best to have full result to investigate and fix all examples at once.
65 lines
1.8 KiB
YAML
65 lines
1.8 KiB
YAML
name: CI
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- "master"
|
|
pull_request:
|
|
|
|
jobs:
|
|
examples_build_and_test:
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
example:
|
|
[
|
|
web-chat,
|
|
eth-pm,
|
|
eth-pm-wallet-encryption,
|
|
relay-reactjs-chat,
|
|
store-reactjs-chat,
|
|
relay-angular-chat,
|
|
]
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v2
|
|
|
|
- name: Install NodeJS
|
|
uses: actions/setup-node@v2
|
|
with:
|
|
node-version: "16"
|
|
|
|
- name: Check if `yarn` or `npm` is used.
|
|
id: use-yarn
|
|
shell: bash
|
|
run: echo "::set-output name=lockfile::$(ls yarn.lock 2> /dev/null)"
|
|
working-directory: ${{ matrix.example }}
|
|
|
|
- name: (npm) Cache npm cache
|
|
if: steps.use-yarn.outputs.lockfile != 'yarn.lock'
|
|
uses: actions/cache@v2
|
|
with:
|
|
path: ~/.npm
|
|
key: examples-node-v1-${{ hashFiles('**/package-lock.json') }}
|
|
|
|
- name: (npm) ${{ matrix.example }} install using npm ci
|
|
if: steps.use-yarn.outputs.lockfile != 'yarn.lock'
|
|
run: npm ci
|
|
working-directory: ${{ matrix.example }}
|
|
|
|
- name: (npm) ${{ matrix.example }} test
|
|
if: steps.use-yarn.outputs.lockfile != 'yarn.lock'
|
|
run: npm run test
|
|
working-directory: ${{ matrix.example }}
|
|
|
|
- name: (yarn) ${{ matrix.example }} install using yarn
|
|
if: steps.use-yarn.outputs.lockfile == 'yarn.lock'
|
|
run: yarn install --frozen-lockfile
|
|
working-directory: ${{ matrix.example }}
|
|
|
|
- name: (yarn) ${{ matrix.example }} test
|
|
if: steps.use-yarn.outputs.lockfile == 'yarn.lock'
|
|
run: echo "test skipped" # yarn test; tracked with https://github.com/status-im/js-waku/issues/563
|
|
working-directory: ${{ matrix.example }}
|