target: `x86_64-unknown-linux-musl` uses x86_64-unknown-linux-gnu host
azzamsa opened this issue · 2 comments
Hi.
I use the code below for my CI.
strategy:
fail-fast: false
matrix:
include:
- { build: linux-gnu, os: ubuntu-22.04, target: x86_64-unknown-linux-gnu }
- { build: linux-musl, os: ubuntu-22.04, target: x86_64-unknown-linux-musl }
- { build: win-gnu, os: windows-2022, target: x86_64-pc-windows-gnu }
- { build: win-msvc, os: windows-2022, target: x86_64-pc-windows-msvc }
- { build: win32-msvc, os: windows-2022, target: i686-pc-windows-msvc }
- { build: macos, os: macos-12 , target: x86_64-apple-darwin }
Other target works well, but musl.
commit-date: 2023-08-26
host: x86_64-unknown-linux-gnu
libgit2: 1.6.4 (sys:0.17.2 vendored)
libcurl: 8.2.1-DEV (sys:0.4.65+curl-8.2.1 vendored ssl:OpenSSL/1.1.1u)
ssl: OpenSSL 1.1.1u 30 May 2023
Unlike others, It still uses host: x86_64-unknown-linux-gnu
and doesn't respect the target
input.
steps:
- name: Checkout source code
uses: actions/checkout@v4
- uses: actions-rust-lang/setup-rust-toolchain@v1
with:
target: ${{ matrix.job.target }}
Any suggestions?
Thanks for actions-rust-lang/setup-rust-toolchain
🏅
The host toolchain is independent of the compile target. You see the same for the windows hosts, that the host toolchain is always the same for all the different targets. Your problem is not with the host toolchain, but that the correct target is not installed.
The log shows that you are not passing a target to the action. It should include a line like target: x86_64-unknown-linux-musl
there.
Run actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: stable
cache: true
rustflags: -D warnings
Are you sure your matrix statement is correct ${{ matrix.job.target }}
?
Are you sure your matrix statement is correct ${{ matrix.job.target }}?
Oh, my bad. I thought matrix.job.target
and matrix.target
will have the same result.