Skip to content

Update GitHub Actions #19

Update GitHub Actions

Update GitHub Actions #19

Workflow file for this run

name: CI Fast (test)
on:
push:
branches:
- main
pull_request:
jobs:
test-core:
runs-on: self-hosted
steps:
- uses: actions/checkout@v3
- name: Set up Rust
uses: moonrepo/setup-rust@v1
with:
components: clippy
cache: false
channel: 'nightly'
- name: Build Rust
env:
RUSTFLAGS: -Cinstrument-coverage
run: |
cd quadratic-core
cargo build
- name: Test
env:
LLVM_PROFILE_FILE: grcov-%p-%m.profraw
RUSTFLAGS: -Cinstrument-coverage
run: |
cd quadratic-core
cargo test
- name: Generate coverage
run: |
grcov $(find . -name "grcov-*.profraw" -print) \
--branch \
--ignore-not-existing \
--binary-path ./quadratic-core/target/debug/ \
-s . \
-t lcov \
--ignore "/*" \
--ignore "./quadratic-core/src/wasm_bindings/*" \
--ignore "./quadratic-core/src/bin/*" \
-o lcov.info
- name: Upload coverage reports to Codecov
uses: codecov/codecov-action@v3
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
test-client-unit:
runs-on: self-hosted
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v4
with:
node-version: 18
- name: Run npm test:ci in quadratic-client
run: |
cd quadratic-client
npm install
npm run test:unit
test-client-python:
runs-on: self-hosted
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v4
with:
node-version: 18
- uses: actions/setup-python@v4
with:
python-version: '3.9'
cache: 'pip'
- name: Test python
run: |
pip install -r requirements.txt
cd quadratic-client
npm run test:python
test-api-unit:
runs-on: self-hosted
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v4
with:
node-version: 18
- name: Run npm test:ci in quadratic-client
run: |
cd quadratic-api
npm install
npm run docker:test:ci
lint-rust:
runs-on: self-hosted
steps:
- uses: actions/checkout@v3
- name: Set up Rust
uses: moonrepo/setup-rust@v1
with:
components: clippy
cache: false
- name: Run cargo clippy in quadratic-core
run: |
cd quadratic-core
cargo clippy -- -D warnings
lint-client:
runs-on: self-hosted
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v4
with:
node-version: 18
- name: Set up Rust
uses: moonrepo/setup-rust@v1
with:
cache: false
- uses: jetli/[email protected]
with:
version: 'latest'
- name: Build wasm core
run: |
cd quadratic-client
npm run build:wasm:javascript
npm run build:wasm:types
- name: Lint quadratic-client
run: |
cd quadratic-client
npm install
npm run lint:prettier
npm run lint:eslint
npm run lint:ts