Compare commits

...

40 Commits

Author SHA1 Message Date
Taiki Endo
100e23f1d0 Release 2.40.2 2024-06-21 10:37:33 +09:00
Taiki Endo
ee46a3debe Update zola@latest to 0.19.0 2024-06-21 10:16:25 +09:00
Taiki Endo
5729c89463 Update wasmtime@latest to 22.0.0 2024-06-21 03:27:57 +09:00
Taiki Endo
b572a9de6f Release 2.40.1 2024-06-20 21:59:15 +09:00
Taiki Endo
abf895aa42 Update cargo-zigbuild@latest to 0.19.0 2024-06-20 21:37:06 +09:00
Taiki Endo
f3e04cf24a Update cargo-binstall@latest to 1.7.2 2024-06-20 21:37:06 +09:00
Taiki Endo
bcdb46af7d Update biome@latest to 1.8.2 2024-06-20 21:37:06 +09:00
Taiki Endo
a5ddc5a290 codegen: Cleanup 2024-06-20 04:34:01 +09:00
Taiki Endo
e2ceb8a503 codegen: Unify string conversion style 2024-06-20 04:32:58 +09:00
Taiki Endo
4222c00e29 ci: Test GitHub-hosted ubuntu-24.04 runner 2024-06-20 04:24:39 +09:00
Taiki Endo
dd4a3046d3 Release 2.40.0 2024-06-20 02:45:49 +09:00
Taiki Endo
e02c98b988 Update changelog 2024-06-20 02:45:20 +09:00
Taiki Endo
881201d335 Do not install to /usr/local/bin 2024-06-20 02:42:24 +09:00
Taiki Endo
68f6e9af1b Release 2.39.2 2024-06-18 10:56:06 +09:00
Taiki Endo
d86eb37abb Update dprint@latest to 0.46.3 2024-06-18 10:12:02 +09:00
Taiki Endo
0ed897e40f Update cargo-semver-checks@latest to 0.32.0 2024-06-18 04:17:41 +09:00
Taiki Endo
f6d557a493 Update cargo-dinghy@latest to 0.7.2 2024-06-18 04:17:41 +09:00
Taiki Endo
47943d5b8d Release 2.39.1 2024-06-15 19:27:13 +09:00
Taiki Endo
5b20f8136e Update cargo-binstall@latest to 1.7.1 2024-06-15 18:38:26 +09:00
Taiki Endo
6a5e5c2027 Release 2.39.0 2024-06-15 16:38:52 +09:00
Taiki Endo
69538e2103 Update cargo-binstall@latest to 1.7.0 (#539) 2024-06-15 06:22:13 +00:00
Taiki Endo
a8a128c2d2 Release 2.38.7 2024-06-15 11:38:52 +09:00
Taiki Endo
2bc1761887 Update syft@latest to 1.7.0 2024-06-15 06:52:17 +09:00
Taiki Endo
8a60518f4e Update just@latest to 1.29.1 2024-06-15 06:52:17 +09:00
Taiki Endo
30a11dbd9e Update rclone@latest to 1.67.0 2024-06-15 03:52:33 +09:00
Taiki Endo
3e3b268956 Release 2.38.6 2024-06-15 01:11:08 +09:00
Taiki Endo
19a89ed24b Update just@latest to 1.29.0 2024-06-14 13:05:32 +09:00
Taiki Endo
309ee82715 Release 2.38.5 2024-06-13 09:43:25 +09:00
Taiki Endo
d5ce3a6de4 Update typos@latest to 1.22.7 2024-06-13 03:58:19 +09:00
Taiki Endo
9531aeedc3 Update espup@latest to 0.12.0 2024-06-13 03:58:19 +09:00
Taiki Endo
07a34f8347 Release 2.38.4 2024-06-12 02:16:44 +09:00
Taiki Endo
e626313db4 Workaround Cygwin bash's buggy behavior 2024-06-12 02:15:37 +09:00
Taiki Endo
01c63d291f Improve diagnostics for non-default bash on Windows 2024-06-12 00:58:48 +09:00
Taiki Endo
43f5aa7172 Release 2.38.3 2024-06-11 23:28:33 +09:00
Taiki Endo
1330af6455 Update changelog 2024-06-11 23:28:01 +09:00
Taiki Endo
01ad6befc0 Workaround msys64 bash's buggy behavior 2024-06-11 23:23:23 +09:00
Taiki Endo
0a18e2472c Update typos@latest to 1.22.4 2024-06-11 10:11:32 +09:00
Taiki Endo
ca13ba3e0d Update earthly@latest to 0.8.14 2024-06-11 05:42:24 +09:00
Taiki Endo
fa446e93ef Update cargo-rdme manifest 2024-06-11 05:42:24 +09:00
Taiki Endo
3c1a9d610d codegen: Mark cargo-rdme 1.4.4 as broken
Same as a86757441d.
2024-06-11 04:55:02 +09:00
23 changed files with 579 additions and 131 deletions

View File

@@ -2,8 +2,10 @@ almalinux
archlinux archlinux
bindgen bindgen
binstall binstall
choco
coreutils coreutils
cyclonedx cyclonedx
cygdrive
deepsource deepsource
distro distro
doas doas
@@ -23,6 +25,7 @@ pwsh
quickinstall quickinstall
rclone rclone
rdme rdme
requirechecksums
sccache sccache
syft syft
udeps udeps

View File

@@ -42,6 +42,7 @@ jobs:
include: include:
- os: ubuntu-20.04 - os: ubuntu-20.04
- os: ubuntu-22.04 - os: ubuntu-22.04
- os: ubuntu-24.04
- os: ubuntu-22.04 - os: ubuntu-22.04
tool: major.minor.patch tool: major.minor.patch
- os: ubuntu-22.04 - os: ubuntu-22.04
@@ -53,6 +54,11 @@ jobs:
- os: macos-14 - os: macos-14
- os: windows-2019 - os: windows-2019
- os: windows-2022 - os: windows-2022
# https://github.com/taiki-e/install-action/pull/518#issuecomment-2160736760
- os: windows-2022
bash: msys64
- os: windows-2022
bash: cygwin
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
timeout-minutes: 60 timeout-minutes: 60
steps: steps:
@@ -62,6 +68,18 @@ jobs:
- name: Generate tool list - name: Generate tool list
id: tool-list id: tool-list
run: tools/ci/tool-list.sh "${{ matrix.tool }}" >>"${GITHUB_OUTPUT}" run: tools/ci/tool-list.sh "${{ matrix.tool }}" >>"${GITHUB_OUTPUT}"
- run: |
set -eEuxo pipefail
echo "C:\msys64\mingw32\bin" >> $GITHUB_PATH
echo "C:\msys64\usr\bin" >> $GITHUB_PATH
if: matrix.bash == 'msys64'
- run: |
set -eEuxo pipefail
choco install --no-progress --requirechecksums cygwin
echo "C:\tools\cygwin\bin" >> $GITHUB_PATH
echo "C:\tools\cygwin\usr\bin" >> $GITHUB_PATH
if: matrix.bash == 'cygwin'
- run: env
- uses: ./ - uses: ./
with: with:
tool: ${{ steps.tool-list.outputs.tool }} tool: ${{ steps.tool-list.outputs.tool }}
@@ -92,6 +110,7 @@ jobs:
if [[ "$(cargo binstall -V)" != "$(jq -r '.latest.version' manifests/cargo-binstall.json)" ]]; then if [[ "$(cargo binstall -V)" != "$(jq -r '.latest.version' manifests/cargo-binstall.json)" ]]; then
exit 1 exit 1
fi fi
if: matrix.bash != 'cygwin'
test-container: test-container:
strategy: strategy:

View File

@@ -10,6 +10,80 @@ Note: In this file, do not use the hard wrap in the middle of a sentence for com
## [Unreleased] ## [Unreleased]
## [2.40.2] - 2024-06-21
- Update `zola@latest` to 0.19.0.
- Update `wasmtime@latest` to 22.0.0.
## [2.40.1] - 2024-06-20
- Update `cargo-zigbuild@latest` to 0.19.0.
- Update `cargo-binstall@latest` to 1.7.2.
- Update `biome@latest` to 1.8.2.
## [2.40.0] - 2024-06-19
- Fix an installation issue on some container environments. ([#545](https://github.com/taiki-e/install-action/pull/545))
## [2.39.2] - 2024-06-18
- Update `dprint@latest` to 0.46.3.
- Update `cargo-semver-checks@latest` to 0.32.0.
- Update `cargo-dinghy@latest` to 0.7.2.
## [2.39.1] - 2024-06-15
- Update `cargo-binstall@latest` to 1.7.1.
## [2.39.0] - 2024-06-15
- Update `cargo-binstall@latest` to 1.7.0.
## [2.38.7] - 2024-06-15
- Update `syft@latest` to 1.7.0.
- Update `just@latest` to 1.29.1.
- Update `rclone@latest` to 1.67.0.
## [2.38.6] - 2024-06-14
- Update `just@latest` to 1.29.0.
## [2.38.5] - 2024-06-13
- Update `typos@latest` to 1.22.7.
- Update `espup@latest` to 0.12.0.
## [2.38.4] - 2024-06-11
- Workaround Cygwin bash's buggy behavior. ([#534](https://github.com/taiki-e/install-action/pull/534))
This fixes an installation issue when default bash was overridden like the following:
```sh
echo "C:\tools\cygwin\bin" >> $GITHUB_PATH
```
## [2.38.3] - 2024-06-11
- Workaround MSYS64 bash's buggy behavior. ([#533](https://github.com/taiki-e/install-action/pull/533))
This fixes an installation issue when default bash was overridden like the following:
```sh
echo "C:\msys64\usr\bin" >> $GITHUB_PATH
```
- Update `typos@latest` to 1.22.4.
- Update `earthly@latest` to 0.8.14.
## [2.38.2] - 2024-06-10 ## [2.38.2] - 2024-06-10
- Update `syft@latest` to 1.6.0. - Update `syft@latest` to 1.6.0.
@@ -2296,7 +2370,18 @@ Note: This release is considered a breaking change because installing on version
Initial release Initial release
[Unreleased]: https://github.com/taiki-e/install-action/compare/v2.38.2...HEAD [Unreleased]: https://github.com/taiki-e/install-action/compare/v2.40.2...HEAD
[2.40.2]: https://github.com/taiki-e/install-action/compare/v2.40.1...v2.40.2
[2.40.1]: https://github.com/taiki-e/install-action/compare/v2.40.0...v2.40.1
[2.40.0]: https://github.com/taiki-e/install-action/compare/v2.39.2...v2.40.0
[2.39.2]: https://github.com/taiki-e/install-action/compare/v2.39.1...v2.39.2
[2.39.1]: https://github.com/taiki-e/install-action/compare/v2.39.0...v2.39.1
[2.39.0]: https://github.com/taiki-e/install-action/compare/v2.38.7...v2.39.0
[2.38.7]: https://github.com/taiki-e/install-action/compare/v2.38.6...v2.38.7
[2.38.6]: https://github.com/taiki-e/install-action/compare/v2.38.5...v2.38.6
[2.38.5]: https://github.com/taiki-e/install-action/compare/v2.38.4...v2.38.5
[2.38.4]: https://github.com/taiki-e/install-action/compare/v2.38.3...v2.38.4
[2.38.3]: https://github.com/taiki-e/install-action/compare/v2.38.2...v2.38.3
[2.38.2]: https://github.com/taiki-e/install-action/compare/v2.38.1...v2.38.2 [2.38.2]: https://github.com/taiki-e/install-action/compare/v2.38.1...v2.38.2
[2.38.1]: https://github.com/taiki-e/install-action/compare/v2.38.0...v2.38.1 [2.38.1]: https://github.com/taiki-e/install-action/compare/v2.38.0...v2.38.1
[2.38.0]: https://github.com/taiki-e/install-action/compare/v2.37.0...v2.38.0 [2.38.0]: https://github.com/taiki-e/install-action/compare/v2.37.0...v2.38.0

View File

@@ -7,12 +7,11 @@ If a tool not included in the list below is specified, this action uses [cargo-b
See the [Supported tools section in README.md](README.md#supported-tools) for how to ensure that fallback is not used. See the [Supported tools section in README.md](README.md#supported-tools) for how to ensure that fallback is not used.
> If `$CARGO_HOME/bin` is not available, Rust-related binaries will be installed to `$HOME/.cargo/bin`.<br> > If `$CARGO_HOME/bin` is not available, Rust-related binaries will be installed to `$HOME/.cargo/bin`.<br>
> If `$HOME/.cargo/bin` is not available, Rust-related binaries will be installed to `/usr/local/bin`.<br> > If `$HOME/.cargo/bin` is not available, Rust-related binaries will be installed to `$HOME/.install-action/bin`.<br>
> If `/usr/local/bin` is not available, binaries will be installed to `$HOME/.install-action/bin`.<br>
| Name | Where binaries will be installed | Where will it be installed from | Supported platform | License | | Name | Where binaries will be installed | Where will it be installed from | Supported platform | License |
| ---- | -------------------------------- | ------------------------------- | ------------------ | ------- | | ---- | -------------------------------- | ------------------------------- | ------------------ | ------- |
| [**biome**](https://biomejs.dev) | `/usr/local/bin` | [GitHub Releases](https://github.com/biomejs/biome/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/biomejs/biome/blob/main/LICENSE-APACHE) OR [MIT](https://github.com/biomejs/biome/blob/main/LICENSE-MIT) | | [**biome**](https://biomejs.dev) | `$HOME/.install-action/bin` | [GitHub Releases](https://github.com/biomejs/biome/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/biomejs/biome/blob/main/LICENSE-APACHE) OR [MIT](https://github.com/biomejs/biome/blob/main/LICENSE-MIT) |
| [**cargo-audit**](https://github.com/rustsec/rustsec/tree/HEAD/cargo-audit) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/rustsec/rustsec/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/rustsec/rustsec/blob/HEAD/cargo-audit/LICENSE-APACHE) OR [MIT](https://github.com/rustsec/rustsec/blob/HEAD/cargo-audit/LICENSE-MIT) | | [**cargo-audit**](https://github.com/rustsec/rustsec/tree/HEAD/cargo-audit) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/rustsec/rustsec/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/rustsec/rustsec/blob/HEAD/cargo-audit/LICENSE-APACHE) OR [MIT](https://github.com/rustsec/rustsec/blob/HEAD/cargo-audit/LICENSE-MIT) |
| [**cargo-binstall**](https://github.com/cargo-bins/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-binstall**](https://github.com/cargo-bins/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-careful**](https://github.com/RalfJung/cargo-careful) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/RalfJung/cargo-careful/releases) | Linux, macOS, Windows | [MIT](https://github.com/RalfJung/cargo-careful/blob/master/LICENSE-MIT) OR [Apache-2.0](https://github.com/RalfJung/cargo-careful/blob/master/LICENSE-APACHE) | | [**cargo-careful**](https://github.com/RalfJung/cargo-careful) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/RalfJung/cargo-careful/releases) | Linux, macOS, Windows | [MIT](https://github.com/RalfJung/cargo-careful/blob/master/LICENSE-MIT) OR [Apache-2.0](https://github.com/RalfJung/cargo-careful/blob/master/LICENSE-APACHE) |
@@ -36,10 +35,10 @@ See the [Supported tools section in README.md](README.md#supported-tools) for ho
| [**cargo-valgrind**](https://github.com/jfrimmel/cargo-valgrind) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/jfrimmel/cargo-valgrind/releases) | Linux, macOS, Windows | [MIT](https://github.com/jfrimmel/cargo-valgrind/blob/master/LICENSE-MIT) OR [Apache-2.0](https://github.com/jfrimmel/cargo-valgrind/blob/master/LICENSE-APACHE) | | [**cargo-valgrind**](https://github.com/jfrimmel/cargo-valgrind) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/jfrimmel/cargo-valgrind/releases) | Linux, macOS, Windows | [MIT](https://github.com/jfrimmel/cargo-valgrind/blob/master/LICENSE-MIT) OR [Apache-2.0](https://github.com/jfrimmel/cargo-valgrind/blob/master/LICENSE-APACHE) |
| [**cargo-zigbuild**](https://github.com/rust-cross/cargo-zigbuild) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/rust-cross/cargo-zigbuild/releases) | Linux, macOS, Windows | [MIT](https://github.com/rust-cross/cargo-zigbuild/blob/main/LICENSE) | | [**cargo-zigbuild**](https://github.com/rust-cross/cargo-zigbuild) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/rust-cross/cargo-zigbuild/releases) | Linux, macOS, Windows | [MIT](https://github.com/rust-cross/cargo-zigbuild/blob/main/LICENSE) |
| [**cross**](https://github.com/cross-rs/cross) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/cross-rs/cross/releases) | Linux, macOS, Windows | [MIT](https://github.com/cross-rs/cross/blob/main/LICENSE-MIT) OR [Apache-2.0](https://github.com/cross-rs/cross/blob/main/LICENSE-APACHE) | | [**cross**](https://github.com/cross-rs/cross) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/cross-rs/cross/releases) | Linux, macOS, Windows | [MIT](https://github.com/cross-rs/cross/blob/main/LICENSE-MIT) OR [Apache-2.0](https://github.com/cross-rs/cross/blob/main/LICENSE-APACHE) |
| [**deepsource**](https://github.com/DeepSourceCorp/cli) | `/usr/local/bin` | [GitHub Releases](https://github.com/DeepSourceCorp/cli/releases) | Linux, macOS, Windows | [BSD-2-Clause](https://github.com/DeepSourceCorp/cli/blob/master/LICENSE) | | [**deepsource**](https://github.com/DeepSourceCorp/cli) | `$HOME/.install-action/bin` | [GitHub Releases](https://github.com/DeepSourceCorp/cli/releases) | Linux, macOS, Windows | [BSD-2-Clause](https://github.com/DeepSourceCorp/cli/blob/master/LICENSE) |
| [**dprint**](https://github.com/dprint/dprint) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/dprint/dprint/releases) | Linux, macOS, Windows | [MIT](https://github.com/dprint/dprint/blob/main/LICENSE) | | [**dprint**](https://github.com/dprint/dprint) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/dprint/dprint/releases) | Linux, macOS, Windows | [MIT](https://github.com/dprint/dprint/blob/main/LICENSE) |
| [**earthly**](https://github.com/earthly/earthly) | `/usr/local/bin` | [GitHub Releases](https://github.com/earthly/earthly/releases) | Linux, macOS, Windows | [MPL-2.0](https://github.com/earthly/earthly/blob/main/LICENSE) | | [**earthly**](https://github.com/earthly/earthly) | `$HOME/.install-action/bin` | [GitHub Releases](https://github.com/earthly/earthly/releases) | Linux, macOS, Windows | [MPL-2.0](https://github.com/earthly/earthly/blob/main/LICENSE) |
| [**editorconfig-checker**](https://github.com/editorconfig-checker/editorconfig-checker) | `/usr/local/bin` | [GitHub Releases](https://github.com/editorconfig-checker/editorconfig-checker/releases) | Linux, macOS, Windows | [MIT](https://github.com/editorconfig-checker/editorconfig-checker/blob/main/LICENSE) | | [**editorconfig-checker**](https://github.com/editorconfig-checker/editorconfig-checker) | `$HOME/.install-action/bin` | [GitHub Releases](https://github.com/editorconfig-checker/editorconfig-checker/releases) | Linux, macOS, Windows | [MIT](https://github.com/editorconfig-checker/editorconfig-checker/blob/main/LICENSE) |
| [**espup**](https://github.com/esp-rs/espup) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/esp-rs/espup/releases) | Linux, macOS, Windows | [MIT](https://github.com/esp-rs/espup/blob/main/LICENSE-MIT) OR [Apache-2.0](https://github.com/esp-rs/espup/blob/main/LICENSE-APACHE) | | [**espup**](https://github.com/esp-rs/espup) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/esp-rs/espup/releases) | Linux, macOS, Windows | [MIT](https://github.com/esp-rs/espup/blob/main/LICENSE-MIT) OR [Apache-2.0](https://github.com/esp-rs/espup/blob/main/LICENSE-APACHE) |
| [**git-cliff**](https://github.com/orhun/git-cliff) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/orhun/git-cliff/releases) | Linux, macOS, Windows | [MIT](https://github.com/orhun/git-cliff/blob/main/LICENSE-MIT) OR [Apache-2.0](https://github.com/orhun/git-cliff/blob/main/LICENSE-APACHE) | | [**git-cliff**](https://github.com/orhun/git-cliff) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/orhun/git-cliff/releases) | Linux, macOS, Windows | [MIT](https://github.com/orhun/git-cliff/blob/main/LICENSE-MIT) OR [Apache-2.0](https://github.com/orhun/git-cliff/blob/main/LICENSE-APACHE) |
| [**grcov**](https://github.com/mozilla/grcov) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/mozilla/grcov/releases) | Linux, macOS, Windows | [MPL-2.0](https://github.com/mozilla/grcov/blob/HEAD/LICENSE-MPL-2.0) | | [**grcov**](https://github.com/mozilla/grcov) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/mozilla/grcov/releases) | Linux, macOS, Windows | [MPL-2.0](https://github.com/mozilla/grcov/blob/HEAD/LICENSE-MPL-2.0) |
@@ -48,14 +47,14 @@ See the [Supported tools section in README.md](README.md#supported-tools) for ho
| [**just**](https://github.com/casey/just) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/casey/just/releases) | Linux, macOS, Windows | [CC0-1.0](https://github.com/casey/just/blob/master/LICENSE) | | [**just**](https://github.com/casey/just) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/casey/just/releases) | Linux, macOS, Windows | [CC0-1.0](https://github.com/casey/just/blob/master/LICENSE) |
| [**mdbook**](https://github.com/rust-lang/mdBook) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/rust-lang/mdBook/releases) | Linux, macOS, Windows | [MPL-2.0](https://github.com/rust-lang/mdBook/blob/master/LICENSE) | | [**mdbook**](https://github.com/rust-lang/mdBook) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/rust-lang/mdBook/releases) | Linux, macOS, Windows | [MPL-2.0](https://github.com/rust-lang/mdBook/blob/master/LICENSE) |
| [**mdbook-linkcheck**](https://github.com/Michael-F-Bryan/mdbook-linkcheck) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/Michael-F-Bryan/mdbook-linkcheck/releases) | Linux, macOS, Windows | [MIT](https://github.com/Michael-F-Bryan/mdbook-linkcheck/blob/master/LICENSE) | | [**mdbook-linkcheck**](https://github.com/Michael-F-Bryan/mdbook-linkcheck) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/Michael-F-Bryan/mdbook-linkcheck/releases) | Linux, macOS, Windows | [MIT](https://github.com/Michael-F-Bryan/mdbook-linkcheck/blob/master/LICENSE) |
| [**osv-scanner**](https://github.com/google/osv-scanner) | `/usr/local/bin` | [GitHub Releases](https://github.com/google/osv-scanner/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/google/osv-scanner/blob/main/LICENSE) | | [**osv-scanner**](https://github.com/google/osv-scanner) | `$HOME/.install-action/bin` | [GitHub Releases](https://github.com/google/osv-scanner/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/google/osv-scanner/blob/main/LICENSE) |
| [**parse-changelog**](https://github.com/taiki-e/parse-changelog) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/taiki-e/parse-changelog/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/taiki-e/parse-changelog/blob/main/LICENSE-APACHE) OR [MIT](https://github.com/taiki-e/parse-changelog/blob/main/LICENSE-MIT) | | [**parse-changelog**](https://github.com/taiki-e/parse-changelog) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/taiki-e/parse-changelog/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/taiki-e/parse-changelog/blob/main/LICENSE-APACHE) OR [MIT](https://github.com/taiki-e/parse-changelog/blob/main/LICENSE-MIT) |
| [**protoc**](https://github.com/protocolbuffers/protobuf) | `/usr/local/bin` | [GitHub Releases](https://github.com/protocolbuffers/protobuf/releases) | Linux, macOS, Windows | [BSD-3-Clause](https://github.com/protocolbuffers/protobuf/blob/HEAD/LICENSE) | | [**protoc**](https://github.com/protocolbuffers/protobuf) | `$HOME/.install-action/bin` | [GitHub Releases](https://github.com/protocolbuffers/protobuf/releases) | Linux, macOS, Windows | [BSD-3-Clause](https://github.com/protocolbuffers/protobuf/blob/HEAD/LICENSE) |
| [**rclone**](https://github.com/rclone/rclone) | `/usr/local/bin` | [GitHub Releases](https://github.com/rclone/rclone/releases) | Linux, macOS, Windows | [MIT](https://github.com/rclone/rclone/blob/master/COPYING) | | [**rclone**](https://github.com/rclone/rclone) | `$HOME/.install-action/bin` | [GitHub Releases](https://github.com/rclone/rclone/releases) | Linux, macOS, Windows | [MIT](https://github.com/rclone/rclone/blob/master/COPYING) |
| [**sccache**](https://github.com/mozilla/sccache) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/mozilla/sccache/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/mozilla/sccache/blob/main/LICENSE) | | [**sccache**](https://github.com/mozilla/sccache) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/mozilla/sccache/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/mozilla/sccache/blob/main/LICENSE) |
| [**shellcheck**](https://www.shellcheck.net) | `/usr/local/bin` | [GitHub Releases](https://github.com/koalaman/shellcheck/releases) | Linux, macOS, Windows | [GPL-3.0](https://github.com/koalaman/shellcheck/blob/master/LICENSE) | | [**shellcheck**](https://www.shellcheck.net) | `$HOME/.install-action/bin` | [GitHub Releases](https://github.com/koalaman/shellcheck/releases) | Linux, macOS, Windows | [GPL-3.0](https://github.com/koalaman/shellcheck/blob/master/LICENSE) |
| [**shfmt**](https://github.com/mvdan/sh) | `/usr/local/bin` | [GitHub Releases](https://github.com/mvdan/sh/releases) | Linux, macOS, Windows | [BSD-3-Clause](https://github.com/mvdan/sh/blob/master/LICENSE) | | [**shfmt**](https://github.com/mvdan/sh) | `$HOME/.install-action/bin` | [GitHub Releases](https://github.com/mvdan/sh/releases) | Linux, macOS, Windows | [BSD-3-Clause](https://github.com/mvdan/sh/blob/master/LICENSE) |
| [**syft**](https://github.com/anchore/syft) | `/usr/local/bin` | [GitHub Releases](https://github.com/anchore/syft/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/anchore/syft/blob/main/LICENSE) | | [**syft**](https://github.com/anchore/syft) | `$HOME/.install-action/bin` | [GitHub Releases](https://github.com/anchore/syft/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/anchore/syft/blob/main/LICENSE) |
| [**typos**](https://github.com/crate-ci/typos) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/crate-ci/typos/releases) | Linux, macOS, Windows | [MIT](https://github.com/crate-ci/typos/blob/master/LICENSE-MIT) OR [Apache-2.0](https://github.com/crate-ci/typos/blob/master/LICENSE-APACHE) | | [**typos**](https://github.com/crate-ci/typos) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/crate-ci/typos/releases) | Linux, macOS, Windows | [MIT](https://github.com/crate-ci/typos/blob/master/LICENSE-MIT) OR [Apache-2.0](https://github.com/crate-ci/typos/blob/master/LICENSE-APACHE) |
| [**valgrind**](https://valgrind.org/) | `/snap/bin` | [snap](https://snapcraft.io/install/valgrind/ubuntu) | Linux | [GPL-2.0](https://sourceware.org/git/?p=valgrind.git;a=blob;f=COPYING;hb=HEAD) | | [**valgrind**](https://valgrind.org/) | `/snap/bin` | [snap](https://snapcraft.io/install/valgrind/ubuntu) | Linux | [GPL-2.0](https://sourceware.org/git/?p=valgrind.git;a=blob;f=COPYING;hb=HEAD) |
| [**wait-for-them**](https://github.com/shenek/wait-for-them) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/shenek/wait-for-them/releases) | Linux, macOS, Windows | [GPL-3.0](https://github.com/shenek/wait-for-them/blob/v0.4.0/Cargo.toml#L7) | | [**wait-for-them**](https://github.com/shenek/wait-for-them) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/shenek/wait-for-them/releases) | Linux, macOS, Windows | [GPL-3.0](https://github.com/shenek/wait-for-them/blob/v0.4.0/Cargo.toml#L7) |

43
main.sh
View File

@@ -299,11 +299,8 @@ read_download_info() {
fi fi
fi fi
if [[ "${rust_crate}" == "null" ]]; then if [[ "${rust_crate}" == "null" ]]; then
if [[ "${host_os}" == "windows" ]] || [[ ! -e /usr/local/bin ]]; then # Moving files to /usr/local/bin requires sudo in some environments, so do not use it: https://github.com/taiki-e/install-action/issues/543
bin_dir="${install_action_dir}/bin" bin_dir="${install_action_dir}/bin"
else
bin_dir=/usr/local/bin
fi
else else
bin_dir="${cargo_bin}" bin_dir="${cargo_bin}"
fi fi
@@ -400,7 +397,7 @@ init_install_action_bin_dir() {
} }
canonicalize_windows_path() { canonicalize_windows_path() {
case "${host_os}" in case "${host_os}" in
windows) sed <<<"$1" 's/^\/c\//C:\\/; s/\//\\/g' ;; windows) sed <<<"$1" 's/^\/cygdrive\//\//; s/^\/c\//C:\\/; s/\//\\/g' ;;
*) echo "$1" ;; *) echo "$1" ;;
esac esac
} }
@@ -515,21 +512,39 @@ case "$(uname -m)" in
esac esac
info "host platform: ${host_arch}_${host_os}" info "host platform: ${host_arch}_${host_os}"
install_action_dir="${HOME}/.install-action" home="${HOME}"
if [[ "${host_os}" == "windows" ]]; then
if [[ "${home}" == "/home/"* ]]; then
if [[ -d "${home/\/home\//\/c\/Users\/}" ]]; then
# MSYS2 https://github.com/taiki-e/install-action/pull/518#issuecomment-2160736760
home="${home/\/home\//\/c\/Users\/}"
elif [[ -d "${home/\/home\//\/cygdrive\/c\/Users\/}" ]]; then
# Cygwin https://github.com/taiki-e/install-action/issues/224#issuecomment-1720196288
home="${home/\/home\//\/cygdrive\/c\/Users\/}"
else
warn "\$HOME starting /home/ (${home}) on Windows bash is usually fake path, this may cause installation issue"
fi
fi
fi
install_action_dir="${home}/.install-action"
tmp_dir="${install_action_dir}/tmp" tmp_dir="${install_action_dir}/tmp"
cargo_bin="${CARGO_HOME:-"${HOME}/.cargo"}/bin" cargo_bin="${CARGO_HOME:-"${home}/.cargo"}/bin"
# If $CARGO_HOME does not exist, or cargo installed outside of $CARGO_HOME/bin # If $CARGO_HOME does not exist, or cargo installed outside of $CARGO_HOME/bin
# is used ($CARGO_HOME/bin is most likely not included in the PATH), fallback to # is used ($CARGO_HOME/bin is most likely not included in the PATH), fallback to
# /usr/local/bin or $install_action_dir/bin. # $install_action_dir/bin.
if [[ ! -e "${cargo_bin}" ]] || [[ "$(type -P cargo || true)" != "${cargo_bin}/cargo"* ]]; then if [[ "${host_os}" == "windows" ]]; then
if type -P cargo &>/dev/null; then
info "cargo is located at $(type -P cargo)"
cargo_bin=$(dirname "$(type -P cargo)")
else
cargo_bin="${install_action_dir}/bin"
fi
elif [[ ! -e "${cargo_bin}" ]] || [[ "$(type -P cargo || true)" != "${cargo_bin}/cargo"* ]]; then
if type -P cargo &>/dev/null; then if type -P cargo &>/dev/null; then
info "cargo is located at $(type -P cargo)" info "cargo is located at $(type -P cargo)"
fi fi
if [[ "${host_os}" == "windows" ]] || [[ ! -e /usr/local/bin ]]; then # Moving files to /usr/local/bin requires sudo in some environments, so do not use it: https://github.com/taiki-e/install-action/issues/543
cargo_bin="${install_action_dir}/bin" cargo_bin="${install_action_dir}/bin"
else
cargo_bin=/usr/local/bin
fi
fi fi
jq_use_b='' jq_use_b=''
@@ -808,7 +823,7 @@ if [[ ${#unsupported_tools[@]} -gt 0 ]]; then
# min tls version to be 1.2 # min tls version to be 1.2
cargo-binstall binstall --force --no-confirm --locked "${unsupported_tools[@]}" cargo-binstall binstall --force --no-confirm --locked "${unsupported_tools[@]}"
if ! type -P cargo >/dev/null; then if ! type -P cargo >/dev/null; then
_bin_dir=$(canonicalize_windows_path "${HOME}/.cargo/bin") _bin_dir=$(canonicalize_windows_path "${home}/.cargo/bin")
# TODO: avoid this when already added # TODO: avoid this when already added
info "adding '${_bin_dir}' to PATH" info "adding '${_bin_dir}' to PATH"
echo "${_bin_dir}" >>"${GITHUB_PATH}" echo "${_bin_dir}" >>"${GITHUB_PATH}"

26
manifests/biome.json generated
View File

@@ -36,13 +36,33 @@
}, },
"license_markdown": "[Apache-2.0](https://github.com/biomejs/biome/blob/main/LICENSE-APACHE) OR [MIT](https://github.com/biomejs/biome/blob/main/LICENSE-MIT)", "license_markdown": "[Apache-2.0](https://github.com/biomejs/biome/blob/main/LICENSE-APACHE) OR [MIT](https://github.com/biomejs/biome/blob/main/LICENSE-MIT)",
"latest": { "latest": {
"version": "1.8.1" "version": "1.8.2"
}, },
"1": { "1": {
"version": "1.8.1" "version": "1.8.2"
}, },
"1.8": { "1.8": {
"version": "1.8.1" "version": "1.8.2"
},
"1.8.2": {
"x86_64_linux_musl": {
"checksum": "0971bc636e1abc6d06ea03b219f6c78488b209f8a623de081a04ce610ae47f10"
},
"x86_64_macos": {
"checksum": "17b1ecae7751c4519135fd4f6d9b7d8cdcf5dbdaa7d586da8776e05ad05209d3"
},
"x86_64_windows": {
"checksum": "cffd0c862eb02b0c574a550ac47c213e0d48121fee23ffcaee4098de08cbdab8"
},
"aarch64_linux_musl": {
"checksum": "4467475395c09442c23efca6bc800f8db14f21791ffc77594f71c11ec9c85aa3"
},
"aarch64_macos": {
"checksum": "659db94f30b4a5ef80995d494c7e7ec9a7fe820d4ef5b07b0684f2a44fe22140"
},
"aarch64_windows": {
"checksum": "ea3c0de73e3f7aa1b95cf5e26694a5427914771e2f47f7b5e5742a16c19088e1"
}
}, },
"1.8.1": { "1.8.1": {
"x86_64_linux_musl": { "x86_64_linux_musl": {

View File

@@ -22,26 +22,26 @@
}, },
"license_markdown": "[GPL-3.0](https://github.com/cargo-bins/cargo-binstall/blob/HEAD/crates/bin/LICENSE)", "license_markdown": "[GPL-3.0](https://github.com/cargo-bins/cargo-binstall/blob/HEAD/crates/bin/LICENSE)",
"latest": { "latest": {
"version": "1.6.9" "version": "1.7.2"
}, },
"1.6.9": { "1.7.2": {
"x86_64_linux_musl": { "x86_64_linux_musl": {
"checksum": "604d0cd902ee7385eeb9147b512bdbaa0ef4eb19a92d961df24d611f232fd3ff" "checksum": "08b6969c86471ecd1b9b6fbbd6508014d22dadda29fdd47ffb871d297ac49a8b"
}, },
"x86_64_macos": { "x86_64_macos": {
"checksum": "7ad36970202044d68033a79ebf62836796eb69e5c478dca1d9cbab8f55e719f3" "checksum": "7fa85fd3fda3c9e4962f16f8b9400e97ff2773e0481fc63a9cb882fe80115b7f"
}, },
"x86_64_windows": { "x86_64_windows": {
"checksum": "99f9d048ad0f9a8b3e3dda7de3ffa34f1b05a1cb34392bde9866c063473c89e0" "checksum": "ee4da8bfaf25c84f0b67d5fd8e96f1243df4379f8dad64ffe2f82416198b7b35"
}, },
"aarch64_linux_musl": { "aarch64_linux_musl": {
"checksum": "08f25befe50164b2d622b826da811dec47a0ac5ca3215837316281f4a8290806" "checksum": "4342cfa8dc1033d2942270e8c4f7a63ef6953632ec3dbfacd7bebd4894e2ece8"
}, },
"aarch64_macos": { "aarch64_macos": {
"checksum": "ff603214e78a62d56ba9c8f2287de400cccd377aa38d75daba3dd827a4c3d8f9" "checksum": "68157004ca95c2c3d4fae16246751317d2d6be32911cbdb04a06580d0c3aa43e"
}, },
"aarch64_windows": { "aarch64_windows": {
"checksum": "0b28fb0e4d7ee54995d845e89494f03021f573caa1d22ab4d24816715be120d9" "checksum": "baf1c6d5729b629015e199e7739a4f76bd40d9c4a90883ecb1d2c33c16240190"
} }
} }
} }

View File

@@ -12,10 +12,18 @@
}, },
"license_markdown": "[MIT](https://github.com/sonos/dinghy/blob/main/LICENSE-MIT) OR [Apache-2.0](https://github.com/sonos/dinghy/blob/main/LICENSE-APACHE)", "license_markdown": "[MIT](https://github.com/sonos/dinghy/blob/main/LICENSE-MIT) OR [Apache-2.0](https://github.com/sonos/dinghy/blob/main/LICENSE-APACHE)",
"latest": { "latest": {
"version": "0.7.1" "version": "0.7.2"
}, },
"0.7": { "0.7": {
"version": "0.7.1" "version": "0.7.2"
},
"0.7.2": {
"x86_64_linux_musl": {
"checksum": "c4c4a912b358729f88ee26b10b8de36bab06d42742539bcc3e98d0533c5f4cec"
},
"x86_64_macos": {
"checksum": "0a4389eee9619a8afdde156eaefbae6652532549c348e1d37a1146ff3096a889"
}
}, },
"0.7.1": { "0.7.1": {
"x86_64_linux_musl": { "x86_64_linux_musl": {

View File

@@ -21,6 +21,11 @@
"1.4": { "1.4": {
"version": "1.4.2" "version": "1.4.2"
}, },
"1.4.4": {
"x86_64_windows": {
"checksum": "ff9b7a4d56a89451e8e0ae40716d47534fb08c5723a08fd560a66227b49e2694"
}
},
"1.4.3": { "1.4.3": {
"x86_64_windows": { "x86_64_windows": {
"checksum": "408ffb657c99bf4142521632306edc4ed130dd991a0cd4b62cf370c28b307daf" "checksum": "408ffb657c99bf4142521632306edc4ed130dd991a0cd4b62cf370c28b307daf"

View File

@@ -16,7 +16,24 @@
}, },
"license_markdown": "[Apache-2.0](https://github.com/obi1kenobi/cargo-semver-checks/blob/main/LICENSE-APACHE) OR [MIT](https://github.com/obi1kenobi/cargo-semver-checks/blob/main/LICENSE-MIT)", "license_markdown": "[Apache-2.0](https://github.com/obi1kenobi/cargo-semver-checks/blob/main/LICENSE-APACHE) OR [MIT](https://github.com/obi1kenobi/cargo-semver-checks/blob/main/LICENSE-MIT)",
"latest": { "latest": {
"version": "0.31.0" "version": "0.32.0"
},
"0.32": {
"version": "0.32.0"
},
"0.32.0": {
"x86_64_linux_musl": {
"checksum": "c8202b26e84b06e9d6a40e8b28d04d72fed10a178403f323644c0af6b5c37c24"
},
"x86_64_macos": {
"checksum": "0540e6ef4f3f8f42e2e4db0e9efb49d4e4c32bc7becb16379e85c38aac500105"
},
"x86_64_windows": {
"checksum": "cecbbab97c8c0b47070038ba4f585fce79dd397b47e0bca0247bfa2967cc8017"
},
"aarch64_macos": {
"checksum": "59a9bbf1ae898725085854d4f618a3c958f6fa67a0573f393a42c2ee3990497e"
}
}, },
"0.31": { "0.31": {
"version": "0.31.0" "version": "0.31.0"

View File

@@ -19,7 +19,27 @@
}, },
"license_markdown": "[MIT](https://github.com/rust-cross/cargo-zigbuild/blob/main/LICENSE)", "license_markdown": "[MIT](https://github.com/rust-cross/cargo-zigbuild/blob/main/LICENSE)",
"latest": { "latest": {
"version": "0.18.4" "version": "0.19.0"
},
"0.19": {
"version": "0.19.0"
},
"0.19.0": {
"x86_64_linux_musl": {
"checksum": "ab2e2f3a22409470ec7d71badc22ab89351a6ddaba5c4785a39689856809404c"
},
"x86_64_windows": {
"checksum": "640b03357f568deb976cd0e0732db04f723498a0d4706d71ebaec05f8fc35db2"
},
"aarch64_linux_musl": {
"checksum": "edc3d0966ed8c80056d36ace8998eb75ed2f3a71342e0825960d98c9eb3398a0"
},
"aarch64_macos": {
"checksum": "9173594204eaacadd62e2f26a3c2365887ec24a4fa15f309023b8d4bbbc09dec"
},
"aarch64_windows": {
"checksum": "6affe535f6d37768cc20be30b8b65a1bcc196ae1efdad71d2a5c44049a081b7e"
}
}, },
"0.18": { "0.18": {
"version": "0.18.4" "version": "0.18.4"

21
manifests/dprint.json generated
View File

@@ -25,10 +25,27 @@
}, },
"license_markdown": "[MIT](https://github.com/dprint/dprint/blob/main/LICENSE)", "license_markdown": "[MIT](https://github.com/dprint/dprint/blob/main/LICENSE)",
"latest": { "latest": {
"version": "0.46.2" "version": "0.46.3"
}, },
"0.46": { "0.46": {
"version": "0.46.2" "version": "0.46.3"
},
"0.46.3": {
"x86_64_linux_musl": {
"checksum": "b3968388c27fcc0853d54e57f8a00c1bd6134395d9657ded3088f365304bf90f"
},
"x86_64_macos": {
"checksum": "a9f4c71f1e32e99152e8278ccbd27c059246dfa1c3d8b3cb1fa0837bdd269b3e"
},
"x86_64_windows": {
"checksum": "4e024b2e626b2eabf923a62703cda3beb90ecacfaf2d737454ed6025779e3811"
},
"aarch64_linux_musl": {
"checksum": "868a478307416f845f11dff9d9d6e94547dc826339fb6d5740f5b7795d9135af"
},
"aarch64_macos": {
"checksum": "f051c3b3bb5e8f936c1b5ad6e3659bf408a8e787b6dca48e6f95baf261f6e84d"
}
}, },
"0.46.2": { "0.46.2": {
"x86_64_linux_musl": { "x86_64_linux_musl": {

21
manifests/earthly.json generated
View File

@@ -19,10 +19,27 @@
}, },
"license_markdown": "[MPL-2.0](https://github.com/earthly/earthly/blob/main/LICENSE)", "license_markdown": "[MPL-2.0](https://github.com/earthly/earthly/blob/main/LICENSE)",
"latest": { "latest": {
"version": "0.8.13" "version": "0.8.14"
}, },
"0.8": { "0.8": {
"version": "0.8.13" "version": "0.8.14"
},
"0.8.14": {
"x86_64_linux_gnu": {
"checksum": "9c184536faccf2e16e92ad06d2a2579e4b3ff6aaf6bf4c2f72b21228a6903bc2"
},
"x86_64_macos": {
"checksum": "09d749a4f5b9d71acb803ba229086b28f447ac2080492106f6f51536a64a0760"
},
"x86_64_windows": {
"checksum": "3244284dc9648d7cd3af350ab4a8bfd4c63b0e0e16e656c3e249fc1d58fe7e5f"
},
"aarch64_linux_gnu": {
"checksum": "a88786778964eb74b6b5db44734a4630dcedab49c4ed21fe432e9e6d08ff116c"
},
"aarch64_macos": {
"checksum": "0a0154bb94ef4c8692737156a74534d369947be1a4558e81603be3d2b4328d7b"
}
}, },
"0.8.13": { "0.8.13": {
"x86_64_linux_gnu": { "x86_64_linux_gnu": {

22
manifests/espup.json generated
View File

@@ -19,7 +19,27 @@
}, },
"license_markdown": "[MIT](https://github.com/esp-rs/espup/blob/main/LICENSE-MIT) OR [Apache-2.0](https://github.com/esp-rs/espup/blob/main/LICENSE-APACHE)", "license_markdown": "[MIT](https://github.com/esp-rs/espup/blob/main/LICENSE-MIT) OR [Apache-2.0](https://github.com/esp-rs/espup/blob/main/LICENSE-APACHE)",
"latest": { "latest": {
"version": "0.11.0" "version": "0.12.0"
},
"0.12": {
"version": "0.12.0"
},
"0.12.0": {
"x86_64_linux_gnu": {
"checksum": "2c89370a2cf2eaf2d300439d5f15fa89ae71d635b027965b1325effc8d84b383"
},
"x86_64_macos": {
"checksum": "00867da14720005dc0ef174e93164ca2934126840be7ddb7a9eaa2c17e940555"
},
"x86_64_windows": {
"checksum": "a7d128180d30e1d351c63a02436de8a75a8b90479fb49ce23b4eaadf03e637d1"
},
"aarch64_linux_gnu": {
"checksum": "b7259c225ad713f94b73e4f86f7daf37e7c02ba959b00a3f2f8327fbab639247"
},
"aarch64_macos": {
"checksum": "a91717477c816bc10b75a250a3d415ee1eea329dcc9a8bddb70d73bc4ebc521e"
}
}, },
"0.11": { "0.11": {
"version": "0.11.0" "version": "0.11.0"

41
manifests/just.json generated
View File

@@ -19,10 +19,47 @@
}, },
"license_markdown": "[CC0-1.0](https://github.com/casey/just/blob/master/LICENSE)", "license_markdown": "[CC0-1.0](https://github.com/casey/just/blob/master/LICENSE)",
"latest": { "latest": {
"version": "1.28.0" "version": "1.29.1"
}, },
"1": { "1": {
"version": "1.28.0" "version": "1.29.1"
},
"1.29": {
"version": "1.29.1"
},
"1.29.1": {
"x86_64_linux_musl": {
"checksum": "42c47bd34b511c43a4d51a13c425c0e0f51e59e20b9f390fbd8838b85ee8db1b"
},
"x86_64_macos": {
"checksum": "5415dfcf2640b10823c2157c3f5a634d93f0a4a7005f4955bdcc3f009b406727"
},
"x86_64_windows": {
"checksum": "194c49878a502d9b756367e8164e1abf00955cf45af0f1e699ea9c9a45a92ba8"
},
"aarch64_linux_musl": {
"checksum": "53f43c93497a1ae4045f09fa1b528dd800ce5046ad945f4d3cd92a4fc99da353"
},
"aarch64_macos": {
"checksum": "075ddcc42de6e90dc46a942c8b1914142563dff49f6e8dd2785da3c263e6663e"
}
},
"1.29.0": {
"x86_64_linux_musl": {
"checksum": "34a059a0cde8a801ae518a7ca7271fc65709110eebbe23ba768760bf0a0eb66a"
},
"x86_64_macos": {
"checksum": "64991d2b9476d89c936404d5149ceedd8fb19c66b0390aa1e959548d376e0acc"
},
"x86_64_windows": {
"checksum": "5ad04990eb4299ad7e802fe86f85a5c116cb9af13deae87c08ed7dbf49c930d6"
},
"aarch64_linux_musl": {
"checksum": "2072dc38e37e1bd6331d7f38a8a607f81b899e3f6f2685e858482f9650f762d3"
},
"aarch64_macos": {
"checksum": "1c7146005f0e1e8d60c8de38b2c75d86a1b5c199705f645d34b5396fac897599"
}
}, },
"1.28": { "1.28": {
"version": "1.28.0" "version": "1.28.0"

27
manifests/rclone.json generated
View File

@@ -28,10 +28,33 @@
}, },
"license_markdown": "[MIT](https://github.com/rclone/rclone/blob/master/COPYING)", "license_markdown": "[MIT](https://github.com/rclone/rclone/blob/master/COPYING)",
"latest": { "latest": {
"version": "1.66.0" "version": "1.67.0"
}, },
"1": { "1": {
"version": "1.66.0" "version": "1.67.0"
},
"1.67": {
"version": "1.67.0"
},
"1.67.0": {
"x86_64_linux_musl": {
"checksum": "07c23d21a94d70113d949253478e13261c54d14d72023bb14d96a8da5f3e7722"
},
"x86_64_macos": {
"checksum": "1a1a3b080393b721ba5f38597305be2dbac3b654b43dfac3ebe4630b4e6406c3"
},
"x86_64_windows": {
"checksum": "117b99441024607d6043e274c7fcbed64d07ad87347d17dd0a717bdc1c59716b"
},
"aarch64_linux_musl": {
"checksum": "2b44981a1a7d1f432c53c0f2f0b6bcdd410f6491c47dc55428fdac0b85c763f1"
},
"aarch64_macos": {
"checksum": "4dc6142aea78bb86f1236fe38e570b715990503c09733418c0cd2300e45651e4"
},
"aarch64_windows": {
"checksum": "54f263712d02bf2345eb5a3444aa4f07b990f5b4c6d02f1de892d1ff8028b50c"
}
}, },
"1.66": { "1.66": {
"version": "1.66.0" "version": "1.66.0"

24
manifests/syft.json generated
View File

@@ -24,10 +24,30 @@
}, },
"license_markdown": "[Apache-2.0](https://github.com/anchore/syft/blob/main/LICENSE)", "license_markdown": "[Apache-2.0](https://github.com/anchore/syft/blob/main/LICENSE)",
"latest": { "latest": {
"version": "1.6.0" "version": "1.7.0"
}, },
"1": { "1": {
"version": "1.6.0" "version": "1.7.0"
},
"1.7": {
"version": "1.7.0"
},
"1.7.0": {
"x86_64_linux_musl": {
"checksum": "2d36ba261e94f93bbb9538a975a63a494cc9b4440dcd2ee43e68b4a70a506916"
},
"x86_64_macos": {
"checksum": "e7a9ed735c2436f4a00bec80ec431788e008021e2af1ddce7747b3ae9a10b012"
},
"x86_64_windows": {
"checksum": "3c7908b5838a2a24ea4fa26425ee2690e1ada5e9763f7493a99d8efb1d9a08a8"
},
"aarch64_linux_musl": {
"checksum": "cf43f1702ee063071be929f5561b093f58aa08d4dc5e19016e5d25e1453d81fe"
},
"aarch64_macos": {
"checksum": "a076de1eb324b96a00e6b8546cbb77eb2ca34f0a38a008e4c10708778df4741c"
}
}, },
"1.6": { "1.6": {
"version": "1.6.0" "version": "1.6.0"

56
manifests/typos.json generated
View File

@@ -16,13 +16,63 @@
}, },
"license_markdown": "[MIT](https://github.com/crate-ci/typos/blob/master/LICENSE-MIT) OR [Apache-2.0](https://github.com/crate-ci/typos/blob/master/LICENSE-APACHE)", "license_markdown": "[MIT](https://github.com/crate-ci/typos/blob/master/LICENSE-MIT) OR [Apache-2.0](https://github.com/crate-ci/typos/blob/master/LICENSE-APACHE)",
"latest": { "latest": {
"version": "1.22.3" "version": "1.22.7"
}, },
"1": { "1": {
"version": "1.22.3" "version": "1.22.7"
}, },
"1.22": { "1.22": {
"version": "1.22.3" "version": "1.22.7"
},
"1.22.7": {
"x86_64_linux_musl": {
"checksum": "a706a74f970f660e8aa24c6b3a46b8e213974d4317dc163b03d5e05c20e561a8"
},
"x86_64_macos": {
"checksum": "28f40f958f37cab2b24308142f404dba22d0e18757b511e0a16100fb4fd41547"
},
"x86_64_windows": {
"checksum": "912951a701c2c55dac499f908775126735aa2b59b41c488da18093e2b2d3aa69"
},
"aarch64_macos": {
"checksum": "c5857dec27e38ed996e76b2d8c4545006905ea750ab015ab72bd66cadb00b376"
}
},
"1.22.6": {
"x86_64_macos": {
"checksum": "ba16199129ddd81e1c720d39fb35c41369a9c78c15b2e39126e8b02e875e11f7"
},
"x86_64_windows": {
"checksum": "aae44abc76ba77556cfc7d576ced87a716f420b09fa357cebbdf0a9a040a2492"
},
"aarch64_macos": {
"checksum": "31a335e695fc9749ddd95bc9154616ccb07c94df77bcc9156acc41d258219f64"
}
},
"1.22.5": {
"x86_64_macos": {
"checksum": "1023d1323b98103d45ffd293515a2515c14493c57c5035c76106ec344aab6a4b"
},
"x86_64_windows": {
"checksum": "b727570571472fbab9029d4bcc09a1cbcafece02907fa7a25a46d6feb426bb5a"
},
"aarch64_macos": {
"checksum": "96024e189bce99b25bbc2a4165a76832637c231f1163d57581a080bbb5bfbd22"
}
},
"1.22.4": {
"x86_64_linux_musl": {
"checksum": "aa4be101267b74c7ba0a8d506362c8b5ed75351afe35c86e2de3b2dfad1092b7"
},
"x86_64_macos": {
"checksum": "3761bc4c3bbc0367fbb691e600d09f92a2b641f98158b13c78b469c36afa6a67"
},
"x86_64_windows": {
"checksum": "94473d6765f59ea970deb2377e5a42c6d4bf7a37441fab52a2a6eb1ee6d49f77"
},
"aarch64_macos": {
"checksum": "5328764dc79e25e65615698236ff8842bb4a1bfd95e2d4e84171d7df5b216489"
}
}, },
"1.22.3": { "1.22.3": {
"x86_64_linux_musl": { "x86_64_linux_musl": {

View File

@@ -24,7 +24,30 @@
}, },
"license_markdown": "[Apache-2.0 WITH LLVM-exception](https://github.com/bytecodealliance/wasmtime/blob/main/LICENSE)", "license_markdown": "[Apache-2.0 WITH LLVM-exception](https://github.com/bytecodealliance/wasmtime/blob/main/LICENSE)",
"latest": { "latest": {
"version": "21.0.1" "version": "22.0.0"
},
"22": {
"version": "22.0.0"
},
"22.0": {
"version": "22.0.0"
},
"22.0.0": {
"x86_64_linux_gnu": {
"checksum": "415d09d77f5375a6c5f6a1fc102bbaf3fe8e830b438690e6ea59a7d690458dea"
},
"x86_64_macos": {
"checksum": "2d39c488e391c1e18875a0aa22db0f2b3c737002beb83712639ff608666fccea"
},
"x86_64_windows": {
"checksum": "87c9d8dd42cc5506edbe9736fb098f8d960606c85d4608d543dd07f79194f35e"
},
"aarch64_linux_gnu": {
"checksum": "0c4bc38070d856a6cfc4b4ec6344b1f5de8cffdde875550c285010d645f24330"
},
"aarch64_macos": {
"checksum": "891552cd21d08f330b872ef462bd7ac3903b668f4461cf0de0d16a175b40f57f"
}
}, },
"21": { "21": {
"version": "21.0.1" "version": "21.0.1"

19
manifests/zola.json generated
View File

@@ -16,7 +16,24 @@
}, },
"license_markdown": "[MIT](https://github.com/getzola/zola/blob/master/LICENSE)", "license_markdown": "[MIT](https://github.com/getzola/zola/blob/master/LICENSE)",
"latest": { "latest": {
"version": "0.18.0" "version": "0.19.0"
},
"0.19": {
"version": "0.19.0"
},
"0.19.0": {
"x86_64_linux_gnu": {
"checksum": "5d26b7c63d36bcfc42a2db41d35cdd7bbde1762571ee936a89d155d7fd600f77"
},
"x86_64_macos": {
"checksum": "96cc5501541cc220c0e3d234f5c8b869afbba90ff6a10923824dfbb51f87f487"
},
"x86_64_windows": {
"checksum": "831adf641d2c691aa95771285f13fdbff8897d481084b360c49a9d933e81cec8"
},
"aarch64_macos": {
"checksum": "c57d5c6b6ed55fa1eb04ed8bc17432bff9d0ca0d96558c0c476edbef7fc77d95"
}
}, },
"0.18": { "0.18": {
"version": "0.18.0" "version": "0.18.0"

View File

@@ -2,7 +2,7 @@
"repository": "https://github.com/orium/cargo-rdme", "repository": "https://github.com/orium/cargo-rdme",
"tag_prefix": "v", "tag_prefix": "v",
"rust_crate": "${package}", "rust_crate": "${package}",
"broken": ["1.4.3"], "broken": ["1.4.3", "1.4.4"],
"platform": { "platform": {
"x86_64_linux_musl": { "x86_64_linux_musl": {
"asset_name": "${package}_v${version}_${rust_target}.tar.bz2" "asset_name": "${package}_v${version}_${rust_target}.tar.bz2"

View File

@@ -7,6 +7,7 @@ use std::{
ffi::OsStr, ffi::OsStr,
io::Read, io::Read,
path::Path, path::Path,
sync::{LazyLock, RwLock},
time::Duration, time::Duration,
}; };
@@ -28,6 +29,7 @@ fn main() -> Result<()> {
std::process::exit(1); std::process::exit(1);
} }
let package = &args[0]; let package = &args[0];
let version_req = args.get(1);
let skip_existing_manifest_versions = std::env::var("SKIP_EXISTING_MANIFEST_VERSIONS").is_ok(); let skip_existing_manifest_versions = std::env::var("SKIP_EXISTING_MANIFEST_VERSIONS").is_ok();
let workspace_root = &workspace_root(); let workspace_root = &workspace_root();
@@ -47,22 +49,22 @@ fn main() -> Result<()> {
.strip_prefix("https://github.com/") .strip_prefix("https://github.com/")
.context("repository must start with https://github.com/")?; .context("repository must start with https://github.com/")?;
eprintln!("downloading metadata from https://github.com/{repo}"); eprintln!("downloading metadata from https://api.github.com/repos/{repo}");
let repo_info: github::RepoMetadata = let repo_info: github::RepoMetadata =
download_github(&format!("https://api.github.com/repos/{repo}"))?.into_json()?; download(&format!("https://api.github.com/repos/{repo}"))?.into_json()?;
eprintln!("downloading releases of https://github.com/{repo} from https://api.github.com/repos/{repo}/releases"); eprintln!("downloading releases from https://api.github.com/repos/{repo}/releases");
let mut releases: github::Releases = vec![]; let mut releases: github::Releases = vec![];
// GitHub API returns up to 100 results at a time. If the number of releases // GitHub API returns up to 100 results at a time. If the number of releases
// is greater than 100, multiple fetches are needed. // is greater than 100, multiple fetches are needed.
for page in 1.. { for page in 1.. {
let per_page = 100; let per_page = 100;
let mut r: github::Releases = download_github(&format!( let mut r: github::Releases = download(&format!(
"https://api.github.com/repos/{repo}/releases?per_page={per_page}&page={page}" "https://api.github.com/repos/{repo}/releases?per_page={per_page}&page={page}"
))? ))?
.into_json()?; .into_json()?;
if r.len() < per_page { // If version_req is latest, it is usually sufficient to look at the latest 100 releases.
if r.len() < per_page || version_req.map_or(false, |req| req == "latest") {
releases.append(&mut r); releases.append(&mut r);
break; break;
} }
@@ -172,7 +174,7 @@ fn main() -> Result<()> {
if let Some(license) = detail.license { if let Some(license) = detail.license {
eprintln!("Trying to using license '{license}' from crates.io ..."); eprintln!("Trying to using license '{license}' from crates.io ...");
if let Some(license_markdown) = if let Some(license_markdown) =
get_license_markdown(&license, &repo.to_string(), &repo_info.default_branch) get_license_markdown(&license, repo, &repo_info.default_branch)
{ {
manifests.license_markdown = license_markdown; manifests.license_markdown = license_markdown;
} }
@@ -181,7 +183,7 @@ fn main() -> Result<()> {
if let Some(license) = license.spdx_id { if let Some(license) = license.spdx_id {
eprintln!("Trying to using license '{license}' from github.com ..."); eprintln!("Trying to using license '{license}' from github.com ...");
if let Some(license_markdown) = if let Some(license_markdown) =
get_license_markdown(&license, &repo.to_string(), &repo_info.default_branch) get_license_markdown(&license, repo, &repo_info.default_branch)
{ {
manifests.license_markdown = license_markdown; manifests.license_markdown = license_markdown;
} }
@@ -192,7 +194,7 @@ fn main() -> Result<()> {
panic!("Unable to determine license_markdown; set manually") panic!("Unable to determine license_markdown; set manually")
} }
let version_req: Option<semver::VersionReq> = match args.get(1) { let version_req: Option<semver::VersionReq> = match version_req {
_ if latest_only => { _ if latest_only => {
let req = format!("={}", releases.first_key_value().unwrap().0 .0).parse()?; let req = format!("={}", releases.first_key_value().unwrap().0 .0).parse()?;
eprintln!("update manifest for versions '{req}'"); eprintln!("update manifest for versions '{req}'");
@@ -294,7 +296,7 @@ fn main() -> Result<()> {
eprintln!("already downloaded"); eprintln!("already downloaded");
fs::File::open(download_cache)?.read_to_end(&mut buf)?; fs::File::open(download_cache)?.read_to_end(&mut buf)?;
} else { } else {
download_github(&url)?.into_reader().read_to_end(&mut buf)?; download(&url)?.into_reader().read_to_end(&mut buf)?;
eprintln!("download complete"); eprintln!("download complete");
fs::write(download_cache, &buf)?; fs::write(download_cache, &buf)?;
} }
@@ -316,7 +318,7 @@ fn main() -> Result<()> {
eprintln!("already downloaded"); eprintln!("already downloaded");
minisign_verify::Signature::from_file(sig_download_cache)? minisign_verify::Signature::from_file(sig_download_cache)?
} else { } else {
let buf = download_github(&url)?.into_string()?; let buf = download(&url)?.into_string()?;
eprintln!("download complete"); eprintln!("download complete");
fs::write(sig_download_cache, &buf)?; fs::write(sig_download_cache, &buf)?;
minisign_verify::Signature::decode(&buf)? minisign_verify::Signature::decode(&buf)?
@@ -606,97 +608,131 @@ fn replace_vars(
Ok(s) Ok(s)
} }
/// Download using GITHUB_TOKEN. struct GitHubTokens {
#[allow(clippy::missing_panics_doc)] // In my experience, only api.github.com have severe rate limit.
fn download_github(url: &str) -> Result<ureq::Response> { // https://api.github.com/
let mut token = env::var("GITHUB_TOKEN").ok().filter(|v| !v.is_empty()); // Refs: https://docs.github.com/en/rest/using-the-rest-api/rate-limits-for-the-rest-api
api: RwLock<Option<String>>,
// https://raw.githubusercontent.com/
// Refs: https://stackoverflow.com/questions/66522261/does-github-rate-limit-access-to-public-raw-files
raw: RwLock<Option<String>>,
// https://github.com/*/*/releases/download/
other: RwLock<Option<String>>,
}
impl GitHubTokens {
fn get(&self, url: &str) -> Option<String> {
if url.starts_with("https://raw.githubusercontent.com/") {
self.raw.read().unwrap().clone()
} else if url.starts_with("https://api.github.com/") {
self.api.read().unwrap().clone()
} else if url.starts_with("https://github.com/") {
self.other.read().unwrap().clone()
} else {
None
}
}
fn clear(&self, url: &str) {
if url.starts_with("https://raw.githubusercontent.com/") {
*self.raw.write().unwrap() = None;
} else if url.starts_with("https://api.github.com/") {
*self.api.write().unwrap() = None;
} else if url.starts_with("https://github.com/") {
*self.other.write().unwrap() = None;
}
}
}
static GITHUB_TOKENS: LazyLock<GitHubTokens> = LazyLock::new(|| {
let token = env::var("GITHUB_TOKEN").ok().filter(|v| !v.is_empty());
GitHubTokens {
raw: RwLock::new(token.clone()),
api: RwLock::new(token.clone()),
other: RwLock::new(token),
}
});
fn download(url: &str) -> Result<ureq::Response> {
let mut token = GITHUB_TOKENS.get(url);
let mut retry = 0; let mut retry = 0;
let max_retry = 6; let mut retry_time = 0;
let mut max_retry = 6;
if token.is_none() {
max_retry /= 2;
}
let mut last_error; let mut last_error;
loop { loop {
let mut req = ureq::get(url); let mut req = ureq::get(url);
if let Some(token) = &token { if let Some(token) = &token {
req = req.set("Authorization", token); req = req.set("Authorization", &format!("Bearer {token}"));
} }
match req.call() { match req.call() {
Ok(res) => return Ok(res), Ok(res) => return Ok(res),
Err(e) => last_error = Some(e), Err(e) => last_error = Some(e),
} }
if retry == max_retry / 2 && token.is_some() { retry_time += 1;
if token.is_some() && retry == max_retry / 2 {
retry_time = 0;
token = None; token = None;
// rate limit
GITHUB_TOKENS.clear(url);
} }
retry += 1; retry += 1;
if retry > max_retry { if retry > max_retry {
break; break;
} }
eprintln!("download failed; retrying after {}s ({retry}/{max_retry})", retry * 2); eprintln!("download failed; retrying after {}s ({retry}/{max_retry})", retry_time * 2);
std::thread::sleep(Duration::from_secs(retry * 2)); std::thread::sleep(Duration::from_secs(retry_time * 2));
} }
Err(last_error.unwrap().into()) Err(last_error.unwrap().into())
} }
#[allow(clippy::missing_panics_doc)] fn github_head(url: &str) -> Result<()> {
pub fn github_head(url: &str) -> Result<()> {
eprintln!("fetching head of {url} .."); eprintln!("fetching head of {url} ..");
let mut token = env::var("GITHUB_TOKEN").ok().filter(|v| !v.is_empty()); let mut token = GITHUB_TOKENS.get(url);
let mut retry = 0; let mut retry = 0;
let max_retry = 2; let mut retry_time = 0;
let mut max_retry = 2;
if token.is_none() {
max_retry /= 2;
}
let mut last_error; let mut last_error;
loop { loop {
let mut req = ureq::head(url); let mut req = ureq::head(url);
if let Some(token) = &token { if let Some(token) = &token {
req = req.set("Authorization", token); req = req.set("Authorization", &format!("Bearer {token}"));
} }
match req.call() { match req.call() {
Ok(_) => return Ok(()), Ok(_) => return Ok(()),
Err(e) => last_error = Some(e), // rate limit
Err(e @ ureq::Error::Status(403, _)) => last_error = Some(e),
Err(e) => return Err(e.into()),
} }
if retry == max_retry / 2 && token.is_some() { retry_time += 1;
if token.is_some() && retry == max_retry / 2 {
retry_time = 0;
token = None; token = None;
GITHUB_TOKENS.clear(url);
} }
retry += 1; retry += 1;
if retry > max_retry { if retry > max_retry {
break; break;
} }
eprintln!("head of {url} failed; retrying after {}s ({retry}/{max_retry})", retry * 2); eprintln!("head of {url} failed; retrying after {}s ({retry}/{max_retry})", retry_time * 2);
std::thread::sleep(Duration::from_secs(retry * 2)); std::thread::sleep(Duration::from_secs(retry_time * 2));
}
Err(last_error.unwrap().into())
}
/// Download without using GITHUB_TOKEN.
#[allow(clippy::missing_panics_doc)]
pub fn download(url: &str) -> Result<ureq::Response> {
let mut retry = 0;
let max_retry = 6;
let mut last_error;
loop {
let req = ureq::get(url);
match req.call() {
Ok(res) => return Ok(res),
Err(e) => last_error = Some(e),
}
retry += 1;
if retry > max_retry {
break;
}
eprintln!("download of {url} failed; retrying after {}s ({retry}/{max_retry})", retry * 2);
std::thread::sleep(Duration::from_secs(retry * 2));
} }
Err(last_error.unwrap().into()) Err(last_error.unwrap().into())
} }
#[must_use] #[must_use]
fn create_github_raw_link(repository: &String, branch: &String, filename: &String) -> String { fn create_github_raw_link(repository: &str, branch: &str, filename: &str) -> String {
format!("https://raw.githubusercontent.com/{repository}/{branch}/{filename}") format!("https://raw.githubusercontent.com/{repository}/{branch}/{filename}")
} }
#[must_use] #[must_use]
fn create_github_link(repository: &String, branch: &String, filename: &String) -> String { fn create_github_link(repository: &str, branch: &str, filename: &str) -> String {
format!("https://github.com/{repository}/blob/{branch}/{filename}") format!("https://github.com/{repository}/blob/{branch}/{filename}")
} }
#[must_use] #[must_use]
fn get_license_markdown(spdx_expr: &str, repo: &String, default_branch: &String) -> Option<String> { fn get_license_markdown(spdx_expr: &str, repo: &str, default_branch: &str) -> Option<String> {
// TODO: use https://docs.rs/spdx/latest/spdx/expression/struct.Expression.html#method.canonicalize ? // TODO: use https://docs.rs/spdx/latest/spdx/expression/struct.Expression.html#method.canonicalize ?
let expr = spdx::Expression::parse_mode(spdx_expr, spdx::ParseMode::LAX).unwrap(); let expr = spdx::Expression::parse_mode(spdx_expr, spdx::ParseMode::LAX).unwrap();
@@ -740,14 +776,14 @@ fn get_license_markdown(spdx_expr: &str, repo: &String, default_branch: &String)
let license_name = if let Some(exception_id) = exception_id { let license_name = if let Some(exception_id) = exception_id {
format!("{} WITH {}", license_id.name, exception_id.name) format!("{} WITH {}", license_id.name, exception_id.name)
} else { } else {
license_id.name.to_string() license_id.name.to_owned()
}; };
let name = license_id.name.split('-').next().unwrap().to_ascii_uppercase(); let name = license_id.name.split('-').next().unwrap().to_ascii_uppercase();
for filename in [ for filename in [
"LICENSE".to_string(), "LICENSE".to_owned(),
format!("LICENSE-{name}"), format!("LICENSE-{name}"),
"LICENSE.md".to_string(), "LICENSE.md".to_owned(),
"COPYING".to_string(), "COPYING".to_owned(),
] { ] {
let url = create_github_raw_link(repo, default_branch, &filename); let url = create_github_raw_link(repo, default_branch, &filename);
if github_head(&url).is_ok() { if github_head(&url).is_ok() {
@@ -765,7 +801,7 @@ fn get_license_markdown(spdx_expr: &str, repo: &String, default_branch: &String)
let license_name = if let Some(exception_id) = exception_id { let license_name = if let Some(exception_id) = exception_id {
format!("{} WITH {}", license_id.name, exception_id.name) format!("{} WITH {}", license_id.name, exception_id.name)
} else { } else {
license_id.name.to_string() license_id.name.to_owned()
}; };
if github_head(&url).is_ok() { if github_head(&url).is_ok() {
let url = create_github_link(repo, default_branch, &filename); let url = create_github_link(repo, default_branch, &filename);

View File

@@ -13,8 +13,7 @@ This is a list of tools that are installed from manifests managed in this action
If a tool not included in the list below is specified, this action uses [cargo-binstall] as a fallback. If a tool not included in the list below is specified, this action uses [cargo-binstall] as a fallback.
> If `$CARGO_HOME/bin` is not available, Rust-related binaries will be installed to `$HOME/.cargo/bin`.<br> > If `$CARGO_HOME/bin` is not available, Rust-related binaries will be installed to `$HOME/.cargo/bin`.<br>
> If `$HOME/.cargo/bin` is not available, Rust-related binaries will be installed to `/usr/local/bin`.<br> > If `$HOME/.cargo/bin` is not available, Rust-related binaries will be installed to `$HOME/.install-action/bin`.<br>
> If `/usr/local/bin` is not available, binaries will be installed to `$HOME/.install-action/bin`.<br>
| Name | Where binaries will be installed | Where will it be installed from | Supported platform | License | | Name | Where binaries will be installed | Where will it be installed from | Supported platform | License |
| ---- | -------------------------------- | ------------------------------- | ------------------ | ------- | | ---- | -------------------------------- | ------------------------------- | ------------------ | ------- |
@@ -47,16 +46,16 @@ fn main() -> Result<()> {
paths.sort_by_key(fs_err::DirEntry::path); paths.sort_by_key(fs_err::DirEntry::path);
let mut tools = vec![MarkdownEntry { let mut tools = vec![MarkdownEntry {
name: "valgrind".to_string(), name: "valgrind".to_owned(),
alias: None, alias: None,
website: "https://valgrind.org/".to_string(), website: "https://valgrind.org/".to_owned(),
installed_to: InstalledTo::Snap, installed_to: InstalledTo::Snap,
installed_from: InstalledFrom::Snap, installed_from: InstalledFrom::Snap,
platforms: Platforms { linux: true, ..Default::default() }, platforms: Platforms { linux: true, ..Default::default() },
repository: "https://sourceware.org/git/valgrind.git".to_string(), repository: "https://sourceware.org/git/valgrind.git".to_owned(),
license_markdown: license_markdown:
"[GPL-2.0](https://sourceware.org/git/?p=valgrind.git;a=blob;f=COPYING;hb=HEAD)" "[GPL-2.0](https://sourceware.org/git/?p=valgrind.git;a=blob;f=COPYING;hb=HEAD)"
.to_string(), .to_owned(),
}]; }];
for path in paths { for path in paths {
@@ -178,12 +177,10 @@ enum InstalledTo {
impl fmt::Display for InstalledTo { impl fmt::Display for InstalledTo {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
match self { match self {
InstalledTo::Cargo => f.write_str("`$CARGO_HOME/bin`")?, InstalledTo::Cargo => f.write_str("`$CARGO_HOME/bin`"),
InstalledTo::Snap => f.write_str("`/snap/bin`")?, InstalledTo::Snap => f.write_str("`/snap/bin`"),
InstalledTo::UsrLocal => f.write_str("`/usr/local/bin`")?, InstalledTo::UsrLocal => f.write_str("`$HOME/.install-action/bin`"),
} }
Ok(())
} }
} }