Skip to content

Commit

Permalink
refactor(cli): Make CLI testable/managable with swc-bump (#8045)
Browse files Browse the repository at this point in the history
**Description:**

It was hard to maintain CLI because actual logic was in `./bindings`.
  • Loading branch information
kdy1 committed Oct 2, 2023
1 parent 2bf935c commit f717cf2
Show file tree
Hide file tree
Showing 17 changed files with 234 additions and 105 deletions.
46 changes: 23 additions & 23 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
Expand Up @@ -244,12 +244,18 @@ jobs:
- crate: swc_cached
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_cli_impl
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_common
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_common
os: windows-latest
runner: windows-latest
- crate: swc_compiler_base
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_config
os: ubuntu-latest
runner: ubuntu-latest
Expand Down Expand Up @@ -590,13 +596,6 @@ jobs:
run: |
jest --version && mocha --version
- name: Cache rust artifacts
uses: Swatinem/rust-cache@v2
if: matrix.settings.crate == 'swc' || matrix.settings.crate == 'swc_plugin_runner'
with:
shared-key: cargo-test-${{ matrix.settings.crate }}
cache-on-failure: true

- name: Configure execution cache
shell: bash
run: |
Expand Down Expand Up @@ -711,14 +710,6 @@ jobs:
./scripts/cargo/patch-section.sh >> bindings/Cargo.toml
cd bindings && cargo update -p swc_core
- name: Cache
uses: actions/cache@v3
with:
path: |
~/.cargo/
**/target/
key: ${{ runner.os }}-node-api-test

- name: Set platform name
run: |
export NODE_PLATFORM_NAME=$(node -e "console.log(require('os').platform())")
Expand Down Expand Up @@ -749,14 +740,6 @@ jobs:
node-version: 14
cache: "yarn"

- name: Cache
uses: actions/cache@v3
with:
path: |
~/.cargo/
**/target/
key: ${{ runner.os }}-cargo-integration

- name: Set platform name
run: |
export NODE_PLATFORM_NAME=$(node -e "console.log(require('os').platform())")
Expand Down Expand Up @@ -833,3 +816,20 @@ jobs:
- name: (swcpack) example react app
run: |
(cd crates/swc_node_bundler/tests/integration/react && yarn && npx spack)
done:
needs:
- cargo-fmt
- cargo-clippy
- cargo-deny
- cargo-check
- test-wasm
- cargo-test
- node-test
- integration-test
if: always()
runs-on: ubuntu-latest
name: Done
steps:
- run: exit 1
if: ${{ always() && (contains(needs.*.result, 'failure') || contains(needs.*.result, 'skipped') || contains(needs.*.result, 'cancelled')) }}
123 changes: 108 additions & 15 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
[workspace]
members = [
"crates/swc_core",
"crates/swc_cli_impl",
"crates/dbg-swc",
"crates/jsdoc",
"crates/binding_macros",
Expand Down

1 comment on commit f717cf2

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Benchmark

Benchmark suite Current: f717cf2 Previous: 96a7a4d Ratio
es/full/bugs-1 277700 ns/iter (± 26995) 278077 ns/iter (± 3860) 1.00
es/full/minify/libraries/antd 1296931646 ns/iter (± 8457837) 1308459645 ns/iter (± 19673792) 0.99
es/full/minify/libraries/d3 275029976 ns/iter (± 7061922) 275911923 ns/iter (± 4551380) 1.00
es/full/minify/libraries/echarts 1052617424 ns/iter (± 11323377) 1047573589 ns/iter (± 3575543) 1.00
es/full/minify/libraries/jquery 83813640 ns/iter (± 132058) 84056679 ns/iter (± 171108) 1.00
es/full/minify/libraries/lodash 96871030 ns/iter (± 273483) 97710483 ns/iter (± 210410) 0.99
es/full/minify/libraries/moment 49734858 ns/iter (± 179312) 49830144 ns/iter (± 83411) 1.00
es/full/minify/libraries/react 17918412 ns/iter (± 68088) 18017170 ns/iter (± 116945) 0.99
es/full/minify/libraries/terser 215583178 ns/iter (± 1707353) 216936122 ns/iter (± 542979) 0.99
es/full/minify/libraries/three 384143758 ns/iter (± 5259211) 386335835 ns/iter (± 3775306) 0.99
es/full/minify/libraries/typescript 2631939666 ns/iter (± 14979883) 2639333862 ns/iter (± 15054578) 1.00
es/full/minify/libraries/victory 559882757 ns/iter (± 3650006) 563374490 ns/iter (± 8212793) 0.99
es/full/minify/libraries/vue 119013314 ns/iter (± 150541) 119309833 ns/iter (± 506668) 1.00
es/full/codegen/es3 34181 ns/iter (± 53) 35604 ns/iter (± 205) 0.96
es/full/codegen/es5 34176 ns/iter (± 82) 35326 ns/iter (± 208) 0.97
es/full/codegen/es2015 34180 ns/iter (± 109) 35281 ns/iter (± 268) 0.97
es/full/codegen/es2016 34106 ns/iter (± 84) 35609 ns/iter (± 119) 0.96
es/full/codegen/es2017 34080 ns/iter (± 87) 35593 ns/iter (± 185) 0.96
es/full/codegen/es2018 34040 ns/iter (± 83) 35682 ns/iter (± 122) 0.95
es/full/codegen/es2019 34174 ns/iter (± 89) 35728 ns/iter (± 100) 0.96
es/full/codegen/es2020 34159 ns/iter (± 81) 35680 ns/iter (± 114) 0.96
es/full/all/es3 165479614 ns/iter (± 755581) 164928629 ns/iter (± 1259944) 1.00
es/full/all/es5 157931122 ns/iter (± 1037684) 158091998 ns/iter (± 1798692) 1.00
es/full/all/es2015 117551894 ns/iter (± 3157855) 117084226 ns/iter (± 348183) 1.00
es/full/all/es2016 116296416 ns/iter (± 698565) 116054688 ns/iter (± 611124) 1.00
es/full/all/es2017 116068245 ns/iter (± 514407) 116259348 ns/iter (± 533786) 1.00
es/full/all/es2018 114383554 ns/iter (± 1711770) 114547230 ns/iter (± 750095) 1.00
es/full/all/es2019 113537218 ns/iter (± 824325) 112874685 ns/iter (± 643492) 1.01
es/full/all/es2020 109234215 ns/iter (± 705824) 108706564 ns/iter (± 759271) 1.00
es/full/parser 499748 ns/iter (± 4928) 493901 ns/iter (± 4562) 1.01
es/full/base/fixer 21043 ns/iter (± 314) 18228 ns/iter (± 545) 1.15
es/full/base/resolver_and_hygiene 81865 ns/iter (± 136) 81240 ns/iter (± 143) 1.01

This comment was automatically generated by workflow using github-action-benchmark.

Please sign in to comment.