diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 58755fcf..366770f4 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -56,8 +56,12 @@ jobs: fail-fast: false matrix: container: + - ubuntu:18.04 # glibc 2.27 - ubuntu:20.04 # glibc 2.31 + - debian:10-slim # glibc 2.28 - debian:11-slim # glibc 2.31 + - rockylinux:8 # glibc 2.28 + - rockylinux:8-minimal # glibc 2.28 tool: # valgrind: installing snap to container is difficult... - cargo-hack,cargo-llvm-cov,cargo-minimal-versions,parse-changelog,cargo-udeps,cargo-valgrind,cargo-deny,cross,nextest,protoc,shellcheck,shfmt,wasm-pack,wasmtime,mdbook,mdbook-linkcheck,cargo-watch @@ -65,30 +69,16 @@ jobs: - container: ubuntu:22.04 # glibc 2.35 # cargo-udeps depends on openssl 1.1 tool: cargo-hack,cargo-llvm-cov,cargo-minimal-versions,parse-changelog,cargo-valgrind,cargo-deny,cross,nextest,protoc,shellcheck,shfmt,wasm-pack,wasmtime,mdbook,mdbook-linkcheck,cargo-watch - - container: ubuntu:18.04 # glibc 2.27 - # The latest mdbook provides prebuilt binaries for musl host, but we don't support it yet (will be done by https://github.com/taiki-e/install-action/pull/27) - tool: cargo-hack,cargo-llvm-cov,cargo-minimal-versions,parse-changelog,cargo-udeps,cargo-valgrind,cargo-deny,cross,nextest,protoc,shellcheck,shfmt,wasm-pack,wasmtime,mdbook-linkcheck,cargo-watch - - container: debian:10-slim # glibc 2.28 - # The latest mdbook provides prebuilt binaries for musl host, but we don't support it yet (will be done by https://github.com/taiki-e/install-action/pull/27) - tool: cargo-hack,cargo-llvm-cov,cargo-minimal-versions,parse-changelog,cargo-udeps,cargo-valgrind,cargo-deny,cross,nextest,protoc,shellcheck,shfmt,wasm-pack,wasmtime,mdbook-linkcheck,cargo-watch - 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,parse-changelog,cargo-valgrind,cargo-deny,cross,nextest,protoc,shellcheck,shfmt,wasm-pack,wasmtime,mdbook,mdbook-linkcheck,cargo-watch - - container: rockylinux:8 # glibc 2.28 - # The latest mdbook provides prebuilt binaries for musl host, but we don't support it yet (will be done by https://github.com/taiki-e/install-action/pull/27) - tool: cargo-hack,cargo-llvm-cov,cargo-minimal-versions,parse-changelog,cargo-udeps,cargo-valgrind,cargo-deny,cross,nextest,protoc,shellcheck,shfmt,wasm-pack,wasmtime,mdbook-linkcheck,cargo-watch - - container: rockylinux:8-minimal # glibc 2.28 - # The latest mdbook provides prebuilt binaries for musl host, but we don't support it yet (will be done by https://github.com/taiki-e/install-action/pull/27) - tool: cargo-hack,cargo-llvm-cov,cargo-minimal-versions,parse-changelog,cargo-udeps,cargo-valgrind,cargo-deny,cross,nextest,protoc,shellcheck,shfmt,wasm-pack,wasmtime,mdbook-linkcheck,cargo-watch - container: centos:7 # glibc 2.17 # cargo-udeps,protoc,valgrind,wasmtime,mdbook-linkcheck,cargo-watch don't provide prebuilt binaries for musl host. - # The latest mdbook provides prebuilt binaries for musl host, but we don't support it yet (will be done by https://github.com/taiki-e/install-action/pull/27) # we don't support nextest on very old glibc due to https://github.com/taiki-e/install-action/issues/13. - tool: cargo-hack,cargo-llvm-cov,cargo-minimal-versions,parse-changelog,cargo-valgrind,cargo-deny,cross,shellcheck,shfmt,wasm-pack,cargo-binstall + tool: cargo-hack,cargo-llvm-cov,cargo-minimal-versions,parse-changelog,cargo-valgrind,cargo-deny,cross,shellcheck,shfmt,wasm-pack,mdbook,cargo-binstall - container: alpine:latest # musl 1.2.3 (as of alpine 3.17) # cargo-udeps,protoc,valgrind,wasmtime,mdbook-linkcheck,cargo-watch don't provide prebuilt binaries for musl host. - # The latest mdbook provides prebuilt binaries for musl host, but we don't support it yet (will be done by https://github.com/taiki-e/install-action/pull/27) - tool: cargo-hack,cargo-llvm-cov,cargo-minimal-versions,parse-changelog,cargo-valgrind,cargo-deny,cross,nextest,shellcheck,shfmt,wasm-pack,cargo-binstall + tool: cargo-hack,cargo-llvm-cov,cargo-minimal-versions,parse-changelog,cargo-valgrind,cargo-deny,cross,nextest,shellcheck,shfmt,wasm-pack,mdbook,cargo-binstall runs-on: ubuntu-latest container: ${{ matrix.container }} steps: diff --git a/CHANGELOG.md b/CHANGELOG.md index 3742d1f6..c3c583cd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ Note: In this file, do not use the hard wrap in the middle of a sentence for com ## [Unreleased] - Update `mdbook@latest` to 0.4.23. +- Support `mdbook` on Linux (musl). ## [1.17.0] - 2022-12-14 diff --git a/main.sh b/main.sh index f980e6d8..c80161db 100755 --- a/main.sh +++ b/main.sh @@ -601,7 +601,12 @@ for tool in "${tools[@]}"; do esac base_url="https://github.com/${repo}/releases/download/v${version}/${tool}-v${version}" case "${OSTYPE}" in - linux*) url="${base_url}-x86_64-unknown-linux-gnu.tar.gz" ;; + linux*) + case "${version}" in + 0.[1-3].* | 0.4.? | 0.4.1? | 0.4.2[0-1]) url="${base_url}-x86_64-unknown-linux-gnu.tar.gz" ;; + *) url="${base_url}-${host_arch}-unknown-linux-musl.tar.gz" ;; + esac + ;; darwin*) url="${base_url}-x86_64-apple-darwin.tar.gz" ;; cygwin* | msys*) url="${base_url}-x86_64-pc-windows-msvc.zip" ;; *) bail "unsupported OSTYPE '${OSTYPE}' for ${tool}" ;;