diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7d3ff810..62d29cdc 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -97,28 +97,32 @@ jobs: fail-fast: false matrix: container: - - ubuntu:18.04 # glibc 2.27 + # glibc >= 2.31 - ubuntu:20.04 # glibc 2.31 - - debian:10-slim # glibc 2.28 + - ubuntu:22.04 # glibc 2.35 - debian:11-slim # glibc 2.31 - - rockylinux:8 # glibc 2.28 - - rockylinux:8-minimal # glibc 2.28 + - fedora:latest # glibc 2.36 (as of fedora 37) tool: # valgrind: installing snap to container is difficult... - - cargo-hack,cargo-llvm-cov,cargo-minimal-versions,cargo-no-dev-deps,parse-changelog,cargo-udeps,cargo-valgrind,cargo-deny,cross,dprint,just,nextest,protoc,shellcheck,shfmt,wasm-pack,wasmtime,mdbook,mdbook-linkcheck,cargo-watch,grcov,watchexec-cli,cargo-tarpaulin + - cargo-hack,cargo-llvm-cov,cargo-minimal-versions,cargo-no-dev-deps,parse-changelog,cargo-udeps,cargo-valgrind,cargo-deny,cross,dprint,just,nextest,protoc,shellcheck,shfmt,wasm-pack,wasmtime,mdbook,mdbook-linkcheck,cargo-watch,grcov,watchexec-cli,cargo-tarpaulin,zola include: - - container: ubuntu:22.04 # glibc 2.35 - # cargo-udeps depends on openssl 1.1 - tool: cargo-hack,cargo-llvm-cov,cargo-minimal-versions,cargo-no-dev-deps,parse-changelog,cargo-valgrind,cargo-deny,cross,dprint,just,nextest,protoc,shellcheck,shfmt,wasm-pack,wasmtime,mdbook,mdbook-linkcheck,cargo-watch,grcov,watchexec-cli,cargo-tarpaulin,zola - - container: fedora:latest # glibc 2.36 (as of fedora 37) - # cargo-udeps depends on openssl 1.1 - tool: cargo-hack,cargo-llvm-cov,cargo-minimal-versions,cargo-no-dev-deps,parse-changelog,cargo-valgrind,cargo-deny,cross,dprint,just,nextest,protoc,shellcheck,shfmt,wasm-pack,wasmtime,mdbook,mdbook-linkcheck,cargo-watch,grcov,watchexec-cli,cargo-tarpaulin,zola + # glibc < 2.31 + # zola don't provide prebuilt binaries for musl or old glibc host. + - container: ubuntu:18.04 # glibc 2.27 + tool: cargo-hack,cargo-llvm-cov,cargo-minimal-versions,cargo-no-dev-deps,parse-changelog,cargo-udeps,cargo-valgrind,cargo-deny,cross,dprint,just,nextest,protoc,shellcheck,shfmt,wasm-pack,wasmtime,mdbook,mdbook-linkcheck,cargo-watch,grcov,watchexec-cli,cargo-tarpaulin + - container: debian:10-slim # glibc 2.28 + tool: cargo-hack,cargo-llvm-cov,cargo-minimal-versions,cargo-no-dev-deps,parse-changelog,cargo-udeps,cargo-valgrind,cargo-deny,cross,dprint,just,nextest,protoc,shellcheck,shfmt,wasm-pack,wasmtime,mdbook,mdbook-linkcheck,cargo-watch,grcov,watchexec-cli,cargo-tarpaulin + - container: rockylinux:8 # glibc 2.28 + tool: cargo-hack,cargo-llvm-cov,cargo-minimal-versions,cargo-no-dev-deps,parse-changelog,cargo-udeps,cargo-valgrind,cargo-deny,cross,dprint,just,nextest,protoc,shellcheck,shfmt,wasm-pack,wasmtime,mdbook,mdbook-linkcheck,cargo-watch,grcov,watchexec-cli,cargo-tarpaulin + - container: rockylinux:8-minimal # glibc 2.28 + tool: cargo-hack,cargo-llvm-cov,cargo-minimal-versions,cargo-no-dev-deps,parse-changelog,cargo-udeps,cargo-valgrind,cargo-deny,cross,dprint,just,nextest,protoc,shellcheck,shfmt,wasm-pack,wasmtime,mdbook,mdbook-linkcheck,cargo-watch,grcov,watchexec-cli,cargo-tarpaulin + # glibc < 2.27 or musl - container: centos:7 # glibc 2.17 - # cargo-udeps,protoc,valgrind,wasmtime,mdbook-linkcheck,cargo-watch,zola don't provide prebuilt binaries for musl or old glibc host. - tool: cargo-hack,cargo-llvm-cov,cargo-minimal-versions,cargo-no-dev-deps,parse-changelog,cargo-valgrind,cargo-deny,cross,dprint,just,nextest,shellcheck,shfmt,wasm-pack,mdbook,cargo-binstall,grcov,watchexec-cli,cargo-tarpaulin + # protoc,valgrind,wasmtime,mdbook-linkcheck,cargo-watch,zola don't provide prebuilt binaries for musl or old glibc host. + tool: cargo-hack,cargo-llvm-cov,cargo-minimal-versions,cargo-no-dev-deps,parse-changelog,cargo-udeps,cargo-valgrind,cargo-deny,cross,dprint,just,nextest,shellcheck,shfmt,wasm-pack,mdbook,cargo-binstall,grcov,watchexec-cli,cargo-tarpaulin - container: alpine:latest # musl 1.2.3 (as of alpine 3.17) - # cargo-udeps,protoc,valgrind,wasmtime,mdbook-linkcheck,cargo-watch,zola don't provide prebuilt binaries for musl host. - tool: cargo-hack,cargo-llvm-cov,cargo-minimal-versions,cargo-no-dev-deps,parse-changelog,cargo-valgrind,cargo-deny,cross,dprint,just,nextest,shellcheck,shfmt,wasm-pack,mdbook,cargo-binstall,grcov,watchexec-cli,cargo-tarpaulin + # protoc,valgrind,wasmtime,mdbook-linkcheck,cargo-watch,zola don't provide prebuilt binaries for musl host. + tool: cargo-hack,cargo-llvm-cov,cargo-minimal-versions,cargo-no-dev-deps,parse-changelog,cargo-udeps,cargo-valgrind,cargo-deny,cross,dprint,just,nextest,shellcheck,shfmt,wasm-pack,mdbook,cargo-binstall,grcov,watchexec-cli,cargo-tarpaulin runs-on: ubuntu-latest timeout-minutes: 60 container: ${{ matrix.container }} diff --git a/CHANGELOG.md b/CHANGELOG.md index eea9158b..a065b6b2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,8 @@ Note: In this file, do not use the hard wrap in the middle of a sentence for com - Update `cargo-nextest@latest` to 0.9.52. +- Support `cargo-udeps` on Linux (musl) and aarch64 Linux/macOS/Windows. + ## [2.8.0] - 2023-05-03 - Trim whitespace from tool names. ([#115](https://github.com/taiki-e/install-action/pull/115)) diff --git a/manifests/cargo-udeps.json b/manifests/cargo-udeps.json index c95b4c96..fabff871 100644 --- a/manifests/cargo-udeps.json +++ b/manifests/cargo-udeps.json @@ -4,6 +4,10 @@ "url": "https://github.com/est31/cargo-udeps/releases/download/v${version}/cargo-udeps-v${version}-x86_64-unknown-linux-gnu.tar.gz", "bin": "./cargo-udeps-v${version}-x86_64-unknown-linux-gnu/cargo-udeps" }, + "x86_64_linux_musl": { + "url": "https://github.com/est31/cargo-udeps/releases/download/v${version}/cargo-udeps-v${version}-x86_64-unknown-linux-musl.tar.gz", + "bin": "./cargo-udeps-v${version}-x86_64-unknown-linux-musl/cargo-udeps" + }, "x86_64_macos": { "url": "https://github.com/est31/cargo-udeps/releases/download/v${version}/cargo-udeps-v${version}-x86_64-apple-darwin.tar.gz", "bin": "./cargo-udeps-v${version}-x86_64-apple-darwin/cargo-udeps" @@ -11,6 +15,18 @@ "x86_64_windows": { "url": "https://github.com/est31/cargo-udeps/releases/download/v${version}/cargo-udeps-v${version}-x86_64-pc-windows-msvc.zip", "bin": "./cargo-udeps-v${version}-x86_64-pc-windows-msvc/cargo-udeps.exe" + }, + "aarch64_linux_musl": { + "url": "https://github.com/est31/cargo-udeps/releases/download/v${version}/cargo-udeps-v${version}-aarch64-unknown-linux-musl.tar.gz", + "bin": "./cargo-udeps-v${version}-aarch64-unknown-linux-musl/cargo-udeps" + }, + "aarch64_macos": { + "url": "https://github.com/est31/cargo-udeps/releases/download/v${version}/cargo-udeps-v${version}-aarch64-apple-darwin.tar.gz", + "bin": "./cargo-udeps-v${version}-aarch64-apple-darwin/cargo-udeps" + }, + "aarch64_windows": { + "url": "https://github.com/est31/cargo-udeps/releases/download/v${version}/cargo-udeps-v${version}-aarch64-pc-windows-msvc.zip", + "bin": "./cargo-udeps-v${version}-aarch64-pc-windows-msvc/cargo-udeps.exe" } }, "latest": { @@ -20,14 +36,23 @@ "version": "0.1.39" }, "0.1.39": { - "x86_64_linux_gnu": { - "checksum": "c6ce53134935cb182f23cb2ad8eddfbd33398d9eed69770805776e7046b224d6" + "x86_64_linux_musl": { + "checksum": "6476cf5711a150c53b563ecb1680b45365c86b054079b483333a961e14dd2c8a" }, "x86_64_macos": { "checksum": "c93e5e03c64ac351ec69a62d22c119e8b2f612fde5bc7938aade549bc38f4d49" }, "x86_64_windows": { "checksum": "02e5ce690d027a28e323e753ba03f4ce164bd106d98afe437871778f1b166c8f" + }, + "aarch64_linux_musl": { + "checksum": "f5de7ae1fb82ea797be27a56a0cfe80d2724a4ae4d380dd49f1d5ac221f45f4a" + }, + "aarch64_macos": { + "checksum": "d605026264208372def2a3d62498070b02cd3e10fc74ffc7448e8b626fc7fd90" + }, + "aarch64_windows": { + "checksum": "dc026ed1fe5ba3147eda788df31c9da660942b959c3f6b1441752f0f886aef53" } }, "0.1.38": { diff --git a/tools/codegen/base/cargo-udeps.json b/tools/codegen/base/cargo-udeps.json index a326e915..8782c6c6 100644 --- a/tools/codegen/base/cargo-udeps.json +++ b/tools/codegen/base/cargo-udeps.json @@ -5,9 +5,15 @@ "bin": "./${package}-v${version}-${rust_target}/${package}${exe}", "platform": { "x86_64_linux_gnu": {}, + "x86_64_linux_musl": {}, "x86_64_macos": {}, "x86_64_windows": { "asset_name": "${package}-v${version}-${rust_target}.zip" + }, + "aarch64_linux_musl": {}, + "aarch64_macos": {}, + "aarch64_windows": { + "asset_name": "${package}-v${version}-${rust_target}.zip" } } }