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

[pull] main from ruby:main #2

Open
wants to merge 915 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
915 commits
Select commit Hold shift click to select a range
bb0127c
Fix tests for Node.js 20 and later
kateinoigakukun Apr 29, 2024
a9fb5e2
Apply wasi-vfs for Componentized version too
kateinoigakukun Apr 29, 2024
15aa274
Initialize wasi-vfs runtime at initialization time
kateinoigakukun Apr 29, 2024
919e8c7
Remove `RUBY_BUILD_ROOT`
kateinoigakukun Apr 29, 2024
e3d8ace
Integrate component tests into the main test script
kateinoigakukun Apr 29, 2024
650eb3e
Merge pull request #441 from ruby/katei/component-test
kateinoigakukun Apr 29, 2024
cbde0a1
Catch exceptions thrown during `rbVmBugreport`
kateinoigakukun Apr 29, 2024
88eef76
Don't include Component-format Ruby in npm packages
kateinoigakukun Apr 29, 2024
3c1bb02
Matches the return value of a JavaScript method whose name ends in ? …
ledsun Apr 30, 2024
094c18a
Bump rollup from 4.13.2 to 4.17.2
dependabot[bot] May 1, 2024
2f77d6e
Bump @playwright/test from 1.42.1 to 1.43.1
dependabot[bot] May 1, 2024
598b8f8
Bump vitest from 1.5.2 to 1.5.3
dependabot[bot] May 1, 2024
9f2feaf
Merge pull request #445 from ruby/dependabot/npm_and_yarn/playwright/…
kateinoigakukun May 1, 2024
4c9ae05
Merge pull request #444 from ruby/dependabot/npm_and_yarn/rollup-4.17.2
kateinoigakukun May 1, 2024
c480dec
Merge pull request #446 from ruby/dependabot/npm_and_yarn/vitest-1.5.3
kateinoigakukun May 1, 2024
ea828a7
Bump version to 2.5.2
kateinoigakukun May 4, 2024
2008223
doc: Update release workflow
kateinoigakukun May 4, 2024
94ce022
Merge pull request #443 from ledsun/question_method_judgement_condition
kateinoigakukun May 4, 2024
23f3d4b
Skip building the native extension except for wasm platforms
kateinoigakukun May 1, 2024
03c72b4
Specify CXX when building crossruby
kateinoigakukun May 4, 2024
dde5b52
Merge pull request #448 from ruby/pr-c9002472d4626320c60d71409ae7b77b…
kateinoigakukun May 4, 2024
9fda893
Merge pull request #449 from ruby/pr-acf8683dede39ad90db26650c07f4b9e…
kateinoigakukun May 4, 2024
148b81c
Follow-up to 03c72b46c7205d1fafb1f327d9fa9c19e1de9ec9 for Emscripten
kateinoigakukun May 4, 2024
fbebb9d
Compile bindgen/ext.c with cflags
kateinoigakukun Apr 29, 2024
5d6aff2
Skip wasi-vfs initialization for PIC build by default
kateinoigakukun Apr 29, 2024
0d9b427
Link the component type object to the shared library
kateinoigakukun Apr 29, 2024
3cd8627
Merge pull request #450 from ruby/pr-2fcb4e784ebc17ba2ab007511987950b…
kateinoigakukun May 5, 2024
096ee8e
Bump version to 2.6.0
kateinoigakukun May 5, 2024
e8d167f
Error tolerance for loading /bundle/setup just for convenience
kateinoigakukun Apr 30, 2024
2538588
Configure the stack trace limit at very beginning of the test runner
kateinoigakukun Apr 30, 2024
e997c75
Merge pull request #451 from ruby/pr-56746a392e801c4c348ef31caa189ff3…
kateinoigakukun May 6, 2024
b2bf55a
Merge pull request #452 from ruby/pr-1f808c57221901544d40d2b9a6c9e6ea…
kateinoigakukun May 6, 2024
afccbef
Disable wasi-vfs for dynamic linking targets
kateinoigakukun Apr 29, 2024
3ed0131
Add an escape hatch for the linker validation
kateinoigakukun Apr 29, 2024
efc25a6
Install gem extension libraries in the GEM_HOME
kateinoigakukun Apr 30, 2024
756e890
Fix `jco transpile` to make it work with wasi-virt
kateinoigakukun Apr 30, 2024
750f3f5
Enable dynamic linking for RubyWasm components
kateinoigakukun Apr 30, 2024
e7629e2
Use reactor wasip1 adapter by default for now
kateinoigakukun Apr 30, 2024
1f3e767
Detect WASI exec-model by adhoc way for now
kateinoigakukun Apr 30, 2024
4c3ce92
Add --dest-dir option to link .so files built by Bundler
kateinoigakukun May 1, 2024
1cfad93
Add --without-stdlib option to exclude stdlib components
kateinoigakukun May 1, 2024
5d6b2b3
Link libc and libc abi by default
kateinoigakukun May 4, 2024
b836b33
Revert "Remove `RUBY_BUILD_ROOT`"
kateinoigakukun May 6, 2024
1c23a33
Fix wit-bindgen's bad codegen for resource-drop
kateinoigakukun May 6, 2024
c8015aa
Use wasi-virt for componentized binaries
kateinoigakukun Apr 30, 2024
a42e977
Revert "Enable dynamic linking for RubyWasm components"
kateinoigakukun May 6, 2024
dbf868d
Make steep happy
kateinoigakukun May 6, 2024
75b9ce9
Revert "Use wasi-virt for componentized binaries"
kateinoigakukun May 6, 2024
cff9095
Reapply "Remove `RUBY_BUILD_ROOT`"
kateinoigakukun May 6, 2024
18e4358
Merge pull request #447 from ruby/katei/dynamic-component
kateinoigakukun May 6, 2024
7b3912b
Checkout upstream revisions of wit-bindgen and jco
kateinoigakukun May 7, 2024
98c1dcf
Merge pull request #456 from ruby/katei/switch-to-upstream-tools
kateinoigakukun May 7, 2024
9e6c233
Cleanup `./ext` directory
kateinoigakukun May 7, 2024
7fb578b
Add packages/gems/js/README.md
kateinoigakukun May 7, 2024
576cc3f
We don't use Jest for this package
kateinoigakukun May 7, 2024
86966e3
Sync package.json to reflect changes in vendor/jco
kateinoigakukun May 16, 2024
0d2b747
Update .gitignore
kateinoigakukun May 16, 2024
a221227
Use --recursive to clone the repository
kateinoigakukun May 16, 2024
dc9921a
Note Rust cross-compilation target too
kateinoigakukun May 16, 2024
f3e6c73
Stop compiling js ext sources on non-wasm platforms
kateinoigakukun May 22, 2024
759bccf
Bump version to 2.6.1
kateinoigakukun May 22, 2024
0942f0c
Bump vitest from 1.5.3 to 1.6.0
dependabot[bot] Jun 1, 2024
d2b03c6
Bump @rollup/plugin-commonjs from 25.0.7 to 25.0.8
dependabot[bot] Jun 1, 2024
cd675bb
Bump rollup from 4.17.2 to 4.18.0
dependabot[bot] Jun 1, 2024
424950d
Merge pull request #464 from ruby/dependabot/npm_and_yarn/rollup-4.18.0
kateinoigakukun Jun 1, 2024
a159381
Merge pull request #461 from ruby/dependabot/npm_and_yarn/vitest-1.6.0
kateinoigakukun Jun 1, 2024
ecf7130
Bump @playwright/test from 1.43.1 to 1.44.1
dependabot[bot] Jun 1, 2024
4216fb9
Merge pull request #463 from ruby/dependabot/npm_and_yarn/playwright/…
kateinoigakukun Jun 1, 2024
2546ecb
Merge pull request #462 from ruby/dependabot/npm_and_yarn/rollup/plug…
kateinoigakukun Jun 1, 2024
de8f176
Ignore incomplete specs when packaging gems
kateinoigakukun Jun 2, 2024
3040942
Fix the error message when a command fails in the build process
kateinoigakukun Jun 2, 2024
fac40c1
Fix ruby cache key calculation used for npm packaging
kateinoigakukun Jun 5, 2024
983b2d7
Assume local source is based on head branch
kateinoigakukun Jun 14, 2024
f3a0599
Fix `rake check:type`
kateinoigakukun Jun 14, 2024
b2370f6
Fix missing Asyncify-loop on exposed entry points
kateinoigakukun Jun 14, 2024
5c1fed0
Suppress js/ext warnings
kateinoigakukun Jun 14, 2024
1b4a243
Merge pull request #468 from ruby/katei/irb-crash
kateinoigakukun Jun 15, 2024
96ac1e4
Update 3.3 stable channel to 3.3.3
kateinoigakukun Jun 15, 2024
4ff7c8d
Merge pull request #469 from ruby/katei/update-3.3
kateinoigakukun Jun 15, 2024
faa5102
Fix `RIGHTS_FD_WRITE` constant value used in consolePrinter
kateinoigakukun Jun 15, 2024
750b680
Update jco to latest version
kateinoigakukun Jun 18, 2024
e168198
Track gitsubmodule dependencies with Dependabot
kateinoigakukun Jun 18, 2024
0a9d9ef
Bump docker/build-push-action from 5 to 6
dependabot[bot] Jun 18, 2024
82e50f7
Bump @rollup/plugin-commonjs from 25.0.8 to 26.0.1
dependabot[bot] Jun 18, 2024
27881fa
Bump tslib from 2.6.1 to 2.6.3
dependabot[bot] Jun 18, 2024
0aa57a2
Bump vendor/jco from `ff07e2d` to `60f4cbc`
dependabot[bot] Jun 19, 2024
e84715d
Merge pull request #472 from ruby/dependabot/github_actions/docker/bu…
kateinoigakukun Jun 19, 2024
7960d6f
Merge pull request #473 from ruby/dependabot/npm_and_yarn/rollup/plug…
kateinoigakukun Jun 19, 2024
103f5d4
Update default WASI SDK version to 21.0
kateinoigakukun Jun 19, 2024
65bcaa7
Merge pull request #476 from ruby/dependabot/submodules/vendor/jco-60…
kateinoigakukun Jun 19, 2024
97105db
Merge pull request #474 from ruby/dependabot/npm_and_yarn/tslib-2.6.3
kateinoigakukun Jun 19, 2024
fe3164a
Bump prettier from 3.2.5 to 3.3.2
dependabot[bot] Jun 19, 2024
5015122
Merge pull request #477 from ruby/katei/update-wasi-sdk
kateinoigakukun Jun 19, 2024
1c021f2
Merge pull request #475 from ruby/dependabot/npm_and_yarn/prettier-3.3.2
kateinoigakukun Jun 19, 2024
b1613af
Reapply "Use wasi-virt for componentized binaries"
kateinoigakukun May 6, 2024
e15195d
Revert "Reapply "Remove `RUBY_BUILD_ROOT`""
kateinoigakukun May 6, 2024
8e87ab7
Reapply "Enable dynamic linking for RubyWasm components"
kateinoigakukun May 6, 2024
641fcaf
Partially revert 739a4195931c59df3e27cf0e7894057521d08f70
kateinoigakukun Jun 4, 2024
b842a82
Configure extconf with baseruby
kateinoigakukun Jun 4, 2024
54ee0d5
Make RUBY_BUILD_ROOT optional with component model setup
kateinoigakukun Jun 5, 2024
ed5f898
wasi-virt --allow-fs
kateinoigakukun Jun 5, 2024
a0e7d0c
Add wasi-virt as Cargo dependency
kateinoigakukun Jun 5, 2024
76c6af6
Integrate wasi-virt at crate level instead of CLI
kateinoigakukun Jun 18, 2024
9f60301
Fix `rake check:type`
kateinoigakukun Jun 18, 2024
62b3be0
Update MSRV to 1.76.0
kateinoigakukun Jun 18, 2024
e7f6b7c
Get rid of wasm-opt crate dependency
kateinoigakukun Jun 19, 2024
6d91d09
Update wit-component
kateinoigakukun Jun 21, 2024
2a5fd9f
Build exts under unbundled environment for dynamic linking too
kateinoigakukun Jun 21, 2024
0e6e0c7
Suppress Docker build summary output for rake tasks
kateinoigakukun Jun 23, 2024
acd7824
Revert "Bump docker/build-push-action from 5 to 6"
kateinoigakukun Jun 26, 2024
833cb01
Update wasm-tools to 0.212.0
kateinoigakukun Jun 28, 2024
7fb033d
Fix `@bytecodealliance/preview2-shim` compatibility
kateinoigakukun Jun 28, 2024
2827490
Merge pull request #467 from ruby/katei/dynamic-component
kateinoigakukun Jun 28, 2024
4ac4b62
Bump vendor/jco from `60f4cbc` to `2f1e4d8`
dependabot[bot] Jun 28, 2024
c8f8112
jco build script now uses the wasm32-wasip1 target instead of wasm32-…
kateinoigakukun Jun 28, 2024
48aca51
Update rust version to 1.79.0
kateinoigakukun Jun 28, 2024
0cd50f1
Update package-lock.json
kateinoigakukun Jun 28, 2024
9466f26
Disable CI cache for npm packages for now
kateinoigakukun Jun 28, 2024
489512c
Update package.json
tani Jun 28, 2024
c87a95c
Update jco to 1.3.1
kateinoigakukun Jun 29, 2024
f682558
Merge pull request #480 from tani/patch-1
kateinoigakukun Jun 29, 2024
73d3d5a
Merge pull request #479 from ruby/dependabot/submodules/vendor/jco-2f…
kateinoigakukun Jun 29, 2024
f3ed2a5
Build baseruby before building extensions for PIC target
kateinoigakukun Jun 29, 2024
ea36739
Merge pull request #481 from ruby/katei/remove-build-hack
kateinoigakukun Jun 29, 2024
53c3e9c
Remove obsolete `wasm32-unknown-wasi` builder
kateinoigakukun Jun 29, 2024
09dce9f
Bump version to 2.6.2
kateinoigakukun Jun 29, 2024
55b88db
Update release workflow
kateinoigakukun Jun 29, 2024
a5d06a0
[skip ci] Add initial SPDX document for ruby.wasm project
kateinoigakukun Jun 29, 2024
114f1b2
Bump @playwright/test from 1.44.1 to 1.45.0
dependabot[bot] Jul 1, 2024
c3cb3fe
Merge pull request #484 from ruby/dependabot/npm_and_yarn/playwright/…
kateinoigakukun Jul 1, 2024
c25f567
Update wasi-virt to reduce wasm-tools duplication
kateinoigakukun Jul 3, 2024
990ae30
Merge pull request #486 from ruby/katei/update-wasm-tools
kateinoigakukun Jul 3, 2024
3c2fe09
Update Dependabot configuration to check for Cargo dependencies
kateinoigakukun Jul 3, 2024
873475f
Bump @playwright/test from 1.45.0 to 1.45.1
dependabot[bot] Jul 3, 2024
74a24fa
Bump magnus from 0.6.4 to 0.7.1
dependabot[bot] Jul 3, 2024
0a40e3f
Merge pull request #487 from ruby/dependabot/npm_and_yarn/playwright/…
kateinoigakukun Jul 3, 2024
4c66e30
Merge pull request #488 from ruby/dependabot/cargo/magnus-0.7.1
kateinoigakukun Jul 3, 2024
94ead86
Bump wizer from 4.0.0 to 6.0.0
dependabot[bot] Jul 3, 2024
9e01684
Update wasi-vfs too
kateinoigakukun Jul 3, 2024
dcdae31
Merge pull request #489 from ruby/dependabot/cargo/wizer-6.0.0
kateinoigakukun Jul 3, 2024
0d2b695
Bump vendor/jco from `d7ec53f` to `d967800`
dependabot[bot] Jul 10, 2024
03c7f2c
Update package-lock.json
kateinoigakukun Jul 10, 2024
8e3731b
Merge pull request #493 from ruby/dependabot/submodules/vendor/jco-d9…
kateinoigakukun Jul 10, 2024
7dca9e4
Bump vendor/jco from `d967800` to `e0919a1`
dependabot[bot] Jul 12, 2024
c782cdd
Merge pull request #495 from ruby/dependabot/submodules/vendor/jco-e0…
kateinoigakukun Jul 12, 2024
ced0fa3
Bump rollup from 4.18.0 to 4.19.1
dependabot[bot] Aug 1, 2024
1e0edc4
Bump prettier from 3.3.2 to 3.3.3
dependabot[bot] Aug 1, 2024
a0efc03
Bump bytes from 1.6.0 to 1.7.0
dependabot[bot] Aug 1, 2024
b70d013
Bump wit-component from 0.212.0 to 0.215.0
dependabot[bot] Aug 1, 2024
2b4d2b0
Merge pull request #504 from ruby/dependabot/cargo/wit-component-0.215.0
kateinoigakukun Aug 1, 2024
54d5e48
Merge pull request #503 from ruby/dependabot/cargo/bytes-1.7.0
kateinoigakukun Aug 1, 2024
26b61ad
Bump wasm-compose from 0.212.0 to 0.215.0
dependabot[bot] Aug 1, 2024
695f45e
Merge pull request #505 from ruby/dependabot/cargo/wasm-compose-0.215.0
kateinoigakukun Aug 1, 2024
9106e74
Merge pull request #501 from ruby/dependabot/npm_and_yarn/prettier-3.3.3
kateinoigakukun Aug 1, 2024
a4d2423
Merge pull request #500 from ruby/dependabot/npm_and_yarn/rollup-4.19.1
kateinoigakukun Aug 1, 2024
161a4c1
Bump @playwright/test from 1.45.1 to 1.45.3
dependabot[bot] Aug 1, 2024
9262d0f
Bump vitest from 1.6.0 to 2.0.5
dependabot[bot] Aug 1, 2024
6a9f2b4
Merge pull request #502 from ruby/dependabot/npm_and_yarn/playwright/…
kateinoigakukun Aug 1, 2024
22a8f54
Merge pull request #499 from ruby/dependabot/npm_and_yarn/vitest-2.0.5
kateinoigakukun Aug 1, 2024
0e48f26
Add inspect method to the URLResolver for debugging
ledsun Jul 31, 2024
b2ca891
Add base_url property to specify the base URL for relative path
ledsun Jul 31, 2024
2c36e1f
Delete incorrect comments
ledsun Aug 12, 2024
2e91b63
Modifying the test code to make it less misleading
ledsun Aug 12, 2024
0d72102
rake format
ledsun Aug 12, 2024
f4dafaa
Merge pull request #506 from ledsun/require_remote_base_url
kateinoigakukun Aug 19, 2024
71139e2
Bump vendor/jco from `e0919a1` to `dc3cf8d`
dependabot[bot] Aug 21, 2024
0653b1b
Update package-lock.json
kateinoigakukun Aug 21, 2024
0f5cd89
Merge pull request #511 from ruby/dependabot/submodules/vendor/jco-dc…
dependabot[bot] Aug 21, 2024
b3b4fd4
Bump wit-component from 0.215.0 to 0.216.0
dependabot[bot] Sep 1, 2024
f678bca
Bump @playwright/test from 1.45.3 to 1.46.1
dependabot[bot] Sep 1, 2024
2895732
Bump tslib from 2.6.3 to 2.7.0
dependabot[bot] Sep 1, 2024
ca16e95
Merge pull request #516 from ruby/dependabot/cargo/wit-component-0.216.0
kateinoigakukun Sep 1, 2024
9ac45d8
Bump bytes from 1.7.0 to 1.7.1
dependabot[bot] Sep 1, 2024
ca50fed
Bump wasm-compose from 0.215.0 to 0.216.0
dependabot[bot] Sep 1, 2024
cd84ed1
Merge pull request #518 from ruby/dependabot/cargo/bytes-1.7.1
kateinoigakukun Sep 1, 2024
1f85932
Merge pull request #522 from ruby/dependabot/npm_and_yarn/tslib-2.7.0
kateinoigakukun Sep 1, 2024
a36ae89
Merge pull request #521 from ruby/dependabot/npm_and_yarn/playwright/…
kateinoigakukun Sep 1, 2024
0f6ea21
Merge pull request #519 from ruby/dependabot/cargo/wasm-compose-0.216.0
kateinoigakukun Sep 1, 2024
b232aac
Bump rollup from 4.19.1 to 4.21.2
dependabot[bot] Sep 1, 2024
eb1ebaa
Merge pull request #520 from ruby/dependabot/npm_and_yarn/rollup-4.21.2
kateinoigakukun Sep 4, 2024
7f9b270
Use `bundle install --target-rbconfig` to install gems for Wasm target
kateinoigakukun Jul 3, 2024
2c29240
Fix Gemfile.lock issue
kateinoigakukun Jul 4, 2024
899fb60
Try to fix Gemfile.lock auto-self-downgrade issue
kateinoigakukun Jul 17, 2024
c4c9585
Upload artifact before running tests
kateinoigakukun Jul 17, 2024
d4ea1cf
Make `--enable-component-model` the default for `js` gem
kateinoigakukun Jul 17, 2024
805b6c6
Use vendor/cache for js gem to build extension as a part of "bundle i…
kateinoigakukun Jul 17, 2024
d284789
Update release instructions to include bump_dev_version task
kateinoigakukun Jul 17, 2024
449c3d6
Fix bin/setup not to install ruby-head-wasm-wasi's Gemfile
kateinoigakukun Jul 17, 2024
eddd567
Create vendor gem cache before computing cache key for npm package
kateinoigakukun Jul 17, 2024
a2f893d
Update Gemfile.lock
kateinoigakukun Jul 19, 2024
19fdf2c
Seems like bundler respects the .gem file name
kateinoigakukun Jul 19, 2024
4d8d2a8
Use the head version of Ruby as buildruby
kateinoigakukun Aug 21, 2024
9e1ebb3
Stop executing rbwasm under bundle exec within this repository
kateinoigakukun Sep 4, 2024
dd88a9c
Write the matrix to a file instead of stdout
kateinoigakukun Sep 4, 2024
d3f126c
Install the latest Ruby in builder image
kateinoigakukun Sep 4, 2024
1576fd0
Use compiled API as fallback for rb-sys
kateinoigakukun Sep 4, 2024
b428456
Invalidate existing cache
kateinoigakukun Sep 4, 2024
0508bfb
Run rbwasm under bundle exec for non-CM builds
kateinoigakukun Sep 4, 2024
9d479ac
Install Ruby to /opt/ruby instead of /usr/local
kateinoigakukun Sep 4, 2024
06176dc
Use the latest version of webrick for URI change in Ruby 3.4
kateinoigakukun Sep 4, 2024
4ddccfc
Require "/bundle/bundler/setup.rb" on Component Model build
kateinoigakukun Sep 4, 2024
0b031b2
Merge pull request #490 from ruby/katei/bundle-install-target-rbconfig
kateinoigakukun Sep 4, 2024
1953280
Install jco via npm instead of git submodule
kateinoigakukun Sep 4, 2024
fac9c8b
Merge pull request #523 from ruby/katei/npm-jco
kateinoigakukun Sep 4, 2024
b4aafb9
Use typedoc to generate API documentation
kateinoigakukun Sep 5, 2024
269c60c
Merge pull request #524 from ruby/pr-b03e7f6df8aba3e0be2d3211420defd7…
kateinoigakukun Sep 5, 2024
92b40f8
Run `npm install` just before running typedoc
kateinoigakukun Sep 5, 2024
3912725
[skip ci] Fix broken links to js API doc
kateinoigakukun Sep 5, 2024
ad381e4
Unify the Ruby runtime initialization process in ruby_init
kateinoigakukun Sep 4, 2024
73e0c42
Rebuild non-CM static build when js gem is modified
kateinoigakukun Sep 4, 2024
30eb98d
Re-generate TypeScript bindings in `rake check:bindgen` task
kateinoigakukun Sep 4, 2024
cdd6c03
Remove ISeq resource from WIT
kateinoigakukun Sep 5, 2024
fdbd5ed
Add `RubyVM.instantiateComponent` and `RubyVM.instantiateModule`
kateinoigakukun Sep 5, 2024
139b6d9
Move all internal tools under ./bin/ directory
kateinoigakukun Sep 5, 2024
2e6882b
rake format:c
kateinoigakukun Sep 5, 2024
56b00f1
Merge pull request #525 from ruby/katei/npm-jco
kateinoigakukun Sep 5, 2024
763d5e9
silence linking log messages by default
kateinoigakukun Sep 6, 2024
2949d20
Make JS.is_a? behave as Module#is_a? when the second argument is missing
kateinoigakukun Sep 6, 2024
71c25d8
Merge pull request #526 from ruby/katei/is_a-behavior
kateinoigakukun Sep 6, 2024
7660c13
Split out Component binaries into `@ruby/wasm-wasip2` package
kateinoigakukun Sep 8, 2024
e99f7ee
Ignroe test-results directory generated by playwright
kateinoigakukun Sep 8, 2024
5285a75
Update package-lock.json for wasip2 package
kateinoigakukun Sep 8, 2024
338fcee
Skip publishing packages with `"private": true` and mark p2 package a…
kateinoigakukun Sep 8, 2024
cccd900
Add p2 builder image
kateinoigakukun Sep 8, 2024
fbac87d
Fix test script and remove unnecessary build steps
kateinoigakukun Sep 8, 2024
d223a21
Skip packaging tests and do not try to load core modules when CM enabled
kateinoigakukun Sep 8, 2024
cc1255e
Recommend to use p2 package for local development
kateinoigakukun Sep 8, 2024
54ff9a7
Mock p2 package in e2e test by looking at package.json
kateinoigakukun Sep 8, 2024
f68f037
Skip e2e tests for p2 package for now
kateinoigakukun Sep 8, 2024
5b51997
Revert "Mock p2 package in e2e test by looking at package.json"
kateinoigakukun Sep 8, 2024
8da2029
Merge pull request #528 from ruby/katei/add-wasip2-pkg
kateinoigakukun Sep 8, 2024
94eaa3d
Add `rake npm:<pkg>:clean-build` task to perform clean build
kateinoigakukun Sep 30, 2024
1026977
Relax control flow error message check in vm.test.js
kateinoigakukun Sep 30, 2024
d90b881
Merge pull request #530 from ruby/katei/rake-clean-build
kateinoigakukun Sep 30, 2024
a0ca3af
Remove unwanted whitespace
ledsun Sep 7, 2024
ad4ba8a
Improve error messages when calling JavaScript object properties in m…
ledsun Sep 7, 2024
a8f89e2
Bump @rollup/plugin-node-resolve from 15.2.3 to 15.3.0
dependabot[bot] Oct 1, 2024
2dbfbfd
Bump typedoc from 0.26.6 to 0.26.7
dependabot[bot] Oct 1, 2024
29076eb
Bump @rollup/plugin-commonjs from 26.0.1 to 28.0.0
dependabot[bot] Oct 1, 2024
1b7aa14
Bump bytes from 1.7.1 to 1.7.2
dependabot[bot] Oct 1, 2024
d5da762
Merge pull request #531 from ledsun/improve_errer_mesage_for_property
kateinoigakukun Oct 1, 2024
b6b6747
Merge pull request #533 from ruby/dependabot/npm_and_yarn/rollup/plug…
kateinoigakukun Oct 1, 2024
f700f28
Bump @types/node from 20.12.2 to 22.7.4
dependabot[bot] Oct 1, 2024
ec49a68
Merge pull request #534 from ruby/dependabot/npm_and_yarn/typedoc-0.26.7
kateinoigakukun Oct 1, 2024
3df40b8
Merge pull request #539 from ruby/dependabot/cargo/bytes-1.7.2
kateinoigakukun Oct 1, 2024
57dadf2
Merge pull request #537 from ruby/dependabot/npm_and_yarn/rollup/plug…
kateinoigakukun Oct 1, 2024
38b253c
Merge pull request #536 from ruby/dependabot/npm_and_yarn/types/node-…
dependabot[bot] Oct 1, 2024
9ebb4a1
Bump rollup from 4.21.2 to 4.22.5
dependabot[bot] Oct 1, 2024
8af3db7
Merge pull request #535 from ruby/dependabot/npm_and_yarn/rollup-4.22.5
dependabot[bot] Oct 1, 2024
d00ee2d
Upgarde webrick to 1.8.2
kateinoigakukun Oct 10, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 6 additions & 11 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,21 6,16 @@ updates:
interval: monthly

