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

Support RubyGems / Bundler #358

Merged
merged 44 commits into from
Jan 4, 2024
Merged

Support RubyGems / Bundler #358

merged 44 commits into from
Jan 4, 2024

Commits on Jan 2, 2024

  1. Configuration menu
    Copy the full SHA
    647b2eb View commit details
    Browse the repository at this point in the history
  2. Remove experimental binary-editing approach

    I've tried two approaches to implement the Component Model for Ruby.
    The first one is the *binary-editing* approach and the second one is
    *extension-library* approach.
    
    The basic idea of binary-editing* is to inject import/export sections
    into a preview1 compatible .wasm binary and turn it into a Component by
    `wasm-tool component new` command.
    
    The approach was good for binary reusability. The binary before
    injection can be used as a standalone WASI preview1 binary. Therefore
    user can use a pre-built .wasm binary and just inject the import/export
    sections to turn it into a Component.
    
    However, considering the future dynamic linking support, the approach
    introduces a bunch of complexity. In the dynamic linking era, an
    extension library will be able to provide a WIT interface and a Ruby
    core interpreter should not import or export anything except for WASI.
    The binary editing approach needs to edit the Ruby core interpreter
    binary every time when WIT world changes, so the build process would
    be different from the one of dynamically linked extension library.
    
    I decided to go to the extension library approach for mainainability.
    
    The static linking build is just for a compatibility with the existing
    Wasm runtimes, so I don't want to pay much effort for maintining it. The
    extention library approach uses almost the same build process for static
    linking and dynamic linking, so it's easier to maintain and we can focus
    on the dynamic linking support.
    kateinoigakukun committed Jan 2, 2024
    Configuration menu
    Copy the full SHA
    9fdc2a5 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    9ad2242 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    d1ef66a View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    82cd043 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    339e91b View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    1ad13f9 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    bf32ca9 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    a03a243 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    779ec3c View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    eecb8ab View commit details
    Browse the repository at this point in the history
  12. rake format

    kateinoigakukun committed Jan 2, 2024
    Configuration menu
    Copy the full SHA
    ed134ad View commit details
    Browse the repository at this point in the history

Commits on Jan 3, 2024

  1. Fix rake ci:* tasks

    kateinoigakukun committed Jan 3, 2024
    Configuration menu
    Copy the full SHA
    f4fd002 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    5be8b84 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    8695087 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    20b769f View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    a9e0a08 View commit details
    Browse the repository at this point in the history
  6. Fix rake check:type

    kateinoigakukun committed Jan 3, 2024
    Configuration menu
    Copy the full SHA
    56aa83a View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    c166dfa View commit details
    Browse the repository at this point in the history
  8. rake in bundle exec

    kateinoigakukun committed Jan 3, 2024
    Configuration menu
    Copy the full SHA
    d7b7c65 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    4e1dd12 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    2a80008 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    a9623e2 View commit details
    Browse the repository at this point in the history
  12. Pin ruby/ruby master version

    The latest master broke the build. This commit pins the version to the
    last known working commit.
    kateinoigakukun committed Jan 3, 2024
    Configuration menu
    Copy the full SHA
    acf5e12 View commit details
    Browse the repository at this point in the history
  13. Build ext library on builder container

    Since there is no guarantee that the host system and the builder
    container use the same Ruby ABI
    kateinoigakukun committed Jan 3, 2024
    Configuration menu
    Copy the full SHA
    ad90910 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    2b3e757 View commit details
    Browse the repository at this point in the history
  15. Remove ruby-wasm-wasi from the list of packages to test

    This package is alread tested by each ruby-version-specific package
    kateinoigakukun committed Jan 3, 2024
    Configuration menu
    Copy the full SHA
    9a58a85 View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    fbe64ab View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    3cc776c View commit details
    Browse the repository at this point in the history
  18. Configuration menu
    Copy the full SHA
    1c56f89 View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    7042418 View commit details
    Browse the repository at this point in the history
  20. Configuration menu
    Copy the full SHA
    4421643 View commit details
    Browse the repository at this point in the history
  21. Configuration menu
    Copy the full SHA
    07fe183 View commit details
    Browse the repository at this point in the history
  22. Configuration menu
    Copy the full SHA
    eef3f6b View commit details
    Browse the repository at this point in the history
  23. Configuration menu
    Copy the full SHA
    989ef45 View commit details
    Browse the repository at this point in the history
  24. Configuration menu
    Copy the full SHA
    60391fa View commit details
    Browse the repository at this point in the history
  25. rake format

    kateinoigakukun committed Jan 3, 2024
    Configuration menu
    Copy the full SHA
    21fd9af View commit details
    Browse the repository at this point in the history
  26. Configuration menu
    Copy the full SHA
    9d8c66d View commit details
    Browse the repository at this point in the history
  27. Configuration menu
    Copy the full SHA
    2bdc25a View commit details
    Browse the repository at this point in the history
  28. Move rbwasm build invocation to rake task

    to control cache key in rake
    kateinoigakukun committed Jan 3, 2024
    Configuration menu
    Copy the full SHA
    09b4087 View commit details
    Browse the repository at this point in the history
  29. Setup ruby to build ci matrix

    to use Bundler in rbwasm command
    kateinoigakukun committed Jan 3, 2024
    Configuration menu
    Copy the full SHA
    cf92cd9 View commit details
    Browse the repository at this point in the history
  30. rake format

    kateinoigakukun committed Jan 3, 2024
    Configuration menu
    Copy the full SHA
    53b5862 View commit details
    Browse the repository at this point in the history
  31. Configuration menu
    Copy the full SHA
    ad53e0c View commit details
    Browse the repository at this point in the history
  32. Configuration menu
    Copy the full SHA
    7d551b0 View commit details
    Browse the repository at this point in the history