Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
11 changes: 10 additions & 1 deletion .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2791,7 +2791,16 @@ jobs:
# the precompile fixtures that link the archives directly could not
# pass — masked for weeks by continue-on-error. Name the wrapper
# crates explicitly (same set the parity harness builds).
run: cargo build --release -p perry -p perry-runtime -p perry-stdlib -p perry-runtime-static -p perry-stdlib-static
# The ext wrappers must build in the SAME cargo invocation as the
# stdlib archive. Separate invocations let cargo unify tokio
# differently for each, and the link is then refused: "the wrapper
# archive(s) below bundle a DIFFERENT tokio compilation than the
# stdlib archive" (#507, #7629). The refusal is correct -- two tokio
# compilations mean two `runtime::context::CONTEXT` thread-locals and
# a "no reactor running" panic. `test_issue_414_mysql_query_params`
# was the single compile-smoke failure this caused. Same set the
# doc-tests job already builds together.
run: cargo build --release -p perry -p perry-runtime -p perry-stdlib -p perry-runtime-static -p perry-stdlib-static -p perry-ext-ioredis -p perry-ext-mongodb -p perry-ext-mysql2 -p perry-ext-pg -p perry-ext-nodemailer

- name: Issue #945 scalar method IR guard
run: |
Expand Down
5 changes: 5 additions & 0 deletions changelog.d/9290-compile-smoke-ext.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
The `compile-smoke` CI job builds the database and mailer extension wrappers in
the same cargo invocation as the stdlib archive. Building them separately let
cargo unify tokio differently for each, and the linker guard correctly refused
the resulting pair — two tokio compilations in one binary mean two independent
runtime contexts and a "no reactor running" panic.
Loading