- package-ecosystem: npm
directory: /packages/npm-packages/ruby-head-wasm-emscripten
schedule:
interval: monthly

- package-ecosystem: npm
directory: /packages/npm-packages/ruby-head-wasm-wasi
directory: /
schedule:
interval: monthly

- package-ecosystem: npm
directory: /packages/npm-packages/ruby-wasm-wasi
- package-ecosystem: cargo
directory: /
schedule:
interval: monthly

- package-ecosystem: npm
directory: /packages/npm-packages/ruby-wasm-emscripten
- package-ecosystem: gitsubmodule
directory: /
schedule:
interval: monthly
interval: daily
52 changes: 52 additions & 0 deletions .github/workflows/build-gems.yml
Original file line number Diff line number Diff line change
@@ -0,0 1,52 @@
name: Build gems
on:
push:
branches: [main]
tags: ["*"]
paths-ignore:
- "*.md"
- "docs/**"
pull_request:

jobs:
ci-data:
runs-on: ubuntu-latest
outputs:
result: ${{ steps.fetch.outputs.result }}
steps:
- uses: oxidize-rb/actions/fetch-ci-data@v1
id: fetch
with:
supported-ruby-platforms: |
exclude: [arm-linux, x64-mingw32]
stable-ruby-versions: |
exclude: [head]

