mirror of
https://github.com/chanzuckerberg/cellxgene.git
synced 2026-09-15 20:57:56 +08:00
* add lint-client and lint-diff-client targets * add lint-diff and lint targets * prettier * add lint-diff call to lint task * temp * tweak lint-diff * add lint for PRs and lint for master * remove temp * remove incorrect branches syntax, use github_ref * pull all branches * format * proper target and comment * create separate steps with conditionals * fix indentation * refactor lint->lint-server, introduce lint to lint all * trade diff-index for diff, do check against base instead of master * remove fetching all branches * Revert "remove fetching all branches" This reverts commit26ce7a0f05. * tweak comparison * use local eslint * add eslint dep install * temp * grab only base * simplify fetch * add pull_request type trigger * specify pushes only to master * change conditionals to be based on event name * Revert "temp" This reverts commit3d59134cc0. * "branch" => "branches" * create separate installation step * change command based on os
136 lines
4.3 KiB
YAML
136 lines
4.3 KiB
YAML
name: Push Tests
|
|
|
|
on:
|
|
push:
|
|
branches: master
|
|
pull_request:
|
|
|
|
env:
|
|
JEST_ENV: prod
|
|
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
|
|
|
|
jobs:
|
|
lint:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- run: |
|
|
git fetch --depth=1 origin +${{github.base_ref}}
|
|
- name: Set up Python 3.7
|
|
uses: actions/setup-python@v1
|
|
with:
|
|
python-version: 3.7
|
|
- name: Node cache
|
|
uses: actions/cache@v1
|
|
with:
|
|
path: ~/.npm
|
|
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
|
|
restore-keys: |
|
|
${{ runner.os }}-node-
|
|
- name: Install dependencies
|
|
run: |
|
|
pip install flake8
|
|
cd client
|
|
npm i "eslint" "eslint-config-airbnb" "eslint-config-prettier" "eslint-loader" "eslint-plugin-filenames" "eslint-plugin-import" "eslint-plugin-jest" "eslint-plugin-jsx-a11y" "eslint-plugin-react" "eslint-plugin-react-hooks"
|
|
- name: Lint with flake8
|
|
run: |
|
|
make lint-server
|
|
- name: Lint all with eslint
|
|
working-directory: ./client
|
|
if: github.event_name != 'pull_request'
|
|
run: |
|
|
make lint
|
|
- name: Lint diff with eslint
|
|
working-directory: ./client
|
|
if: github.event_name == 'pull_request'
|
|
run: |
|
|
make lint-diff
|
|
|
|
unit-test:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Set up Python 3.7
|
|
uses: actions/setup-python@v1
|
|
with:
|
|
python-version: 3.7
|
|
- name: Python cache
|
|
uses: actions/cache@v1
|
|
with:
|
|
path: ~/.cache/pip
|
|
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements*.txt') }}
|
|
restore-keys: |
|
|
${{ runner.os }}-pip-
|
|
- name: Node cache
|
|
uses: actions/cache@v1
|
|
with:
|
|
path: ~/.npm
|
|
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
|
|
restore-keys: |
|
|
${{ runner.os }}-node-
|
|
- name: Install dependencies
|
|
run: make pydist install-dist dev-env-server
|
|
- name: Unit tests
|
|
run: |
|
|
make unit-test
|
|
bash <(curl -s https://codecov.io/bash) -y .codecov.yml -k server -cF backend,python,unitTest
|
|
cd client && ./node_modules/codecov/bin/codecov --yml=../.codecov.yml --root=../ --gcov-root=../ -C -F frontend,javascript,unitTest
|
|
|
|
smoke-tests:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Set up Python 3.7
|
|
uses: actions/setup-python@v1
|
|
with:
|
|
python-version: 3.7
|
|
- name: Python cache
|
|
uses: actions/cache@v1
|
|
with:
|
|
path: ~/.cache/pip
|
|
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements*.txt') }}
|
|
restore-keys: |
|
|
${{ runner.os }}-pip-
|
|
- name: Node cache
|
|
uses: actions/cache@v1
|
|
with:
|
|
path: ~/.npm
|
|
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
|
|
restore-keys: |
|
|
${{ runner.os }}-node-
|
|
- name: Install dependencies
|
|
run: make pydist install-dist
|
|
- name: Smoke tests (without annotations feature)
|
|
run: |
|
|
cd client && make smoke-test
|
|
./node_modules/codecov/bin/codecov --yml=../.codecov.yml --root=../ --gcov-root=../ -C -F frontend,javascript,smokeTest
|
|
|
|
smoke-tests-annotations:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Set up Python 3.7
|
|
uses: actions/setup-python@v1
|
|
with:
|
|
python-version: 3.7
|
|
- name: Python cache
|
|
uses: actions/cache@v1
|
|
with:
|
|
path: ~/.cache/pip
|
|
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements*.txt') }}
|
|
restore-keys: |
|
|
${{ runner.os }}-pip-
|
|
- name: Node cache
|
|
uses: actions/cache@v1
|
|
with:
|
|
path: ~/.npm
|
|
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
|
|
restore-keys: |
|
|
${{ runner.os }}-node-
|
|
- name: Install dependencies
|
|
run: make pydist install-dist
|
|
- name: Smoke tests (with annotations feature)
|
|
run: |
|
|
cd client && make smoke-test-annotations
|
|
./node_modules/codecov/bin/codecov --yml=../.codecov.yml --root=../ --gcov-root=../ -C -F frontend,javascript,smokeTestAnnotations
|