mirror of
https://github.com/AppFlowy-IO/AppFlowy-Web.git
synced 2025-11-30 19:37:55 +08:00
80 lines
2.1 KiB
YAML
80 lines
2.1 KiB
YAML
name: Web Code Coverage
|
|
|
|
on:
|
|
pull_request:
|
|
branches:
|
|
- "main"
|
|
- "develop"
|
|
- "release/*"
|
|
env:
|
|
NODE_VERSION: "20.19.0"
|
|
PNPM_VERSION: "10.9.0"
|
|
COVERAGE: "true"
|
|
CYPRESS_CACHE_FOLDER: ${{ github.workspace }}/.cypress_cache
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
|
|
cancel-in-progress: true
|
|
jobs:
|
|
test:
|
|
if: github.event.pull_request.draft != true
|
|
runs-on: ubuntu-22.04
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
# - name: Maximize build space (ubuntu only)
|
|
# run: |
|
|
# sudo rm -rf /usr/share/dotnet
|
|
# sudo rm -rf /opt/ghc
|
|
# sudo rm -rf "/usr/local/share/boost"
|
|
# sudo rm -rf "$AGENT_TOOLSDIRECTORY"
|
|
# sudo docker image prune --all --force
|
|
# sudo rm -rf /opt/hostedtoolcache/codeQL
|
|
# sudo rm -rf ${GITHUB_WORKSPACE}/.git
|
|
# sudo rm -rf $ANDROID_HOME/ndk
|
|
|
|
- name: setup node
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
node-version: ${{ env.NODE_VERSION }}
|
|
|
|
- name: setup pnpm
|
|
uses: pnpm/action-setup@v3
|
|
with:
|
|
version: ${{ env.PNPM_VERSION }}
|
|
|
|
# Install pnpm dependencies, cache them correctly
|
|
- name: Install dependencies
|
|
run: pnpm install
|
|
|
|
- name: Install Cypress
|
|
run: npx cypress install
|
|
|
|
# and run all Cypress tests
|
|
- name: Cypress run
|
|
uses: cypress-io/github-action@v6
|
|
with:
|
|
component: true
|
|
build: pnpm run build
|
|
browser: chrome
|
|
# cache-key: ${{ runner.os }}-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }}
|
|
# install-command: pnpm add --save-dev cypress
|
|
env:
|
|
COVERAGE: "true"
|
|
|
|
- name: Jest run
|
|
run: |
|
|
pnpm run test:unit
|
|
env:
|
|
COVERAGE: "true"
|
|
|
|
- name: Upload coverage to Codecov
|
|
uses: codecov/codecov-action@v4
|
|
with:
|
|
token: cf9245e0-e136-4e21-b0ee-35755fa0c493
|
|
files: coverage/jest/lcov.info, coverage/cypress/lcov.info
|
|
flags: appflowy_web
|
|
name: codecov-umbrella
|
|
fail_ci_if_error: true
|
|
verbose: true
|
|
|