cross-gem:
name: Compile native gem for ${{ matrix.ruby-platform }}
runs-on: ubuntu-latest
needs: ci-data
strategy:
fail-fast: false
matrix:
ruby-platform: ${{ fromJSON(needs.ci-data.outputs.result).supported-ruby-platforms }}
steps:
- uses: actions/checkout@v4

- uses: oxidize-rb/actions/setup-ruby-and-rust@v1
with:
ruby-version: "3.3"
bundler-cache: true
cargo-cache: true
cargo-vendor: true
cache-version: v2-${{ matrix.ruby-platform }}

- name: Set vars
id: vars
run: |
echo "rb-sys-version=$(bundle exec ruby -rrb_sys -e 'puts RbSys::VERSION')" >> $GITHUB_OUTPUT
- uses: oxidize-rb/cross-gem-action@main
with:
version: ${{ steps.vars.outputs.rb-sys-version }}
platform: ${{ matrix.ruby-platform }}
ruby-versions: ${{ join(fromJSON(needs.ci-data.outputs.result).stable-ruby-versions, ', ') }}
234 changes: 113 additions & 121 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 2,10 @@ name: Build ruby.wasm
on:
push:
branches: [main]
tags:
tags: ["*"]
paths-ignore:
- "*.md"
- "docs/**"
pull_request:
workflow_call:
inputs:
Expand All @@ -23,171 26,160 @@ jobs:
runs-on: ubuntu-20.04
if: ${{ github.event_name == 'pull_request' }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: ruby/setup-ruby@v1
with:
ruby-version: "head"
bundler-cache: true
- run: ./bin/setup
- run: bundle exec rake check:type
- run: sudo apt-get install clang-format
- run: ./tools/clang-format-diff.sh
- run: rake check:bindgen
- run: ./bin/clang-format-diff.sh
- run: bundle exec rake check:bindgen
- run: git diff --exit-code

build-builder-image:
strategy:
fail-fast: false
matrix:
entry:
- { tag: wasm32-unknown-wasi }
- { tag: wasm32-unknown-emscripten }
- { target: wasm32-unknown-wasip1 }
- { target: wasm32-unknown-emscripten }
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v3
- uses: actions/[email protected]
with:
path: /tmp/.buildx-cache
key: ${{ runner.os }}-buildx-${{ github.sha }}
restore-keys: |
${{ runner.os }}-buildx-
- uses: docker/setup-buildx-action@v2
- uses: docker/login-action@v2
- uses: actions/checkout@v4
- uses: docker/setup-buildx-action@v3
- uses: docker/login-action@v3
with:
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
registry: ghcr.io
- name: Build
uses: docker/build-push-action@v3
with:
context: builders/${{ matrix.entry.tag }}
outputs: type=oci,dest=/tmp/image.tar
cache-from: type=local,src=/tmp/.buildx-cache
cache-to: type=local,dest=/tmp/.buildx-cache-new
- name: Upload image artifact
uses: actions/upload-artifact@v3
with:
name: ruby.wasm-builder-${{ matrix.entry.tag }}
path: /tmp/image.tar
- name: Push
uses: docker/build-push-action@v3
with:
context: builders/${{ matrix.entry.tag }}
push: ${{ github.ref == 'refs/heads/main' }}
tags: ghcr.io/${{ github.repository_owner }}/ruby.wasm-builder:${{ matrix.entry.tag }}
cache-from: type=local,src=/tmp/.buildx-cache
cache-to: type=local,dest=/tmp/.buildx-cache-new
- uses: docker/metadata-action@v5
id: meta
with:
images: ghcr.io/${{ github.repository_owner }}/ruby.wasm/builder/${{ matrix.entry.target }}
- uses: docker/build-push-action@v5
with:
context: builders/${{ matrix.entry.target }}
push: ${{ github.ref == 'refs/heads/main' || github.ref == 'refs/tags/*' }}
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
cache-from: type=gha
cache-to: type=gha,mode=max

# https://github.com/docker/build-push-action/issues/252#issuecomment-744400434
- run: |
rm -rf /tmp/.buildx-cache
mv /tmp/.buildx-cache-new /tmp/.buildx-cache
build-rake-task-matrix:
runs-on: ubuntu-20.04
outputs:
entries: ${{ steps.set-matrix.outputs.entries }}
steps:
- uses: actions/checkout@v4
- uses: ruby/setup-ruby@v1
with:
ruby-version: "head"
bundler-cache: true
- run: ./bin/setup
- run: rake ci:pin_build_manifest
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- uses: actions/upload-artifact@v4
with:
name: build-manifest
path: build_manifest.json
- name: Set matrix
id: set-matrix
run: |
rake ci:rake_task_matrix
echo "entries=$(cat ci_matrix.json)" >> $GITHUB_OUTPUT

rake-tasks:
strategy:
fail-fast: false
matrix:
entry:
- task: "build:head-wasm32-unknown-emscripten-full"
artifact: "rubies/ruby-head-wasm32-unknown-emscripten-full.tar.gz"
artifact_name: "ruby-head-wasm32-unknown-emscripten-full"
builder: "wasm32-unknown-emscripten"
- task: "build:head-wasm32-unknown-emscripten-minimal"
artifact: "rubies/ruby-head-wasm32-unknown-emscripten-minimal.tar.gz"
artifact_name: "ruby-head-wasm32-unknown-emscripten-minimal"
builder: "wasm32-unknown-emscripten"
- task: "build:head-wasm32-unknown-wasi-full"
artifact: "rubies/ruby-head-wasm32-unknown-wasi-full.tar.gz"
artifact_name: "ruby-head-wasm32-unknown-wasi-full"
builder: "wasm32-unknown-wasi"
- task: "build:head-wasm32-unknown-wasi-full-debug"
artifact: "rubies/ruby-head-wasm32-unknown-wasi-full-debug.tar.gz"
artifact_name: "ruby-head-wasm32-unknown-wasi-full-debug"
builder: "wasm32-unknown-wasi"
- task: "build:head-wasm32-unknown-wasi-full-js"
artifact: "rubies/ruby-head-wasm32-unknown-wasi-full-js.tar.gz"
artifact_name: "ruby-head-wasm32-unknown-wasi-full-js"
builder: "wasm32-unknown-wasi"
- task: "build:head-wasm32-unknown-wasi-full-js-debug"
artifact: "rubies/ruby-head-wasm32-unknown-wasi-full-js-debug.tar.gz"
artifact_name: "ruby-head-wasm32-unknown-wasi-full-js-debug"
builder: "wasm32-unknown-wasi"
- task: "build:head-wasm32-unknown-wasi-minimal"
artifact: "rubies/ruby-head-wasm32-unknown-wasi-minimal.tar.gz"
artifact_name: "ruby-head-wasm32-unknown-wasi-minimal"
builder: "wasm32-unknown-wasi"
- task: "build:head-wasm32-unknown-wasi-minimal-debug"
artifact: "rubies/ruby-head-wasm32-unknown-wasi-minimal-debug.tar.gz"
artifact_name: "ruby-head-wasm32-unknown-wasi-minimal-debug"
builder: "wasm32-unknown-wasi"
- task: "build:head-wasm32-unknown-wasi-minimal-js"
artifact: "rubies/ruby-head-wasm32-unknown-wasi-minimal-js.tar.gz"
artifact_name: "ruby-head-wasm32-unknown-wasi-minimal-js"
builder: "wasm32-unknown-wasi"
- task: "build:head-wasm32-unknown-wasi-minimal-js-debug"
artifact: "rubies/ruby-head-wasm32-unknown-wasi-minimal-js-debug.tar.gz"
artifact_name: "ruby-head-wasm32-unknown-wasi-minimal-js-debug"
builder: "wasm32-unknown-wasi"

- task: "npm:ruby-head-wasm-emscripten"
prerelease: "npm:configure_prerelease"
artifact: "packages/npm-packages/ruby-head-wasm-emscripten/ruby-head-wasm-emscripten-*.tgz"
artifact_name: "npm-ruby-head-wasm-emscripten"
builder: "wasm32-unknown-emscripten"
- task: "npm:ruby-head-wasm-wasi"
test: "npm:ruby-head-wasm-wasi-check"
prerelease: "npm:configure_prerelease"
artifact: "packages/npm-packages/ruby-head-wasm-wasi/ruby-head-wasm-wasi-*.tgz"
artifact_name: "npm-ruby-head-wasm-wasi"
builder: "wasm32-unknown-wasi"

- task: "wapm:ruby-build"
artifact: "packages/wapm-packages/ruby/dist"
artifact_name: "wapm-ruby"
builder: "wasm32-unknown-wasi"
- task: "wapm:irb-build"
artifact: "packages/wapm-packages/irb/dist"
artifact_name: "wapm-irb"
builder: "wasm32-unknown-wasi"

needs: [build-builder-image]
entry: ${{ fromJson(needs.build-rake-task-matrix.outputs.entries) }}
needs: [build-rake-task-matrix]
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v3
- name: Fetch builder image
uses: actions/download-artifact@v3
- uses: actions/checkout@v4
with:
submodules: true
- uses: actions/download-artifact@v4
with:
name: ruby.wasm-builder-${{ matrix.entry.builder }}
- name: Load builder image
id: load-image
name: build-manifest
- uses: actions/[email protected]
if: ${{ matrix.entry.rubies_cache_key != null }}
with:
path: ./rubies
key: ${{ matrix.entry.rubies_cache_key }}
- uses: docker/setup-buildx-action@v3
- uses: docker/build-push-action@v5
id: builder-image
env:
DOCKER_BUILD_NO_SUMMARY: true
with:
context: builders/${{ matrix.entry.builder }}
load: true
cache-from: type=gha
cache-to: type=gha,mode=max
- name: Setup builder container
run: |
docker load --input image.tar | tee image-info.txt
echo "BUILDER_IMAGE_ID=$(cut -d ':' -f 3 image-info.txt)" >> $GITHUB_ENV
docker run -dit -v "$GITHUB_WORKSPACE:/home/me/build" -w /home/me/build \
-e "ENABLE_GITHUB_ACTIONS_MARKUP=true" \
-e "RUBYWASM_UID=$(id -u)" -e "RUBYWASM_GID=$(id -g)" \
-e "GNUMAKEFLAGS=-j$((1 $(nproc --all)))" \
--name builder \
${{ steps.builder-image.outputs.imageid }} /bin/sh
echo 'docker exec -u me builder "$@"' > ./build-exec
chmod x ./build-exec
# wait for docker exec to be ready
timeout 10 bash -c 'until ./build-exec bundle config set --local without check; do sleep 1; done'
- run: ./build-exec ./bin/setup
- run: ./build-exec bundle exec rake compile
- name: Pre-release configuration
run: rake ${{ matrix.entry.prerelease }}[${{ inputs.prerel_name }}]
run: ./build-exec bundle exec rake ${{ matrix.entry.prerelease }}[${{ inputs.prerel_name }}]
if: ${{ inputs.prerel_name != '' && matrix.entry.prerelease != '' }}
- name: rake ${{ matrix.entry.task }}
run: docker run -v "$GITHUB_WORKSPACE:/home/me/build" -w /home/me/build -e "RUBYWASM_UID=$(id -u)" -e "RUBYWASM_GID=$(id -g)" -e "GNUMAKEFLAGS=-j$((1 $(nproc --all)))" sha256:$BUILDER_IMAGE_ID rake ${{ matrix.entry.task }}
- name: rake ${{ matrix.entry.test }}
run: rake ${{ matrix.entry.test }}
if: ${{ matrix.entry.test != '' }}
- uses: actions/upload-artifact@v3
run: ./build-exec rake --verbose ${{ matrix.entry.task }}
- uses: actions/upload-artifact@v4
if: ${{ matrix.entry.artifact }}
with:
name: ${{ matrix.entry.artifact_name }}
path: ${{ matrix.entry.artifact }}
- uses: ruby/setup-ruby@v1
if: ${{ matrix.entry.test != '' }}
with:
ruby-version: "head"
bundler-cache: false
- name: rake ${{ matrix.entry.test }}
run: |
bundle install --with=check --without=development
rake ${{ matrix.entry.test }}
if: ${{ matrix.entry.test != '' }}

release-artifacts:
needs: [rake-tasks]
runs-on: ubuntu-20.04
if: ${{ startsWith(github.ref, 'refs/tags/') || inputs.publish }}
steps:
- uses: actions/checkout@v3
- uses: actions/download-artifact@v3
- uses: actions/checkout@v4
- uses: actions/download-artifact@v4
with:
name: build-manifest
- uses: actions/download-artifact@v4
with:
path: release
- uses: actions/setup-node@v3
- uses: actions/setup-node@v4
with:
node-version: 16
registry-url: https://registry.npmjs.org/
- uses: ruby/setup-ruby@v1
with:
ruby-version: "head"
bundler-cache: true
- run: ./bin/setup
- run: echo "PREREL_NAME=${{ inputs.prerel_name }}" >> $GITHUB_ENV
- run: rake "publish[${PREREL_NAME:-$GITHUB_REF_NAME}]"
- run: bundle exec rake "ci:publish[${PREREL_NAME:-$GITHUB_REF_NAME}]"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NODE_AUTH_TOKEN: ${{ secrets.NODE_AUTH_TOKEN }}
Loading