Compare commits

...

6 Commits

Author SHA1 Message Date
Taiki Endo
6cd53f784a Release 2.18.1 2023-09-05 22:49:32 +09:00
Taiki Endo
eb8dccef73 ci: Replace rockylinux with almalinux
rockylinux's package manager infrastructure sometimes is broken.

```
+ dnf install -y cargo tar gzip
Rocky Linux 8 - AppStream                        34 kB/s |  10 MB     05:05
Errors during downloading metadata for repository 'appstream':
  - Downloading successful, but checksum doesn't match. Calculated: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855(sha256)  Expected: 0087a37e2eca36cac787004b7945dbbcc2dba4dd776e50d6d1461bfe2cc30434(sha256)
  - Downloading successful, but checksum doesn't match. Calculated: 839488ebc08446a096a893996ed23eac321ac166724cd8c5d9092057834d2d79(sha256)  Expected: b31374fa4a7a732aae643cea0699f714480387baad33061b2fae4530d380a988(sha256)
  - Downloading successful, but checksum doesn't match. Calculated: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855(sha256)  Expected: 649280a7614f8a30d3fcc03560247b64906a6cf26024e090c0272766e671e5f3(sha256)
Error: Failed to download metadata for repo 'appstream': Yum repo downloading error: Downloading error(s): repodata/b31374fa4a7a732aae643cea0699f714480387baad33061b2fae4530d380a988-updateinfo.xml.gz - Cannot download, all mirrors were already tried without success
```

```
+ microdnf install -y cargo tar gzip
Downloading metadata...
error: cannot update repo 'baseos': repomd.xml parser error: Parse error at line: 1 (Extra content at the end of the document
)
```
2023-09-05 22:44:03 +09:00
Taiki Endo
442088fba1 Update changelog 2023-09-05 22:39:17 +09:00
Taiki Endo
18cb28e03d Sort supported tools table 2023-09-05 22:39:14 +09:00
Taiki Endo
099d544df2 Clean up --version calls 2023-09-05 22:39:05 +09:00
Taiki Endo
05558ee559 ci: Update actions/checkout action to v4 2023-09-05 22:38:58 +09:00
6 changed files with 39 additions and 37 deletions

View File

@@ -1,3 +1,4 @@
almalinux
binstall
coreutils
distro
@@ -15,7 +16,6 @@ nextest
protoc
pwsh
quickinstall
rockylinux
shellcheck
shfmt
syft

View File

@@ -55,7 +55,7 @@ jobs:
runs-on: ${{ matrix.os }}
timeout-minutes: 60
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
persist-credentials: false
# cross attempts to install rust-src when Cargo.toml is available even if `cross --version`
@@ -102,10 +102,10 @@ jobs:
- debian:11-slim # glibc 2.31
- debian:12-slim # glibc 2.36
- fedora:latest # glibc 2.37 (as of fedora 38)
- rockylinux:8 # glibc 2.28
- rockylinux:8-minimal # glibc 2.28
- rockylinux:9 # glibc 2.34
- rockylinux:9-minimal # glibc 2.34
- almalinux:8 # glibc 2.28
- almalinux:8-minimal # glibc 2.28
- almalinux:9 # glibc 2.34
- almalinux:9-minimal # glibc 2.34
- centos:7 # glibc 2.17
- alpine:latest # musl 1.2.4 (as of alpine 3.18)
runs-on: ubuntu-latest
@@ -118,16 +118,16 @@ jobs:
apt-get -o Acquire::Retries=10 -qq update
apt-get -o Acquire::Retries=10 -o Dpkg::Use-Pty=0 install -y --no-install-recommends cargo
if: startsWith(matrix.container, 'ubuntu') || startsWith(matrix.container, 'debian')
- name: Install requirements (fedora/rockylinux)
- name: Install requirements (fedora/almalinux)
run: |
set -euxo pipefail
dnf=dnf
if ! type -P dnf &>/dev/null; then
dnf=microdnf
fi
# tar and gzip are required for actions/checkout on rockylinux:*-minimal
# tar and gzip are required for actions/checkout on almalinux:*-minimal
$dnf install -y cargo tar gzip
if: startsWith(matrix.container, 'fedora') || startsWith(matrix.container, 'rockylinux')
if: startsWith(matrix.container, 'fedora') || startsWith(matrix.container, 'almalinux')
- name: Install requirements (centos)
run: |
set -euxo pipefail
@@ -140,7 +140,7 @@ jobs:
apk --no-cache add bash cargo
shell: sh
if: startsWith(matrix.container, 'alpine')
- uses: actions/checkout@v3
- uses: actions/checkout@v3 # TODO: actions/checkout@v3 requires glibc 2.28+
with:
persist-credentials: false
# cross attempts to install rust-src when Cargo.toml is available even if `cross --version`
@@ -159,7 +159,7 @@ jobs:
contents: write
pull-requests: write
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
persist-credentials: false
- name: Install Rust

View File

@@ -20,7 +20,7 @@ jobs:
permissions:
contents: write
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
persist-credentials: false
- uses: taiki-e/create-gh-release-action@v1

View File

