swc/.github/workflows/cargo.yml
강동윤 eaeffabf74
fix(es): Improve performance (#1411)
swc_ecma_ast:
 - Add `BindingIdent`.
 - Reduce size of `Ident`.
2021-02-19 15:34:22 +09:00

123 lines
3.0 KiB
YAML

name: Cargo
on: [push, pull_request]
#on:
# push:
# # Ignore commits created by bors
# branches-ignore:
# - 'staging'
# - 'trying'
# pull_request:
# branches-ignore:
# - 'staging'
# - 'trying'
env:
CARGO_INCREMENTAL: 0
jobs:
fmt:
name: fmt
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Install rustfmt
run: rustup component add rustfmt
- name: Run cargo fmt
run: cargo fmt --all -- --check
check-all:
name: Compilability
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
# Ensure that all components all compilable.
- name: Run cargo check for all targets
run: cargo check --color always --all --all-targets
test:
name: test
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
crate:
- ast_node
- enum_kind
- from_variant
- jsdoc
- spack
- string_enum
- swc
- swc_atoms
- swc_bundler
- swc_common
- swc_ecma_ast
- swc_ecma_codegen
- swc_ecma_codegen_macros
- swc_ecma_dep_graph
- swc_ecma_ext_transforms
- swc_ecma_parser
- swc_ecma_preset_env
- swc_ecma_transforms
- swc_ecma_transforms_base
- swc_ecma_transforms_compat
- swc_ecma_transforms_macros
- swc_ecma_transforms_module
- swc_ecma_transforms_optimization
- swc_ecma_transforms_proposal
- swc_ecma_transforms_react
- swc_ecma_transforms_testing
- swc_ecma_transforms_typescript
- swc_ecma_utils
- swc_ecma_visit
- swc_ecmascript
- swc_eq_ignore_macros
- swc_macros_common
- swc_visit
- swc_visit_macros
- testing
- testing_macros
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
node-version: 14
- name: Checkout submodules
shell: bash
run: |
auth_header="$(git config --local --get http.https://github.com/.extraheader)"
git submodule sync --recursive
git -c "http.extraheader=$auth_header" -c protocol.version=2 submodule update --init --force --recursive --depth=1
- name: Install node dependencies
run: |
npm config set prefix ~/npm
npm i browserslist regenerator-runtime sourcemap-validator progress
npm i -g jest
- name: Cache
uses: actions/cache@v2
with:
path: |
~/.cargo/
key: ${{ runner.os }}-cargo-test-${{ matrix.crate }}
- name: Run cargo test
run: |
export PATH="$PATH:$HOME/npm/bin"
cargo test --color always -p ${{ matrix.crate }}
#
deploy-docs:
runs-on: ubuntu-latest
if: github.ref == 'refs/heads/master'
needs:
- test
steps:
- uses: actions/checkout@v2
- name: Create rustdoc
run: cargo doc