This repository was archived by the owner on May 10, 2023. It is now read-only.
generated from actions/typescript-action
-
Notifications
You must be signed in to change notification settings - Fork 4
Extension compiles twice when only one Ruby version is specified #133
Copy link
Copy link
Open
Description
Hi, I'm running into an odd issue when only one Ruby version is specified where the extension compiles twice. I'm able to reproduce with oxi-test.
Workflow - ankane/oxi-test@9f48d1a
name: debug
on: push
jobs:
release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: ruby/setup-ruby@v1
with:
ruby-version: 3.2
- uses: oxidize-rb/cross-gem-action@v7
with:
platform: x86_64-linux
version: latest
ruby-versions: "3.2"CI output - https://github.com/ankane/oxi-test/actions/runs/3920839152/jobs/6702689640
Compiling ext v0.1.0 (/home/runner/work/oxi-test/oxi-test/ext)
Compiling rb-sys-build v0.9.54
Compiling rb-sys v0.9.54
and later...
Compiling ext v0.1.0 (/home/runner/work/oxi-test/oxi-test/ext)
Compiling rb-sys-build v0.9.54
Compiling rb-sys v0.9.54
With Tokenizers Ruby, this is also causes a crash in the generated gem, which doesn't happen when 2+ versions are specified.
thread '<unnamed>' panicked at 'internal error: entered unreachable code', /usr/local/cargo/registry/src/github.com-1ecc6299db9ec823/magnus-0.4.4/src/value.rs:200:21
stack backtrace:
0: 0x7f0451013690 - std::backtrace_rs::backtrace::libunwind::trace::h1d00f3fcf4cb5ac4
at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
1: 0x7f0451013690 - std::backtrace_rs::backtrace::trace_unsynchronized::h920a6ff332484ee2
at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
2: 0x7f0451013690 - std::sys_common::backtrace::_print_fmt::hd7323920c925af6d
at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/sys_common/backtrace.rs:65:5
3: 0x7f0451013690 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h3155a8c966b4beb5
at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/sys_common/backtrace.rs:44:22
4: 0x7f045103511e - core::fmt::write::h062c617411b691df
at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/fmt/mod.rs:1209:17
5: 0x7f045100e125 - std::io::Write::write_fmt::hb61fdf1275c61e1c
at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/io/mod.rs:1682:15
6: 0x7f0451013455 - std::sys_common::backtrace::_print::hd1b4d9664ab500e0
at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/sys_common/backtrace.rs:47:5
7: 0x7f0451013455 - std::sys_common::backtrace::print::hca896ae22beb06cb
at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/sys_common/backtrace.rs:34:9
8: 0x7f0451014d0f - std::panicking::default_hook::{{closure}}::h0b5eeed5cf36ab5f
at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panicking.rs:267:22
9: 0x7f0451014a4a - std::panicking::default_hook::h8932b573145a321b
at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panicking.rs:286:9
10: 0x7f0451015408 - std::panicking::rust_panic_with_hook::h4b1447a24e3e94f8
at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panicking.rs:688:13
11: 0x7f0451015161 - std::panicking::begin_panic_handler::{{closure}}::h8701da9995a3820c
at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panicking.rs:577:13
12: 0x7f0451013b3c - std::sys_common::backtrace::__rust_end_short_backtrace::hb696c5ed02a01598
at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/sys_common/backtrace.rs:137:18
13: 0x7f0451014ec2 - rust_begin_unwind
at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panicking.rs:575:5
14: 0x7f0450c0b123 - core::panicking::panic_fmt::h8aa706a976963c88
at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/panicking.rs:65:14
15: 0x7f0450c0b1fd - core::panicking::panic::h622b2a38bce78ff3
at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/panicking.rs:115:5
16: 0x7f0450c6996e - <magnus::r_string::RString as magnus::try_convert::TryConvert>::try_convert::h4cf22acec1b6d4f4
17: 0x7f0450c68683 - <alloc::string::String as magnus::try_convert::TryConvert>::try_convert::h24f1eed74bf2a492
18: 0x7f0450c2f794 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h0388255aefb12b21
19: 0x7f0450c414f6 - tokenizers::init::anon::ha65ccae5cf3ffbfa
This probably isn't an issue for most production workflows (which will likely specify multiple versions), but it:
- slows down testing a single version
- could cause odd crashes like the one above
Edit: Sorry, meant to post in cross-gem-action if you want to transfer this there.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels