This repository has been archived by the owner on Sep 27, 2024. It is now read-only.
Update Web #2819
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
# This workflow will do a clean installation of node dependencies, cache/restore them, build the source code and run tests across different versions of node | |
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions | |
name: React build | |
on: | |
push: | |
branches: ["main"] | |
pull_request: | |
branches: ["main"] | |
concurrency: | |
group: ${{ github.ref == 'refs/heads/main' && format('react-build-main-{0}', github.sha) || format('react-build-pr-{0}', github.ref) }} | |
cancel-in-progress: true | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
node-version: [18.x] | |
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/ | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Rust & Cargo cache | |
uses: Swatinem/rust-cache@v2 | |
- name: Build | |
run: make web | |
- name: Use Node.js ${{ matrix.node-version }} | |
uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ matrix.node-version }} | |
cache: "yarn" | |
cache-dependency-path: platforms/web/yarn.lock | |
- name: Typescript check | |
working-directory: platforms/web | |
run: yarn tsc | |
- name: Lint check | |
working-directory: platforms/web | |
run: yarn lint | |
- name: Test (with coverage!) | |
working-directory: platforms/web | |
run: yarn coverage | |
- name: Upload coverage to Codecov | |
uses: codecov/codecov-action@v4 | |
with: | |
files: platforms/web/coverage/lcov.info | |
fail_ci_if_error: true | |
flags: unittests-react, unittests | |
# https://github.com/codecov/codecov-action/issues/557#issuecomment-1216749652 | |
token: ${{ secrets.CODECOV_TOKEN }} | |
- name: Upload Artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: coverage | |
path: | | |
platforms/web/coverage | |
!platforms/web/coverage/lcov-report | |
!platforms/web/coverage/tmp | |
- name: Browser Test | |
uses: cypress-io/github-action@v4 | |
with: | |
browser: electron | |
working-directory: platforms/web | |
start: yarn dev |