Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use fromJSON for matrix test in CI.yml #9066

Open
kdy1 opened this issue Jun 17, 2024 · 0 comments
Open

Use fromJSON for matrix test in CI.yml #9066

kdy1 opened this issue Jun 17, 2024 · 0 comments
Milestone

Comments

@kdy1
Copy link
Member

kdy1 commented Jun 17, 2024

Currently we are using inline matrix in CI.yml.

# Use scripts/github/create-matrix.sh to create this.
- crate: ast_node
os: ubuntu-latest
runner: ubuntu-latest
- crate: better_scoped_tls
os: ubuntu-latest
runner: ubuntu-latest
- crate: binding_macros
os: ubuntu-latest
runner: ubuntu-latest
- crate: dbg-swc
os: ubuntu-latest
runner: ubuntu-latest
- crate: from_variant
os: ubuntu-latest
runner: ubuntu-latest
- crate: jsdoc
os: ubuntu-latest
runner: ubuntu-latest
- crate: preset_env_base
os: ubuntu-latest
runner: ubuntu-latest
- crate: string_enum
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc
os: windows-latest
runner: windows-latest
- crate: swc_atoms
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_bundler
os: ubuntu-latest
runner: ubuntu-latest
- 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
- crate: swc_config_macro
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_core
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_css
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_css_ast
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_css_codegen
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_css_codegen
os: windows-latest
runner: windows-latest
- crate: swc_css_codegen_macros
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_css_compat
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_css_lints
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_css_minifier
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_css_modules
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_css_parser
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_css_parser
os: windows-latest
runner: windows-latest
- crate: swc_css_prefixer
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_css_utils
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_css_visit
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_ecma_ast
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_ecma_codegen
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_ecma_codegen
os: windows-latest
runner: windows-latest
- crate: swc_ecma_codegen_macros
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_ecma_compat_bugfixes
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_ecma_compat_common
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_ecma_compat_es2015
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_ecma_compat_es2016
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_ecma_compat_es2017
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_ecma_compat_es2018
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_ecma_compat_es2019
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_ecma_compat_es2020
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_ecma_compat_es2021
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_ecma_compat_es2022
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_ecma_compat_es3
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_ecma_ext_transforms
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_ecma_lints
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_ecma_loader
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_ecma_loader
os: windows-latest
runner: windows-latest
- crate: swc_ecma_minifier
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_ecma_parser
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_ecma_parser
os: windows-latest
runner: windows-latest
- crate: swc_ecma_preset_env
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_ecma_preset_env
os: windows-latest
runner: windows-latest
- crate: swc_ecma_quote
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_ecma_quote_macros
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_ecma_testing
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_ecma_transforms
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_ecma_transforms_base
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_ecma_transforms_classes
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_ecma_transforms_compat
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_ecma_transforms_macros
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_ecma_transforms_module
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_ecma_transforms_module
os: windows-latest
runner: windows-latest
- crate: swc_ecma_transforms_optimization
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_ecma_transforms_proposal
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_ecma_transforms_react
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_ecma_transforms_testing
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_ecma_transforms_testing
os: windows-latest
runner: windows-latest
- crate: swc_ecma_transforms_typescript
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_ecma_usage_analyzer
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_ecma_utils
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_ecma_visit
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_ecmascript
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_eq_ignore_macros
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_error_reporters
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_estree_ast
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_estree_compat
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_fast_graph
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_graph_analyzer
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_html
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_html_ast
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_html_codegen
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_html_codegen
os: windows-latest
runner: windows-latest
- crate: swc_html_codegen_macros
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_html_minifier
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_html_parser
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_html_parser
os: windows-latest
runner: windows-latest
- crate: swc_html_utils
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_html_visit
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_macros_common
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_malloc
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_node_bundler
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_node_bundler
os: windows-latest
runner: windows-latest
- crate: swc_node_comments
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_nodejs_common
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_plugin
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_plugin
os: windows-latest
runner: windows-latest
- crate: swc_plugin_macro
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_plugin_proxy
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_plugin_runner
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_plugin_runner
os: macos-latest
runner: macos-latest
- crate: swc_plugin_runner
os: windows-latest
runner: windows-latest
- crate: swc_plugin_testing
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_plugin_testing
os: windows-latest
runner: windows-latest
- crate: swc_timer
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_trace_macro
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_transform_common
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_visit
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_visit_macros
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_x_optimizer
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_xml
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_xml_ast
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_xml_codegen
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_xml_codegen_macros
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_xml_parser
os: ubuntu-latest
runner: ubuntu-latest
- crate: swc_xml_visit
os: ubuntu-latest
runner: ubuntu-latest
- crate: testing
os: ubuntu-latest
runner: ubuntu-latest
- crate: testing_macros
os: ubuntu-latest
runner: ubuntu-latest
- crate: xtask
os: ubuntu-latest
runner: ubuntu-latest

But this is hard to maintain, and now there's a better way. I used this better way for swc-ecosystem-ci action.

strategy:
fail-fast: false
matrix:
suite: ${{ fromJSON(needs.list-tests.outputs.suites) }}

We can do the same for CI.yml. The new script should use tests.yml.

os:
windows:
- swc
- swc_cli
- swc_common
- swc_css_codegen
- swc_css_parser
- swc_ecma_codegen
- swc_ecma_loader
- swc_ecma_parser
- swc_ecma_preset_env
- swc_ecma_transforms_module
- swc_ecma_transforms_testing
- swc_html_codegen
- swc_html_parser
- swc_node_bundler
- swc_plugin
- swc_plugin_runner
- swc_plugin_testing
macos:
- swc_plugin_runner
# host:
# swc: ubuntu-large
check:
swc:
# plugin feature is verified by other tasks
- "cargo hack check --feature-powerset --no-dev-deps --exclude-features debug --exclude-features plugin --exclude-features plugin_transform_schema_v1 --exclude-features plugin_transform_schema_vtest --exclude-features plugin_transform_host_js"
swc_bundler:
- "cargo hack check --feature-powerset --no-dev-deps"
swc_common:
- "cargo hack check --feature-powerset --no-dev-deps --exclude-features plugin_transform_schema_vtest --exclude-features __plugin --exclude-features __plugin_mode --exclude-features __plugin_rt --exclude-features __rkyv --exclude-features rkyv-impl"
swc_ecma_ast:
- "cargo hack check --feature-powerset --no-dev-deps --exclude-features __rkyv"
swc_ecma_loader:
- "cargo hack check --feature-powerset --no-dev-deps"
swc_ecma_transforms:
- "cargo hack check --feature-powerset --no-dev-deps"
swc_ecma_transforms_base:
- "cargo hack check --feature-powerset --no-dev-deps"
swc_ecma_transforms_compat:
- "cargo hack check --feature-powerset --no-dev-deps"
swc_ecma_transforms_optimization:
- "cargo hack check --feature-powerset --no-dev-deps"
swc_ecma_utils:
- "cargo hack check --feature-powerset --no-dev-deps"
swc_ecma_visit:
- "cargo hack check --feature-powerset --no-dev-deps"
swc_cli:
- "cargo check"
- "cargo check --features plugin"
swc_node_bundler:
- "cargo check"
- "cargo check --no-default-features --features swc_v2"

It's a small manifest file for additional tests.

@kdy1 kdy1 changed the title Use fromJson for matrix test in CI.yml Use fromJSON for matrix test in CI.yml Jun 17, 2024
@kdy1 kdy1 added this to the Planned milestone Jun 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

No branches or pull requests

1 participant