mirror of
https://github.com/taiki-e/install-action.git
synced 2026-05-14 00:10:27 +00:00
Compare commits
12 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9a29ce630c | ||
|
|
acc0c0687d | ||
|
|
c98c0a5de9 | ||
|
|
b5a6a481a3 | ||
|
|
936bda0c55 | ||
|
|
e0abba697f | ||
|
|
320900e2b1 | ||
|
|
4ea8614f66 | ||
|
|
c4112353fe | ||
|
|
d14576d5ee | ||
|
|
54f239fc7f | ||
|
|
0c60ab7876 |
32
.github/workflows/ci.yml
vendored
32
.github/workflows/ci.yml
vendored
@@ -34,7 +34,7 @@ jobs:
|
|||||||
include:
|
include:
|
||||||
# Note: Specifying the version of valgrind and cargo-binstall is not supported.
|
# Note: Specifying the version of valgrind and cargo-binstall is not supported.
|
||||||
- os: ubuntu-20.04
|
- os: ubuntu-20.04
|
||||||
tool: cargo-hack@0.5.24,cargo-llvm-cov@0.5.2,cargo-minimal-versions@0.1.8,parse-changelog@0.5.2,cargo-udeps@0.1.35,cargo-valgrind@2.1.0,cargo-deny@0.13.5,cross@0.2.4,nextest@0.9.11,protoc@3.21.12,shellcheck@0.9.0,shfmt@3.6.0,wasm-pack@0.10.3,wasmtime@3.0.1,mdbook@0.4.22,mdbook-linkcheck@0.7.7,cargo-watch@8.1.1
|
tool: cargo-hack@0.5.24,cargo-llvm-cov@0.5.3,cargo-minimal-versions@0.1.8,parse-changelog@0.5.2,cargo-udeps@0.1.35,cargo-valgrind@2.1.0,cargo-deny@0.13.5,cross@0.2.4,nextest@0.9.11,protoc@3.21.12,shellcheck@0.9.0,shfmt@3.6.0,wasm-pack@0.10.3,wasmtime@4.0.0,mdbook@0.4.25,mdbook-linkcheck@0.7.7,cargo-watch@8.1.1
|
||||||
# Nextest supports basic version ranges as well. For other tools, this will be supported by https://github.com/taiki-e/install-action/pull/27.
|
# Nextest supports basic version ranges as well. For other tools, this will be supported by https://github.com/taiki-e/install-action/pull/27.
|
||||||
- os: ubuntu-20.04
|
- os: ubuntu-20.04
|
||||||
tool: nextest@0.9
|
tool: nextest@0.9
|
||||||
@@ -56,8 +56,12 @@ jobs:
|
|||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
container:
|
container:
|
||||||
|
- ubuntu:18.04 # glibc 2.27
|
||||||
- ubuntu:20.04 # glibc 2.31
|
- ubuntu:20.04 # glibc 2.31
|
||||||
|
- debian:10-slim # glibc 2.28
|
||||||
- debian:11-slim # glibc 2.31
|
- debian:11-slim # glibc 2.31
|
||||||
|
- rockylinux:8 # glibc 2.28
|
||||||
|
- rockylinux:8-minimal # glibc 2.28
|
||||||
tool:
|
tool:
|
||||||
# valgrind: installing snap to container is difficult...
|
# 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
|
- 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,42 +69,28 @@ jobs:
|
|||||||
- container: ubuntu:22.04 # glibc 2.35
|
- container: ubuntu:22.04 # glibc 2.35
|
||||||
# cargo-udeps depends on openssl 1.1
|
# 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
|
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)
|
- container: fedora:latest # glibc 2.36 (as of fedora 37)
|
||||||
# cargo-udeps depends on openssl 1.1
|
# 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
|
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
|
- container: centos:7 # glibc 2.17
|
||||||
# cargo-udeps,protoc,valgrind,wasmtime,mdbook-linkcheck,cargo-watch don't provide prebuilt binaries for musl host.
|
# 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.
|
# 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)
|
- 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.
|
# 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,mdbook,cargo-binstall
|
||||||
tool: cargo-hack,cargo-llvm-cov,cargo-minimal-versions,parse-changelog,cargo-valgrind,cargo-deny,cross,nextest,shellcheck,shfmt,wasm-pack,cargo-binstall
|
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
container: ${{ matrix.container }}
|
container: ${{ matrix.container }}
|
||||||
steps:
|
steps:
|
||||||
- name: Install requirements (ubuntu/debian)
|
- name: Install requirements (ubuntu/debian)
|
||||||
run: |
|
run: |
|
||||||
set -ex
|
set -euxo pipefail
|
||||||
apt-get -o Acquire::Retries=10 -qq update
|
apt-get -o Acquire::Retries=10 -qq update
|
||||||
apt-get -o Acquire::Retries=10 -qq -o Dpkg::Use-Pty=0 install -y --no-install-recommends cargo
|
apt-get -o Acquire::Retries=10 -qq -o Dpkg::Use-Pty=0 install -y --no-install-recommends cargo
|
||||||
if: startsWith(matrix.container, 'ubuntu') || startsWith(matrix.container, 'debian')
|
if: startsWith(matrix.container, 'ubuntu') || startsWith(matrix.container, 'debian')
|
||||||
- name: Install requirements (fedora/rockylinux)
|
- name: Install requirements (fedora/rockylinux)
|
||||||
run: |
|
run: |
|
||||||
set -ex
|
set -euxo pipefail
|
||||||
dnf=dnf
|
dnf=dnf
|
||||||
if ! type -P dnf &>/dev/null; then
|
if ! type -P dnf &>/dev/null; then
|
||||||
dnf=microdnf
|
dnf=microdnf
|
||||||
@@ -110,13 +100,13 @@ jobs:
|
|||||||
if: startsWith(matrix.container, 'fedora') || startsWith(matrix.container, 'rockylinux')
|
if: startsWith(matrix.container, 'fedora') || startsWith(matrix.container, 'rockylinux')
|
||||||
- name: Install requirements (centos)
|
- name: Install requirements (centos)
|
||||||
run: |
|
run: |
|
||||||
set -ex
|
set -euxo pipefail
|
||||||
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain stable
|
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain stable
|
||||||
echo "$HOME/.cargo/bin" >>"${GITHUB_PATH}"
|
echo "$HOME/.cargo/bin" >>"${GITHUB_PATH}"
|
||||||
if: startsWith(matrix.container, 'centos')
|
if: startsWith(matrix.container, 'centos')
|
||||||
- name: Install requirements (alpine)
|
- name: Install requirements (alpine)
|
||||||
run: |
|
run: |
|
||||||
set -ex
|
set -eux
|
||||||
apk add bash cargo
|
apk add bash cargo
|
||||||
shell: sh
|
shell: sh
|
||||||
if: startsWith(matrix.container, 'alpine')
|
if: startsWith(matrix.container, 'alpine')
|
||||||
|
|||||||
19
CHANGELOG.md
19
CHANGELOG.md
@@ -10,6 +10,20 @@ Note: In this file, do not use the hard wrap in the middle of a sentence for com
|
|||||||
|
|
||||||
## [Unreleased]
|
## [Unreleased]
|
||||||
|
|
||||||
|
## [1.17.3] - 2022-12-22
|
||||||
|
|
||||||
|
- Update `wasmtime@latest` to 4.0.0.
|
||||||
|
|
||||||
|
## [1.17.2] - 2022-12-17
|
||||||
|
|
||||||
|
- Update `mdbook@latest` to 0.4.25.
|
||||||
|
|
||||||
|
## [1.17.1] - 2022-12-15
|
||||||
|
|
||||||
|
- Update `mdbook@latest` to 0.4.23.
|
||||||
|
- Support `mdbook` on Linux (musl).
|
||||||
|
- Update `cargo-llvm-cov@latest` to 0.5.3.
|
||||||
|
|
||||||
## [1.17.0] - 2022-12-14
|
## [1.17.0] - 2022-12-14
|
||||||
|
|
||||||
- Update `protoc@latest` to 3.21.12.
|
- Update `protoc@latest` to 3.21.12.
|
||||||
@@ -447,7 +461,10 @@ Note: In this file, do not use the hard wrap in the middle of a sentence for com
|
|||||||
|
|
||||||
Initial release
|
Initial release
|
||||||
|
|
||||||
[Unreleased]: https://github.com/taiki-e/install-action/compare/v1.17.0...HEAD
|
[Unreleased]: https://github.com/taiki-e/install-action/compare/v1.17.3...HEAD
|
||||||
|
[1.17.3]: https://github.com/taiki-e/install-action/compare/v1.17.2...v1.17.3
|
||||||
|
[1.17.2]: https://github.com/taiki-e/install-action/compare/v1.17.1...v1.17.2
|
||||||
|
[1.17.1]: https://github.com/taiki-e/install-action/compare/v1.17.0...v1.17.1
|
||||||
[1.17.0]: https://github.com/taiki-e/install-action/compare/v1.16.0...v1.17.0
|
[1.17.0]: https://github.com/taiki-e/install-action/compare/v1.16.0...v1.17.0
|
||||||
[1.16.0]: https://github.com/taiki-e/install-action/compare/v1.15.5...v1.16.0
|
[1.16.0]: https://github.com/taiki-e/install-action/compare/v1.15.5...v1.16.0
|
||||||
[1.15.5]: https://github.com/taiki-e/install-action/compare/v1.15.4...v1.15.5
|
[1.15.5]: https://github.com/taiki-e/install-action/compare/v1.15.4...v1.15.5
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# install-action
|
# install-action
|
||||||
|
|
||||||
[](https://github.com/taiki-e/install-action/actions)
|
[](https://github.com/taiki-e/install-action/actions)
|
||||||
|
|
||||||
GitHub Action for installing development tools (mainly from GitHub Releases).
|
GitHub Action for installing development tools (mainly from GitHub Releases).
|
||||||
|
|
||||||
|
|||||||
16
main.sh
16
main.sh
@@ -213,11 +213,14 @@ case "$(uname -m)" in
|
|||||||
# Ignore arm for now, as we need to consider the version and whether hard-float is supported.
|
# Ignore arm for now, as we need to consider the version and whether hard-float is supported.
|
||||||
# https://github.com/rust-lang/rustup/pull/593
|
# https://github.com/rust-lang/rustup/pull/593
|
||||||
# https://github.com/cross-rs/cross/pull/1018
|
# https://github.com/cross-rs/cross/pull/1018
|
||||||
|
# Does it seem only armv7l is supported?
|
||||||
|
# https://github.com/actions/runner/blob/6b9e8a6be411a6e63d5ccaf3c47e7b7622c5ec49/src/Misc/externals.sh#L174
|
||||||
bail "32-bit ARM runner is not supported yet by this action"
|
bail "32-bit ARM runner is not supported yet by this action"
|
||||||
;;
|
;;
|
||||||
# GitHub Actions Runner supports Linux (x86_64, aarch64, arm), Windows (x86_64, aarch64),
|
# GitHub Actions Runner supports Linux (x86_64, aarch64, arm), Windows (x86_64, aarch64),
|
||||||
# and macOS (x86_64, aarch64).
|
# and macOS (x86_64, aarch64).
|
||||||
# https://github.com/actions/runner
|
# https://github.com/actions/runner
|
||||||
|
# https://docs.github.com/en/actions/hosting-your-own-runners/about-self-hosted-runners#supported-architectures-and-operating-systems-for-self-hosted-runners
|
||||||
# So we can assume x86_64 unless it is aarch64 or arm.
|
# So we can assume x86_64 unless it is aarch64 or arm.
|
||||||
*) host_arch="x86_64" ;;
|
*) host_arch="x86_64" ;;
|
||||||
esac
|
esac
|
||||||
@@ -289,7 +292,7 @@ for tool in "${tools[@]}"; do
|
|||||||
# https://github.com/taiki-e/cargo-hack/releases
|
# https://github.com/taiki-e/cargo-hack/releases
|
||||||
cargo-hack) latest_version="0.5.24" ;;
|
cargo-hack) latest_version="0.5.24" ;;
|
||||||
# https://github.com/taiki-e/cargo-llvm-cov/releases
|
# https://github.com/taiki-e/cargo-llvm-cov/releases
|
||||||
cargo-llvm-cov) latest_version="0.5.2" ;;
|
cargo-llvm-cov) latest_version="0.5.3" ;;
|
||||||
# https://github.com/taiki-e/cargo-minimal-versions/releases
|
# https://github.com/taiki-e/cargo-minimal-versions/releases
|
||||||
cargo-minimal-versions) latest_version="0.1.8" ;;
|
cargo-minimal-versions) latest_version="0.1.8" ;;
|
||||||
# https://github.com/taiki-e/parse-changelog/releases
|
# https://github.com/taiki-e/parse-changelog/releases
|
||||||
@@ -566,7 +569,7 @@ for tool in "${tools[@]}"; do
|
|||||||
;;
|
;;
|
||||||
wasmtime)
|
wasmtime)
|
||||||
# https://github.com/bytecodealliance/wasmtime/releases
|
# https://github.com/bytecodealliance/wasmtime/releases
|
||||||
latest_version="3.0.1"
|
latest_version="4.0.0"
|
||||||
repo="bytecodealliance/${tool}"
|
repo="bytecodealliance/${tool}"
|
||||||
case "${version}" in
|
case "${version}" in
|
||||||
latest) version="${latest_version}" ;;
|
latest) version="${latest_version}" ;;
|
||||||
@@ -591,14 +594,19 @@ for tool in "${tools[@]}"; do
|
|||||||
;;
|
;;
|
||||||
mdbook)
|
mdbook)
|
||||||
# https://github.com/rust-lang/mdBook/releases
|
# https://github.com/rust-lang/mdBook/releases
|
||||||
latest_version="0.4.22"
|
latest_version="0.4.25"
|
||||||
repo="rust-lang/mdBook"
|
repo="rust-lang/mdBook"
|
||||||
case "${version}" in
|
case "${version}" in
|
||||||
latest) version="${latest_version}" ;;
|
latest) version="${latest_version}" ;;
|
||||||
esac
|
esac
|
||||||
base_url="https://github.com/${repo}/releases/download/v${version}/${tool}-v${version}"
|
base_url="https://github.com/${repo}/releases/download/v${version}/${tool}-v${version}"
|
||||||
case "${OSTYPE}" in
|
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" ;;
|
darwin*) url="${base_url}-x86_64-apple-darwin.tar.gz" ;;
|
||||||
cygwin* | msys*) url="${base_url}-x86_64-pc-windows-msvc.zip" ;;
|
cygwin* | msys*) url="${base_url}-x86_64-pc-windows-msvc.zip" ;;
|
||||||
*) bail "unsupported OSTYPE '${OSTYPE}' for ${tool}" ;;
|
*) bail "unsupported OSTYPE '${OSTYPE}' for ${tool}" ;;
|
||||||
|
|||||||
Reference in New Issue
Block a user