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

ci: Introduce CI coverage for TruffleRuby #2089

Closed
4 tasks done
flavorjones opened this issue Oct 1, 2020 · 3 comments
Closed
4 tasks done

ci: Introduce CI coverage for TruffleRuby #2089

flavorjones opened this issue Oct 1, 2020 · 3 comments
Labels

Comments

@flavorjones
Copy link
Member

flavorjones commented Oct 1, 2020

I'd like to introduce test coverage, both as a sign of solidarity with TruffleRuby and to learn a bit more about it.

  • Build base TruffleRuby OCI images for stable and nightly
  • Build nokogiri-test images for stable and nightly
  • Add a non-release-blocking job to the CI pipelines (master and PR)
  • Get the tests to run without errors (at this point some failures are still expected)

Then we can triage existing failures and potentially create a separate issue.

Also see related issue #1882 which will drive upstreaming of TR patches into Nokogiri.

@flavorjones
Copy link
Member Author

Note that I've created some base images at https://github.com/flavorjones/docker-truffleruby

flavorjones added a commit to flavorjones/concourse-gem that referenced this issue Oct 1, 2020
flavorjones added a commit that referenced this issue Oct 1, 2020
- instead, make `rubocop` a prereq for `default`
- also make `compile` a preqreq for `default`
- and update the CI task to explicitly run the `rubocop` task

This was driven out by introducing TruffleRuby to CI, which doesn't
yet fully support rubocop.

Part of #2089
flavorjones added a commit that referenced this issue Oct 1, 2020
flavorjones added a commit that referenced this issue Oct 1, 2020
These builds are considered non-release-blocking ("experimental")
until we get them green.

Related to #2089
@eregon
Copy link
Contributor

eregon commented Oct 1, 2020

@flavorjones Thank you for adding TruffleRuby in CI!
And for the Docker images too :)

@eregon eregon mentioned this issue Oct 1, 2020
2 tasks
flavorjones added a commit that referenced this issue Dec 2, 2020
Specifically, following the advice of @kou at

  rake-compiler/rake-compiler#171

we set `Rake::ExtensionTask.no_native=true` within the
rake-compiler-dock container ("guest") so that:

- the ExtensionTask `cross_compiling` block is called
  - so that we don't package the dependencies' tarballs in /ports
  - so that we don't have mini_portile2 as a dependency (#2089)
  - so that we don't have an extra nokogiri.so/nokogiri.bundle built
    and packaged (#2076)
- we no longer have to hotfix rake-compiler at build time

This also will enable us to more easily do things like removing the C
extension source code from the native gem package (#2077).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants