Update README.md (#164) #534
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
name: Lint Code / Run Tests | |
on: | |
workflow_call: | |
workflow_dispatch: | |
push: | |
branches: | |
- "*" | |
pull_request: | |
branches: ["master"] | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.head_ref || github.sha }} | |
cancel-in-progress: true | |
env: | |
CARGO_TERM_COLOR: always | |
jobs: | |
tests: | |
name: Run Unit Tests | |
runs-on: ${{ matrix.os }} | |
continue-on-error: ${{ matrix.rust == 'nightly' }} | |
strategy: | |
matrix: | |
os: [ubuntu-latest, macos-latest, windows-latest] | |
rust: [stable, beta, nightly] | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- run: rustup toolchain install ${{ matrix.rust }} --profile minimal | |
- uses: Swatinem/rust-cache@v2 | |
- uses: actions/setup-python@v3 | |
- name: Set up Ruby on Windows | |
if: runner.os == 'Windows' | |
uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: '3.1' | |
msys2: true | |
- name: Install Ruby on Ubuntu | |
if: runner.os == 'Linux' | |
uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: '3.2' | |
- name: Setup Ruby on Ubuntu | |
if: runner.os == 'Linux' | |
run: sudo ln -s "$(which ruby)" /usr/bin/ruby3.2 | |
- name: Install pre-commit dependencies | |
run: python -m pip install pre-commit | |
- uses: pre-commit/action@v3.0.1 | |
name: Run pre-commit hooks | |
- name: Run Rust tests | |
run: cargo test | |
typescript: | |
name: TypeScript | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest, macos-latest, windows-latest] | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
if: needs.changes.outputs.typescript == 'true' | |
- name: Install Nodejs | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 18 | |
if: needs.changes.outputs.typescript == 'true' | |
- run: npm ci | |
working-directory: ./editors/code | |
if: needs.changes.outputs.typescript == 'true' | |
# If this steps fails, your code's type integrity might be wrong at some places at TypeScript level. | |
- run: npm run typecheck | |
working-directory: ./editors/code | |
if: needs.changes.outputs.typescript == 'true' | |
# You may fix the code automatically by running `npm run lint:fix` if this steps fails. | |
- run: npm run lint:check | |
working-directory: ./editors/code | |
if: needs.changes.outputs.typescript == 'true' | |
# To fix this steps, please run `npm run format`. | |
- run: npm run format:check | |
working-directory: ./editors/code | |
if: needs.changes.outputs.typescript == 'true' | |
- run: npm run package --scripts-prepend-node-path | |
working-directory: ./editors/code | |
if: needs.changes.outputs.typescript == 'true' |