@@ -10,6 +10,10 @@ Note: In this file, do not use the hard wrap in the middle of a sentence for com
## [Unreleased]
## [2.18.1] - 2023-09-05
- Diagnostic improvements.
## [2.18.0] - 2023-09-04
- Support `xbuild`. ([#212](https://github.com/taiki-e/install-action/pull/212), thanks @notgull)
@@ -1165,7 +1169,8 @@ Note: This release is considered a breaking change because installing on version
Initial release
[Unreleased]: https://github.com/taiki-e/install-action/compare/v2.18.0...HEAD
[Unreleased]: https://github.com/taiki-e/install-action/compare/v2.18.1...HEAD
[2.18.1]: https://github.com/taiki-e/install-action/compare/v2.18.0...v2.18.1
[2.18.0]: https://github.com/taiki-e/install-action/compare/v2.17.8...v2.18.0
[2.17.8]: https://github.com/taiki-e/install-action/compare/v2.17.7...v2.17.8
[2.17.7]: https://github.com/taiki-e/install-action/compare/v2.17.6...v2.17.7

View File

@@ -82,8 +82,8 @@ https://spdx.org/licenses
| Name | Where binaries will be installed | Where will it be installed from | Supported platform | License |
| ---- | -------------------------------- | ------------------------------- | ------------------ | ------- |
| [**cargo-binstall**][cargo-binstall] | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/cargo-bins/cargo-binstall/releases) | Linux, macOS, Windows | [GPL-3.0](https://github.com/cargo-bins/cargo-binstall/blob/HEAD/crates/bin/LICENSE) |
| [**cargo-deny**](https://github.com/EmbarkStudios/cargo-deny) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/EmbarkStudios/cargo-deny/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/EmbarkStudios/cargo-deny/blob/HEAD/LICENSE-APACHE) OR [MIT](https://github.com/EmbarkStudios/cargo-deny/blob/HEAD/LICENSE-MIT) |
| [**cargo-careful**](https://github.com/RalfJung/cargo-careful) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/RalfJung/cargo-careful/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/RalfJung/cargo-careful/blob/HEAD/LICENSE-APACHE) OR [MIT](https://github.com/RalfJung/cargo-careful/blob/HEAD/LICENSE-MIT) |
| [**cargo-deny**](https://github.com/EmbarkStudios/cargo-deny) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/EmbarkStudios/cargo-deny/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/EmbarkStudios/cargo-deny/blob/HEAD/LICENSE-APACHE) OR [MIT](https://github.com/EmbarkStudios/cargo-deny/blob/HEAD/LICENSE-MIT) |
| [**cargo-dinghy**](https://github.com/sonos/dinghy) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/sonos/dinghy/releases) | Linux, macOS | [Apache-2.0](https://github.com/sonos/dinghy/blob/HEAD/LICENSE-APACHE) OR [MIT](https://github.com/sonos/dinghy/blob/HEAD/LICENSE-MIT) |
| [**cargo-hack**](https://github.com/taiki-e/cargo-hack) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/taiki-e/cargo-hack/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/taiki-e/cargo-hack/blob/HEAD/LICENSE-APACHE) OR [MIT](https://github.com/taiki-e/cargo-hack/blob/HEAD/LICENSE-MIT) |
| [**cargo-llvm-cov**](https://github.com/taiki-e/cargo-llvm-cov) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/taiki-e/cargo-llvm-cov/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/taiki-e/cargo-llvm-cov/blob/HEAD/LICENSE-APACHE) OR [MIT](https://github.com/taiki-e/cargo-llvm-cov/blob/HEAD/LICENSE-MIT) |
@@ -132,7 +132,7 @@ See the linked documentation for information on security when installed using [s
## Compatibility
This action has been tested for GitHub-hosted runners (Ubuntu, macOS, Windows) and containers (Ubuntu, Debian, Alpine, Fedora, CentOS, Rocky).
This action has been tested for GitHub-hosted runners (Ubuntu, macOS, Windows) and containers (Ubuntu, Debian, Alpine, Fedora, CentOS, Alma).
To use this action in self-hosted runners or in containers, at least the following tools are required:
- bash

41
main.sh
View File

@@ -576,35 +576,32 @@ for tool in "${tools[@]}"; do
;;
esac
info "${tool} installed at $(type -P "${tool}${exe}")"
# At least cargo-udeps 0.1.30 and wasm-pack 0.12.0 do not support --version option.
case "${tool}" in
cargo-careful) ;; # cargo-careful 0.3.4 does not support neither --version nor --help option.
xbuild) tool_bin="x" ;;
*) tool_bin="${tool}" ;;
esac
info "${tool} installed at $(type -P "${tool_bin}${exe}")"
# cargo-udeps 0.1.30 and wasm-pack 0.12.0 do not support --version option.
case "${tool}" in
cargo-careful | cargo-machete) ;; # cargo-careful 0.3.4 and cargo-machete 0.5.0 do not support neither --version nor --help option.
cargo-*)
if type -P cargo &>/dev/null; then
case "${tool}" in
cargo-valgrind) rx cargo "${tool#cargo-}" --help ;; # cargo-valgrind 2.1.0's --version option just calls cargo's --version option
*)
if ! rx cargo "${tool#cargo-}" --version; then
rx cargo "${tool#cargo-}" --help
fi
;;
esac
_cargo=cargo
else
case "${tool}" in
cargo-valgrind) rx "${tool}" "${tool#cargo-}" --help ;; # cargo-valgrind 2.1.0's --version option just calls cargo's --version option
*)
if ! rx "${tool}" "${tool#cargo-}" --version; then
rx "${tool}" "${tool#cargo-}" --help
fi
;;
esac
_cargo="${tool}"
fi
case "${tool}" in
cargo-valgrind) rx "${_cargo}" "${tool#cargo-}" --help ;; # cargo-valgrind 2.1.0's --version option just calls cargo's --version option
*)
if ! rx "${_cargo}" "${tool#cargo-}" --version; then
rx "${_cargo}" "${tool#cargo-}" --help
fi
;;
esac
;;
xbuild) rx "x" --version ;;
*)
if ! rx "${tool}" --version; then
rx "${tool}" --help
if ! rx "${tool_bin}" --version; then
rx "${tool_bin}" --help
fi
;;
esac