Compare commits

...

22 Commits

Author SHA1 Message Date
Taiki Endo
5ee12b2568 Release 2.38.2 2024-06-11 04:41:32 +09:00
Taiki Endo
02185b5b43 Update syft@latest to 1.6.0 2024-06-11 02:05:45 +09:00
Taiki Endo
56182455cc Release 2.38.1 2024-06-11 00:51:33 +09:00
Taiki Endo
b67c820ac3 Update biome@latest to 1.8.1 2024-06-11 00:41:43 +09:00
Taiki Endo
d0c2bb4cff Release 2.38.0 2024-06-10 00:41:06 +09:00
Taiki Endo
a36362bfc6 Update changelog 2024-06-09 22:23:43 +09:00
Taiki Endo
2d1ca68f02 Add fallback input option to ensure that fallback is not used 2024-06-09 22:22:33 +09:00
John Vandenberg
f6578d890d Add deepsource (#522) 2024-06-09 18:10:54 +09:00
John Vandenberg
e7b91e1d2b Add earthly (#520) 2024-06-09 18:10:43 +09:00
Taiki Endo
5a6e4c785f Add manifest for cargo-nextest 2024-06-09 16:41:17 +09:00
John Vandenberg
762078b2b9 Update dprint 2024-06-09 15:04:20 +09:00
John Vandenberg
feb3c20d8e Workaround archlinux jq failure 2024-06-09 15:04:20 +09:00
John Vandenberg
4306070abe Allow running CI for branches ci-* 2024-06-09 15:04:20 +09:00
Taiki Endo
23b90ae71a Release 2.37.0 2024-06-08 19:10:13 +09:00
Taiki Endo
f9c15f1341 Update license links to Cargo.toml 2024-06-08 18:33:05 +09:00
Taiki Endo
61977646cd Update changelog 2024-06-08 18:04:50 +09:00
John Vandenberg
a6bc18a46c Add jaq (#513)
* Add jaq

* switch to musl

* update markdown
2024-06-08 08:22:08 +00:00
John Vandenberg
df5666f536 Add xh (#512) 2024-06-08 17:33:29 +10:00
Taiki Endo
8d078757e8 Update cargo-binstall@latest to 1.6.9 2024-06-08 16:21:03 +09:00
John Vandenberg
a0060a7f49 Add wait-for-them (#514)
* Add wait-for-them

* add to glibc_pre_2_34_incompat

* ignore --help/--version check

* update markdown
2024-06-08 16:58:09 +10:00
John Vandenberg
66c4dcc03d Add rclone (#511)
* Add rclone

* fix cspell

* specify bin dir
2024-06-08 16:07:49 +10:00
Taiki Endo
16647abe1b Update typos@latest to 1.22.3 2024-06-08 03:40:58 +09:00
35 changed files with 1755 additions and 89 deletions

View File

@@ -4,6 +4,7 @@ bindgen
binstall binstall
coreutils coreutils
cyclonedx cyclonedx
deepsource
distro distro
doas doas
dprint dprint
@@ -20,6 +21,7 @@ protoc
pubkey pubkey
pwsh pwsh
quickinstall quickinstall
rclone
rdme rdme
sccache sccache
syft syft

View File

@@ -9,6 +9,7 @@ on:
branches: branches:
- main - main
- dev - dev
- ci-*
schedule: schedule:
- cron: '0 0,3,6,9,12,15,18,21 * * *' - cron: '0 0,3,6,9,12,15,18,21 * * *'
workflow_dispatch: workflow_dispatch:
@@ -83,7 +84,7 @@ jobs:
run: just --version & shfmt --version & protoc --version run: just --version & shfmt --version & protoc --version
shell: cmd shell: cmd
if: startsWith(matrix.os, 'windows') if: startsWith(matrix.os, 'windows')
# We use the version output to check the version of binstall, but they # We use the version output to check the version of cargo-binstall, but they
# several times change the version output format in the past so we need to # several times change the version output format in the past so we need to
# check it with CI. (e.g., 0.14.0->0.16.0 update change it # check it with CI. (e.g., 0.14.0->0.16.0 update change it
# from "cargo-binstall <version>" to "<version>") # from "cargo-binstall <version>" to "<version>")

View File

@@ -10,13 +10,50 @@ Note: In this file, do not use the hard wrap in the middle of a sentence for com
## [Unreleased] ## [Unreleased]
## [2.38.2] - 2024-06-10
- Update `syft@latest` to 1.6.0.
## [2.38.1] - 2024-06-10
- Update `biome@latest` to 1.8.1.
## [2.38.0] - 2024-06-09
- Support `earthly`. ([#520](https://github.com/taiki-e/install-action/pull/520), thanks @jayvdb)
- Support `deepsource`. ([#522](https://github.com/taiki-e/install-action/pull/522), thanks @jayvdb)
- Add `fallback: none` input option to ensure that fallback is not used. ([#517](https://github.com/taiki-e/install-action/pull/517))
- `cargo-nextest` installation no longer use `cargo-binstall`. ([#518](https://github.com/taiki-e/install-action/pull/518))
This improves security, performance, robustness of installation. See [#487](https://github.com/taiki-e/install-action/issues/487) for more.
- Update `dprint@latest` to 0.46.2.
- Workaround glibc compatibility issue on archlinux. ([#525](https://github.com/taiki-e/install-action/pull/525), thanks @jayvdb)
## [2.37.0] - 2024-06-08
- Support `rclone`. ([#511](https://github.com/taiki-e/install-action/pull/511), thanks @jayvdb)
- Support `xh`. ([#512](https://github.com/taiki-e/install-action/pull/512), thanks @jayvdb)
- Support `jaq`. ([#513](https://github.com/taiki-e/install-action/pull/513), thanks @jayvdb)
- Support `wait-for-them`. ([#514](https://github.com/taiki-e/install-action/pull/514), thanks @jayvdb)
- Update `cargo-binstall@latest` to 1.6.9.
- Update `typos@latest` to 1.22.3.
## [2.36.0] - 2024-06-07 ## [2.36.0] - 2024-06-07
- Support `cargo-zigbuild` ([#508](https://github.com/taiki-e/install-action/pull/508), thanks @jayvdb) - Support `cargo-zigbuild`. ([#508](https://github.com/taiki-e/install-action/pull/508), thanks @jayvdb)
## [2.35.0] - 2024-06-05 ## [2.35.0] - 2024-06-05
- Support `cargo-semver-checks` ([#507](https://github.com/taiki-e/install-action/pull/507), thanks @jayvdb) - Support `cargo-semver-checks`. ([#507](https://github.com/taiki-e/install-action/pull/507), thanks @jayvdb)
- Update `osv-scanner@latest` to 1.7.4. ([#506](https://github.com/taiki-e/install-action/pull/506), thanks @nmcdaines) - Update `osv-scanner@latest` to 1.7.4. ([#506](https://github.com/taiki-e/install-action/pull/506), thanks @nmcdaines)
@@ -2259,7 +2296,11 @@ 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.36.0...HEAD [Unreleased]: https://github.com/taiki-e/install-action/compare/v2.38.2...HEAD
[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.0]: https://github.com/taiki-e/install-action/compare/v2.37.0...v2.38.0
[2.37.0]: https://github.com/taiki-e/install-action/compare/v2.36.0...v2.37.0
[2.36.0]: https://github.com/taiki-e/install-action/compare/v2.35.0...v2.36.0 [2.36.0]: https://github.com/taiki-e/install-action/compare/v2.35.0...v2.36.0
[2.35.0]: https://github.com/taiki-e/install-action/compare/v2.34.3...v2.35.0 [2.35.0]: https://github.com/taiki-e/install-action/compare/v2.34.3...v2.35.0
[2.34.3]: https://github.com/taiki-e/install-action/compare/v2.34.2...v2.34.3 [2.34.3]: https://github.com/taiki-e/install-action/compare/v2.34.2...v2.34.3

View File

@@ -79,6 +79,18 @@ See [TOOLS.md](TOOLS.md) for the list of tools that are installed from manifests
If a tool not included in the list above is specified, this action uses [cargo-binstall] as a fallback. If a tool not included in the list above is specified, this action uses [cargo-binstall] as a fallback.
If you want to ensure that fallback is not used, use `fallback: none`.
```yaml
- uses: taiki-e/install-action@v2
with:
tool: cargo-hack
# Possible values:
# - none: disable all fallback
# - cargo-binstall (default): cargo-binstall (includes quickinstall)
fallback: none
```
### Add support for new tool ### Add support for new tool
See the [development guide](DEVELOPMENT.md) for how to add support for new tool. See the [development guide](DEVELOPMENT.md) for how to add support for new tool.
@@ -93,6 +105,8 @@ Additionally, we also verify signature if the tool distributes signed archives.
See the linked documentation for information on security when installed using [snap](https://snapcraft.io/docs) or [cargo-binstall](https://github.com/cargo-bins/cargo-binstall#faq). See the linked documentation for information on security when installed using [snap](https://snapcraft.io/docs) or [cargo-binstall](https://github.com/cargo-bins/cargo-binstall#faq).
See the [Supported tools section](#supported-tools) for how to ensure that fallback is not used.
## Compatibility ## Compatibility
This action has been tested for GitHub-hosted runners (Ubuntu, macOS, Windows) and containers (Ubuntu, Debian, Fedora, CentOS, Alma, openSUSE, Arch, Alpine). This action has been tested for GitHub-hosted runners (Ubuntu, macOS, Windows) and containers (Ubuntu, Debian, Fedora, CentOS, Alma, openSUSE, Arch, Alpine).

View File

@@ -4,6 +4,8 @@ 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.
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 `/usr/local/bin`.<br>
> If `/usr/local/bin` is not available, 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>
@@ -23,39 +25,45 @@ If a tool not included in the list below is specified, this action uses [cargo-b
| [**cargo-machete**](https://github.com/bnjbvr/cargo-machete) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/bnjbvr/cargo-machete/releases) | Linux, macOS, Windows | [MIT](https://github.com/bnjbvr/cargo-machete/blob/main/LICENSE.md) | | [**cargo-machete**](https://github.com/bnjbvr/cargo-machete) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/bnjbvr/cargo-machete/releases) | Linux, macOS, Windows | [MIT](https://github.com/bnjbvr/cargo-machete/blob/main/LICENSE.md) |
| [**cargo-make**](https://github.com/sagiegurari/cargo-make) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/sagiegurari/cargo-make/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/sagiegurari/cargo-make/blob/master/LICENSE) | | [**cargo-make**](https://github.com/sagiegurari/cargo-make) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/sagiegurari/cargo-make/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/sagiegurari/cargo-make/blob/master/LICENSE) |
| [**cargo-minimal-versions**](https://github.com/taiki-e/cargo-minimal-versions) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/taiki-e/cargo-minimal-versions/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/taiki-e/cargo-minimal-versions/blob/main/LICENSE-APACHE) OR [MIT](https://github.com/taiki-e/cargo-minimal-versions/blob/main/LICENSE-MIT) | | [**cargo-minimal-versions**](https://github.com/taiki-e/cargo-minimal-versions) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/taiki-e/cargo-minimal-versions/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/taiki-e/cargo-minimal-versions/blob/main/LICENSE-APACHE) OR [MIT](https://github.com/taiki-e/cargo-minimal-versions/blob/main/LICENSE-MIT) |
| [**cargo-nextest**](https://github.com/nextest-rs/nextest) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/nextest-rs/nextest/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/nextest-rs/nextest/blob/main/LICENSE-APACHE) OR [MIT](https://github.com/nextest-rs/nextest/blob/main/LICENSE-MIT) |
| [**cargo-no-dev-deps**](https://github.com/taiki-e/cargo-no-dev-deps) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/taiki-e/cargo-no-dev-deps/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/taiki-e/cargo-no-dev-deps/blob/main/LICENSE-APACHE) OR [MIT](https://github.com/taiki-e/cargo-no-dev-deps/blob/main/LICENSE-MIT) | | [**cargo-no-dev-deps**](https://github.com/taiki-e/cargo-no-dev-deps) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/taiki-e/cargo-no-dev-deps/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/taiki-e/cargo-no-dev-deps/blob/main/LICENSE-APACHE) OR [MIT](https://github.com/taiki-e/cargo-no-dev-deps/blob/main/LICENSE-MIT) |
| [**cargo-rdme**](https://github.com/orium/cargo-rdme) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/orium/cargo-rdme/releases) | Linux, macOS, Windows | [MPL-2.0](https://github.com/orium/cargo-rdme/blob/main/LICENSE.md) | | [**cargo-rdme**](https://github.com/orium/cargo-rdme) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/orium/cargo-rdme/releases) | Linux, macOS, Windows | [MPL-2.0](https://github.com/orium/cargo-rdme/blob/main/LICENSE.md) |
| [**cargo-semver-checks**](https://github.com/obi1kenobi/cargo-semver-checks) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/obi1kenobi/cargo-semver-checks/releases) | Linux, macOS, Windows | [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) | | [**cargo-semver-checks**](https://github.com/obi1kenobi/cargo-semver-checks) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/obi1kenobi/cargo-semver-checks/releases) | Linux, macOS, Windows | [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) |
| [**cargo-sort**](https://github.com/DevinR528/cargo-sort) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/DevinR528/cargo-sort/releases) | Linux, macOS, Windows | [Apache-2.0 OR MIT](https://github.com/DevinR528/cargo-sort/blob/55ec89082466f6bb246d870a8d56d166a8e1f08b/Cargo.toml#L5) | | [**cargo-sort**](https://github.com/DevinR528/cargo-sort) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/DevinR528/cargo-sort/releases) | Linux, macOS, Windows | [Apache-2.0 OR MIT](https://github.com/DevinR528/cargo-sort/blob/v1.0.9/Cargo.toml#L5) |
| [**cargo-spellcheck**](https://github.com/drahnr/cargo-spellcheck) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/drahnr/cargo-spellcheck/releases) | Linux, Windows | [LGPLv2.1](https://github.com/drahnr/cargo-spellcheck/blob/master/LICENSE-LGPL) | | [**cargo-spellcheck**](https://github.com/drahnr/cargo-spellcheck) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/drahnr/cargo-spellcheck/releases) | Linux, Windows | [LGPLv2.1](https://github.com/drahnr/cargo-spellcheck/blob/master/LICENSE-LGPL) |
| [**cargo-tarpaulin**](https://github.com/xd009642/tarpaulin) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/xd009642/tarpaulin/releases) | Linux, macOS, Windows | [MIT](https://github.com/xd009642/tarpaulin/blob/develop/LICENSE-MIT) OR [Apache-2.0](https://github.com/xd009642/tarpaulin/blob/develop/LICENSE-APACHE) | | [**cargo-tarpaulin**](https://github.com/xd009642/tarpaulin) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/xd009642/tarpaulin/releases) | Linux, macOS, Windows | [MIT](https://github.com/xd009642/tarpaulin/blob/develop/LICENSE-MIT) OR [Apache-2.0](https://github.com/xd009642/tarpaulin/blob/develop/LICENSE-APACHE) |
| [**cargo-udeps**](https://github.com/est31/cargo-udeps) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/est31/cargo-udeps/releases) | Linux, macOS, Windows | [Apache-2.0 OR MIT](https://github.com/est31/cargo-udeps/blob/HEAD/LICENSE) | | [**cargo-udeps**](https://github.com/est31/cargo-udeps) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/est31/cargo-udeps/releases) | Linux, macOS, Windows | [Apache-2.0 OR MIT](https://github.com/est31/cargo-udeps/blob/HEAD/LICENSE) |
| [**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) |
| [**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) |
| [**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) | `/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) |
| [**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) |
| [**hyperfine**](https://github.com/sharkdp/hyperfine) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/sharkdp/hyperfine/releases) | Linux, macOS, Windows | [MIT](https://github.com/sharkdp/hyperfine/blob/master/LICENSE-MIT) OR [Apache-2.0](https://github.com/sharkdp/hyperfine/blob/master/LICENSE-APACHE) | | [**hyperfine**](https://github.com/sharkdp/hyperfine) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/sharkdp/hyperfine/releases) | Linux, macOS, Windows | [MIT](https://github.com/sharkdp/hyperfine/blob/master/LICENSE-MIT) OR [Apache-2.0](https://github.com/sharkdp/hyperfine/blob/master/LICENSE-APACHE) |
| [**jaq**](https://github.com/01mf02/jaq) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/01mf02/jaq/releases) | Linux, macOS, Windows | [MIT](https://github.com/01mf02/jaq/blob/main/LICENSE-MIT) |
| [**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) |
| [**nextest**](https://nexte.st/) (alias: `cargo-nextest`)| `$CARGO_HOME/bin` | `cargo-binstall` | Linux, macOS, Windows | [Apache-2.0](https://github.com/nextest-rs/nextest/blob/HEAD/LICENSE-APACHE) OR [MIT](https://github.com/nextest-rs/nextest/blob/HEAD/LICENSE-MIT) |
| [**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) | `/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) |
| [**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) | `/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) |
| [**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) |
| [**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) | `/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) |
| [**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) | `/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) |
| [**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) | `/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) |
| [**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) |
| [**wasm-bindgen**](https://github.com/rustwasm/wasm-bindgen) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/rustwasm/wasm-bindgen/releases) | Linux, macOS, Windows | [MIT](https://github.com/rustwasm/wasm-bindgen/blob/main/LICENSE-MIT) OR [Apache-2.0](https://github.com/rustwasm/wasm-bindgen/blob/main/LICENSE-APACHE) | | [**wasm-bindgen**](https://github.com/rustwasm/wasm-bindgen) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/rustwasm/wasm-bindgen/releases) | Linux, macOS, Windows | [MIT](https://github.com/rustwasm/wasm-bindgen/blob/main/LICENSE-MIT) OR [Apache-2.0](https://github.com/rustwasm/wasm-bindgen/blob/main/LICENSE-APACHE) |
| [**wasm-pack**](https://github.com/rustwasm/wasm-pack) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/rustwasm/wasm-pack/releases) | Linux, macOS, Windows | [MIT](https://github.com/rustwasm/wasm-pack/blob/master/LICENSE-MIT) OR [Apache-2.0](https://github.com/rustwasm/wasm-pack/blob/master/LICENSE-APACHE) | | [**wasm-pack**](https://github.com/rustwasm/wasm-pack) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/rustwasm/wasm-pack/releases) | Linux, macOS, Windows | [MIT](https://github.com/rustwasm/wasm-pack/blob/master/LICENSE-MIT) OR [Apache-2.0](https://github.com/rustwasm/wasm-pack/blob/master/LICENSE-APACHE) |
| [**wasmtime**](https://github.com/bytecodealliance/wasmtime) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/bytecodealliance/wasmtime/releases) | Linux, macOS, Windows | [Apache-2.0 WITH LLVM-exception](https://github.com/bytecodealliance/wasmtime/blob/main/LICENSE) | | [**wasmtime**](https://github.com/bytecodealliance/wasmtime) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/bytecodealliance/wasmtime/releases) | Linux, macOS, Windows | [Apache-2.0 WITH LLVM-exception](https://github.com/bytecodealliance/wasmtime/blob/main/LICENSE) |
| [**xbuild**](https://github.com/rust-mobile/xbuild) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/rust-mobile/xbuild/releases) | Linux, macOS, Windows | [Apache-2.0 OR MIT](https://github.com/rust-mobile/xbuild/blob/268939a99a50d7927bce3e343e5d2ed32eb8b30e/xbuild/Cargo.toml#L7) | | [**xbuild**](https://github.com/rust-mobile/xbuild) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/rust-mobile/xbuild/releases) | Linux, macOS, Windows | [Apache-2.0 OR MIT](https://github.com/rust-mobile/xbuild/blob/v0.2.0/xbuild/Cargo.toml#L7) |
| [**xh**](https://github.com/ducaale/xh) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/ducaale/xh/releases) | Linux, macOS, Windows | [MIT](https://github.com/ducaale/xh/blob/master/LICENSE) |
| [**zola**](https://github.com/getzola/zola) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/getzola/zola/releases) | Linux, macOS, Windows | [MIT](https://github.com/getzola/zola/blob/master/LICENSE) | | [**zola**](https://github.com/getzola/zola) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/getzola/zola/releases) | Linux, macOS, Windows | [MIT](https://github.com/getzola/zola/blob/master/LICENSE) |
[cargo-binstall]: https://github.com/cargo-bins/cargo-binstall [cargo-binstall]: https://github.com/cargo-bins/cargo-binstall

View File

@@ -10,6 +10,10 @@ inputs:
description: Whether to enable checksums description: Whether to enable checksums
required: false required: false
default: 'true' default: 'true'
fallback:
description: Whether to use fallback (none or cargo-binstall)
required: false
default: 'cargo-binstall'
# Note: # Note:
# - inputs.* should be manually mapped to INPUT_* due to https://github.com/actions/runner/issues/665 # - inputs.* should be manually mapped to INPUT_* due to https://github.com/actions/runner/issues/665
@@ -22,3 +26,4 @@ runs:
env: env:
INPUT_TOOL: ${{ inputs.tool }} INPUT_TOOL: ${{ inputs.tool }}
INPUT_CHECKSUM: ${{ inputs.checksum }} INPUT_CHECKSUM: ${{ inputs.checksum }}
INPUT_FALLBACK: ${{ inputs.fallback }}

60
main.sh
View File

@@ -197,7 +197,29 @@ read_manifest() {
exact_version="${version}" exact_version="${version}"
else else
manifest=$(call_jq -r ".\"${exact_version}\"" "${manifest_dir}/${tool}.json") manifest=$(call_jq -r ".\"${exact_version}\"" "${manifest_dir}/${tool}.json")
if [[ "${rust_crate}" != "null" ]]; then
# TODO: don't hardcode tool name and use 'immediate_yank_reflection' field in base manifest.
case "${tool}" in
cargo-nextest | nextest)
crate_info=$(retry curl --proto '=https' --tlsv1.2 -fsSL --retry 10 "https://crates.io/api/v1/crates/${rust_crate}")
while true; do
yanked=$(jq <<<"${crate_info}" -r ".versions[] | select(.num == \"${exact_version}\") | .yanked")
if [[ "${yanked}" != "true" ]]; then
break
fi fi
previous_stable_version=$(jq <<<"${manifest}" -r '.previous_stable_version')
if [[ "${previous_stable_version}" == "null" ]]; then
break
fi
info "${tool}@${exact_version} is yanked; downgrade to ${previous_stable_version}"
exact_version="${previous_stable_version}"
manifest=$(jq -r ".\"${exact_version}\"" "${manifest_dir}/${tool}.json")
done
;;
esac
fi
fi
case "${host_os}" in case "${host_os}" in
linux) linux)
# Static-linked binaries compiled for linux-musl will also work on linux-gnu systems and are # Static-linked binaries compiled for linux-musl will also work on linux-gnu systems and are
@@ -212,6 +234,21 @@ read_manifest() {
# TODO: However, a warning may make sense. # TODO: However, a warning may make sense.
host_platform="${host_arch}_linux_gnu" host_platform="${host_arch}_linux_gnu"
download_info=$(call_jq <<<"${manifest}" -r ".${host_platform}") download_info=$(call_jq <<<"${manifest}" -r ".${host_platform}")
elif [[ "${host_env}" == "gnu" ]]; then
# TODO: don't hardcode tool name and use 'prefer_linux_gnu' field in base manifest.
case "${tool}" in
cargo-nextest | nextest)
# TODO: don't hardcode required glibc version
required_glibc_version=2.27
higher_glibc_version=$(sort <<<"${required_glibc_version}"$'\n'"${host_glibc_version}" -Vu | tail -1)
if [[ "${higher_glibc_version}" == "${host_glibc_version}" ]]; then
# musl build of nextest is slow, so use glibc build if host_env is gnu.
# https://github.com/taiki-e/install-action/issues/13
host_platform="${host_arch}_linux_gnu"
download_info=$(jq <<<"${manifest}" -r ".${host_platform}")
fi
;;
esac
fi fi
;; ;;
macos | windows) macos | windows)
@@ -402,12 +439,25 @@ case "${enable_checksum}" in
*) bail "'checksum' input option must be 'true' or 'false': '${enable_checksum}'" ;; *) bail "'checksum' input option must be 'true' or 'false': '${enable_checksum}'" ;;
esac esac
fallback="${INPUT_FALLBACK:-}"
case "${fallback}" in
none | cargo-binstall) ;;
*) bail "'fallback' input option must be 'none' or 'cargo-binstall': '${fallback}'" ;;
esac
# Refs: https://github.com/rust-lang/rustup/blob/HEAD/rustup-init.sh # Refs: https://github.com/rust-lang/rustup/blob/HEAD/rustup-init.sh
base_distro="" base_distro=""
exe="" exe=""
case "$(uname -s)" in case "$(uname -s)" in
Linux) Linux)
host_os=linux host_os=linux
ldd_version=$(ldd --version 2>&1 || true)
if grep <<<"${ldd_version}" -q 'musl'; then
host_env="musl"
else
host_env="gnu"
host_glibc_version=$(grep <<<"${ldd_version}" -E "GLIBC|GNU libc" | sed "s/.* //g")
fi
if grep -q '^ID_LIKE=' /etc/os-release; then if grep -q '^ID_LIKE=' /etc/os-release; then
base_distro=$(grep '^ID_LIKE=' /etc/os-release | cut -d= -f2) base_distro=$(grep '^ID_LIKE=' /etc/os-release | cut -d= -f2)
case "${base_distro}" in case "${base_distro}" in
@@ -507,6 +557,10 @@ case "${host_os}" in
fi fi
else else
if ! type -P jq &>/dev/null; then if ! type -P jq &>/dev/null; then
# https://github.com/taiki-e/install-action/issues/521
if [[ "${base_distro}" == "arch" ]]; then
sys_packages+=(glibc)
fi
sys_packages+=(jq) sys_packages+=(jq)
fi fi
sys_install "${sys_packages[@]}" sys_install "${sys_packages[@]}"
@@ -714,7 +768,8 @@ for tool in "${tools[@]}"; do
case "${tool_bin_stem}" in case "${tool_bin_stem}" in
# biome up to 1.2.2 exits with 1 on both --version and --help flags. # biome up to 1.2.2 exits with 1 on both --version and --help flags.
# cargo-machete up to 0.6.0 does not support --version flag. # cargo-machete up to 0.6.0 does not support --version flag.
biome | cargo-machete) rx "${tool_bin_stem}" --version || true ;; # wait-for-them 0.4.0 exits with 1 on both --version and --help flags.
biome | cargo-machete | wait-for-them) rx "${tool_bin_stem}" --version || true ;;
# these packages support neither --version nor --help flag. # these packages support neither --version nor --help flag.
cargo-careful | wasm-bindgen-test-runner) ;; cargo-careful | wasm-bindgen-test-runner) ;;
# wasm2es6js does not support --version flag and --help flag doesn't contains version info. # wasm2es6js does not support --version flag and --help flag doesn't contains version info.
@@ -742,6 +797,9 @@ done
if [[ ${#unsupported_tools[@]} -gt 0 ]]; then if [[ ${#unsupported_tools[@]} -gt 0 ]]; then
IFS=',' IFS=','
case "${fallback}" in
none) bail "install-action does not support ${unsupported_tools[*]} (fallback is disabled by 'fallback: none' input option)" ;;
esac
info "install-action does not support ${unsupported_tools[*]}; fallback to cargo-binstall" info "install-action does not support ${unsupported_tools[*]}; fallback to cargo-binstall"
IFS=$'\n\t' IFS=$'\n\t'
install_cargo_binstall install_cargo_binstall

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.0" "version": "1.8.1"
}, },
"1": { "1": {
"version": "1.8.0" "version": "1.8.1"
}, },
"1.8": { "1.8": {
"version": "1.8.0" "version": "1.8.1"
},
"1.8.1": {
"x86_64_linux_musl": {
"checksum": "344a08e4300074612dbf71d417e54816234175e7095f58ce7f10559349d9bc82"
},
"x86_64_macos": {
"checksum": "777cf17639d33ee9a4272176dfec3aa74a0860b46a33f1b8e7e2a4f2266027a0"
},
"x86_64_windows": {
"checksum": "ae12100af43da3c188b59889baf2f7a9748dc62fb3eff15f48feb082351e288c"
},
"aarch64_linux_musl": {
"checksum": "c0dfd1bb4cef5ca36c9aec8b4c7ae478ba81331f013a74f23807f20232988008"
},
"aarch64_macos": {
"checksum": "2433998fcf918069b217d7f379e7adbaa5a758a8aec0a1cdbf626778f3f873e7"
},
"aarch64_windows": {
"checksum": "e865748ffeee8c81f4556a60d389c631eb6c93d29875006524f422024f3a174a"
}
}, },
"1.8.0": { "1.8.0": {
"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.8" "version": "1.6.9"
}, },
"1.6.8": { "1.6.9": {
"x86_64_linux_musl": { "x86_64_linux_musl": {
"checksum": "581eb7c97b2767a468afb0505c416eb727b469c029b36470288fc30b26517101" "checksum": "604d0cd902ee7385eeb9147b512bdbaa0ef4eb19a92d961df24d611f232fd3ff"
}, },
"x86_64_macos": { "x86_64_macos": {
"checksum": "590ff2a4b50d67ce52b35895e4cb8d75fefdc591988dafb2687c6461b50e3885" "checksum": "7ad36970202044d68033a79ebf62836796eb69e5c478dca1d9cbab8f55e719f3"
}, },
"x86_64_windows": { "x86_64_windows": {
"checksum": "0c1cd165f4460a9d5c1f5c2a67e5faf53913694ba207ddc18b44f6c5de6ba6c5" "checksum": "99f9d048ad0f9a8b3e3dda7de3ffa34f1b05a1cb34392bde9866c063473c89e0"
}, },
"aarch64_linux_musl": { "aarch64_linux_musl": {
"checksum": "2433118983ade85388be17d442b430c4932eb2dad834143f9a6a25646563281f" "checksum": "08f25befe50164b2d622b826da811dec47a0ac5ca3215837316281f4a8290806"
}, },
"aarch64_macos": { "aarch64_macos": {
"checksum": "1b0ea154b639dc7d8b49c6a2fa300964357a67a1b2441e9f29b61c7b7b79d23d" "checksum": "ff603214e78a62d56ba9c8f2287de400cccd377aa38d75daba3dd827a4c3d8f9"
}, },
"aarch64_windows": { "aarch64_windows": {
"checksum": "f440401a77b284a8b52ba0052fe26628e8658d4febc91108c28542a0843d341a" "checksum": "0b28fb0e4d7ee54995d845e89494f03021f573caa1d22ab4d24816715be120d9"
} }
} }
} }

1022
manifests/cargo-nextest.json generated Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -11,7 +11,7 @@
"url": "https://github.com/DevinR528/cargo-sort/releases/download/v${version}/cargo-sort-x86_64-pc-windows-msvc.zip" "url": "https://github.com/DevinR528/cargo-sort/releases/download/v${version}/cargo-sort-x86_64-pc-windows-msvc.zip"
} }
}, },
"license_markdown": "[Apache-2.0 OR MIT](https://github.com/DevinR528/cargo-sort/blob/55ec89082466f6bb246d870a8d56d166a8e1f08b/Cargo.toml#L5)", "license_markdown": "[Apache-2.0 OR MIT](https://github.com/DevinR528/cargo-sort/blob/v1.0.9/Cargo.toml#L5)",
"latest": { "latest": {
"version": "1.0.9" "version": "1.0.9"
}, },

44
manifests/deepsource.json generated Normal file
View File

@@ -0,0 +1,44 @@
{
"rust_crate": null,
"template": {
"x86_64_linux_gnu": {
"url": "https://github.com/DeepSourceCorp/cli/releases/download/v${version}/deepsource_${version}_linux_amd64.tar.gz"
},
"x86_64_macos": {
"url": "https://github.com/DeepSourceCorp/cli/releases/download/v${version}/deepsource_${version}_darwin_amd64.tar.gz"
},
"x86_64_windows": {
"url": "https://github.com/DeepSourceCorp/cli/releases/download/v${version}/deepsource_${version}_windows_amd64.tar.gz"
},
"aarch64_linux_gnu": {
"url": "https://github.com/DeepSourceCorp/cli/releases/download/v${version}/deepsource_${version}_linux_arm64.tar.gz"
},
"aarch64_macos": {
"url": "https://github.com/DeepSourceCorp/cli/releases/download/v${version}/deepsource_${version}_darwin_arm64.tar.gz"
}
},
"license_markdown": "[BSD-2-Clause](https://github.com/DeepSourceCorp/cli/blob/master/LICENSE)",
"latest": {
"version": "0.8.6"
},
"0.8": {
"version": "0.8.6"
},
"0.8.6": {
"x86_64_linux_gnu": {
"checksum": "40490fa8403496d354ac5e69ba4a71c287bee579d4413b62ee54c5c3038792ca"
},
"x86_64_macos": {
"checksum": "0970061b4755ecce8736f1d9bc8932cdafb452528432267ce33a0d566a3ecdeb"
},
"x86_64_windows": {
"checksum": "10d7bf2d6d8073a20f47982fd1db4f285666c1a6be2d89f555b097676da106d2"
},
"aarch64_linux_gnu": {
"checksum": "9f4f2a22ec412ed826e011afca3bb49979e4ee89434abbf8086324c5b9ccc074"
},
"aarch64_macos": {
"checksum": "b4223a8a03f16853cdbc4d5d40a586fa9291167e55d21f051ae3bf0c359f693a"
}
}
}

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.1" "version": "0.46.2"
}, },
"0.46": { "0.46": {
"version": "0.46.1" "version": "0.46.2"
},
"0.46.2": {
"x86_64_linux_musl": {
"checksum": "bbe9fe8eae9abdcfccdeca97fd8c524efd6137de702ee96e82b0ecb4ad432ebf"
},
"x86_64_macos": {
"checksum": "88abd8a6f416b624fdfae338ae6fca440f4a36b35199f0d03438caeb7715d820"
},
"x86_64_windows": {
"checksum": "53ab1991d23be9de8bf3b920f8605aee55629321fcacccfc5df38d49b2eb5160"
},
"aarch64_linux_musl": {
"checksum": "d7b6f88c320bffcbb1dfeb6030d5a1ef23d18d81721e39abdbf4b8bdab389ba4"
},
"aarch64_macos": {
"checksum": "a331d1c9ad2abb96d46c33d25f1166bd5497dde0c48eb8a8f3d98143cd4bca5b"
}
}, },
"0.46.1": { "0.46.1": {
"x86_64_linux_musl": { "x86_64_linux_musl": {

44
manifests/earthly.json generated Normal file
View File

@@ -0,0 +1,44 @@
{
"rust_crate": null,
"template": {
"x86_64_linux_gnu": {
"url": "https://github.com/earthly/earthly/releases/download/v${version}/earthly-linux-amd64"
},
"x86_64_macos": {
"url": "https://github.com/earthly/earthly/releases/download/v${version}/earthly-darwin-amd64"
},
"x86_64_windows": {
"url": "https://github.com/earthly/earthly/releases/download/v${version}/earthly-windows-amd64.exe"
},
"aarch64_linux_gnu": {
"url": "https://github.com/earthly/earthly/releases/download/v${version}/earthly-linux-arm64"
},
"aarch64_macos": {
"url": "https://github.com/earthly/earthly/releases/download/v${version}/earthly-darwin-arm64"
}
},
"license_markdown": "[MPL-2.0](https://github.com/earthly/earthly/blob/main/LICENSE)",
"latest": {
"version": "0.8.13"
},
"0.8": {
"version": "0.8.13"
},
"0.8.13": {
"x86_64_linux_gnu": {
"checksum": "5e1d7a41cd7a5c22f7c5c71f08e99cab3964eb604ca223b36312c755fbbce4f8"
},
"x86_64_macos": {
"checksum": "8d50d07d24794fa284ae78a699c45df540e85347ea108374b86df45a7800ff55"
},
"x86_64_windows": {
"checksum": "8201bcdd20272e4e68c56ce3b070fd488e410aef6be1e75b3b1992b4cdd0caaa"
},
"aarch64_linux_gnu": {
"checksum": "6b33bb767f34a94c49fc5db668b3f5936daa01777f3083a217f73b8aefdd7859"
},
"aarch64_macos": {
"checksum": "8d4e2055a761b07f77b11deb2f75914fe20a7bc033eb1115d9b74731df0d3593"
}
}
}

47
manifests/jaq.json generated Normal file
View File

@@ -0,0 +1,47 @@
{
"rust_crate": "jaq",
"template": {
"x86_64_linux_musl": {
"url": "https://github.com/01mf02/jaq/releases/download/v${version}/jaq-v${version}-x86_64-unknown-linux-musl"
},
"x86_64_macos": {
"url": "https://github.com/01mf02/jaq/releases/download/v${version}/jaq-v${version}-x86_64-apple-darwin"
},
"x86_64_windows": {
"url": "https://github.com/01mf02/jaq/releases/download/v${version}/jaq-v${version}-x86_64-pc-windows-msvc.exe"
},
"aarch64_linux_gnu": {
"url": "https://github.com/01mf02/jaq/releases/download/v${version}/jaq-v${version}-aarch64-unknown-linux-gnu"
},
"aarch64_macos": {
"url": "https://github.com/01mf02/jaq/releases/download/v${version}/jaq-v${version}-aarch64-apple-darwin"
}
},
"license_markdown": "[MIT](https://github.com/01mf02/jaq/blob/main/LICENSE-MIT)",
"latest": {
"version": "1.4.0"
},
"1": {
"version": "1.4.0"
},
"1.4": {
"version": "1.4.0"
},
"1.4.0": {
"x86_64_linux_musl": {
"checksum": "fce247e4b9693ff260293bdb7d4ef564f765ed6fe889c42cebfd5d2e36b591bf"
},
"x86_64_macos": {
"checksum": "f12c87eed86258b226c747ccbef55db95e78e6925eee55fe96e8a5eee4fe69f3"
},
"x86_64_windows": {
"checksum": "bb8189ee62b3b467f82e06484a7ab7478f8ddc1cc67ec95b7d2ebc2da38dd14d"
},
"aarch64_linux_gnu": {
"checksum": "2e6449091baf52bcb982e75685459464444ea8f29c7316d246f0bd407670c568"
},
"aarch64_macos": {
"checksum": "545e26ecd01b44468a894cd6576290cc8f787d0f06dd0ef8cc0b02bfe4c95c55"
}
}
}

59
manifests/rclone.json generated Normal file
View File

@@ -0,0 +1,59 @@
{
"rust_crate": null,
"template": {
"x86_64_linux_musl": {
"url": "https://github.com/rclone/rclone/releases/download/v${version}/rclone-v${version}-linux-amd64.zip",
"bin": "rclone-v${version}-linux-amd64/rclone"
},
"x86_64_macos": {
"url": "https://github.com/rclone/rclone/releases/download/v${version}/rclone-v${version}-osx-amd64.zip",
"bin": "rclone-v${version}-osx-amd64/rclone"
},
"x86_64_windows": {
"url": "https://github.com/rclone/rclone/releases/download/v${version}/rclone-v${version}-windows-amd64.zip",
"bin": "rclone-v${version}-windows-amd64/rclone.exe"
},
"aarch64_linux_musl": {
"url": "https://github.com/rclone/rclone/releases/download/v${version}/rclone-v${version}-linux-arm64.zip",
"bin": "rclone-v${version}-linux-arm64/rclone"
},
"aarch64_macos": {
"url": "https://github.com/rclone/rclone/releases/download/v${version}/rclone-v${version}-osx-arm64.zip",
"bin": "rclone-v${version}-osx-arm64/rclone"
},
"aarch64_windows": {
"url": "https://github.com/rclone/rclone/releases/download/v${version}/rclone-v${version}-windows-arm64.zip",
"bin": "rclone-v${version}-windows-arm64/rclone.exe"
}
},
"license_markdown": "[MIT](https://github.com/rclone/rclone/blob/master/COPYING)",
"latest": {
"version": "1.66.0"
},
"1": {
"version": "1.66.0"
},
"1.66": {
"version": "1.66.0"
},
"1.66.0": {
"x86_64_linux_musl": {
"checksum": "b4d304b1dc76001b1d3bb820ae8d1ae60a072afbd3296be904a3ee00b3d4fab9"
},
"x86_64_macos": {
"checksum": "5adb4c5fe0675627461000a63156001301ec7cade966c55c8c4ebcfaeb62c5ae"
},
"x86_64_windows": {
"checksum": "8e8bb13fb0d7beb316487ecde8ead5426784cdcdbf8b4d8dd381c6fe8c7d92a0"
},
"aarch64_linux_musl": {
"checksum": "c50a3ab93082f21788f9244393b19f2426edeeb896eec2e3e05ffb2e8727e075"
},
"aarch64_macos": {
"checksum": "b5f4c4d06ff3d426aee99870ad437276c9ddaad55442f2df6a58b918115fe4cf"
},
"aarch64_windows": {
"checksum": "4e815350382249ffb6d9520262bbce81f45f63126134a0c365eb648a4d27e6ea"
}
}
}

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.5.0" "version": "1.6.0"
}, },
"1": { "1": {
"version": "1.5.0" "version": "1.6.0"
},
"1.6": {
"version": "1.6.0"
},
"1.6.0": {
"x86_64_linux_musl": {
"checksum": "35c8f0912aeb31b36a0621d98e48d0b2761cc896d18d541ed3982721cf2e8f9c"
},
"x86_64_macos": {
"checksum": "93062feafa5c7684b1360e03cf6e3ec64f6b720f329743a00e917cf0a29bacb8"
},
"x86_64_windows": {
"checksum": "6e100901226bf818455f9f138288037b2560e692df3119dd2af74e3959f1d286"
},
"aarch64_linux_musl": {
"checksum": "82fa0d244f84d805589cfbdbe420fbf75ff92574eb85fcfef7de3b0c7f4ef4f8"
},
"aarch64_macos": {
"checksum": "d7d2aa97b08a66281a6137ed0bdef7d08c3613efbc413eee5f8e2fade699cbcc"
}
}, },
"1.5": { "1.5": {
"version": "1.5.0" "version": "1.5.0"

34
manifests/typos.json generated
View File

@@ -16,13 +16,41 @@
}, },
"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.1" "version": "1.22.3"
}, },
"1": { "1": {
"version": "1.22.1" "version": "1.22.3"
}, },
"1.22": { "1.22": {
"version": "1.22.1" "version": "1.22.3"
},
"1.22.3": {
"x86_64_linux_musl": {
"checksum": "712206018c601b93557e42aeffd486af2e6fb0a6b017d0d51e6dad587bd65097"
},
"x86_64_macos": {
"checksum": "21cae80f0ff7ebf39e36cba72c230f78d728168e127e21480d9398cccd862fdd"
},
"x86_64_windows": {
"checksum": "2d1cfa926d0f0dd8c972334b6e6c127243dbf8e354f3e31ed5018e30f531fe43"
},
"aarch64_macos": {
"checksum": "5ffd546b0335480af0c9f384d58db07b72e822864466055b2d2079114a279324"
}
},
"1.22.2": {
"x86_64_linux_musl": {
"checksum": "ff5123e4f309c3f013a4126fbfc8c998b018408d250d170295683b567c1b7ffe"
},
"x86_64_macos": {
"checksum": "b85e65bf834304c71f7cce7311e99d950761d23e87bbfb2c86a37d9d52a9cb84"
},
"x86_64_windows": {
"checksum": "6e7ecedbb3aab7bc00d1818680abe90ed3faa071113f12e6e7d197986ba9565d"
},
"aarch64_macos": {
"checksum": "dc1939d39b55a08900f57dc077f9e69f275365abcee6a45d32b04514f1f6a8a8"
}
}, },
"1.22.1": { "1.22.1": {
"x86_64_linux_musl": { "x86_64_linux_musl": {

32
manifests/wait-for-them.json generated Normal file
View File

@@ -0,0 +1,32 @@
{
"rust_crate": "wait-for-them",
"template": {
"x86_64_linux_gnu": {
"url": "https://github.com/shenek/wait-for-them/releases/download/v${version}/wait-for-them-linux"
},
"x86_64_windows": {
"url": "https://github.com/shenek/wait-for-them/releases/download/v${version}/wait-for-them-windows.exe"
},
"aarch64_macos": {
"url": "https://github.com/shenek/wait-for-them/releases/download/v${version}/wait-for-them-macos"
}
},
"license_markdown": "[GPL-3.0](https://github.com/shenek/wait-for-them/blob/v0.4.0/Cargo.toml#L7)",
"latest": {
"version": "0.4.0"
},
"0.4": {
"version": "0.4.0"
},
"0.4.0": {
"x86_64_linux_gnu": {
"checksum": "2350e38c79f9e59d83ceade3ba7dc2a449bdaac075ea574786421a4bc4646f3d"
},
"x86_64_windows": {
"checksum": "1f716ee4f755a01b67e9606e91a0a65448d4f06113ba40b09e465af62a1c73da"
},
"aarch64_macos": {
"checksum": "a294da6da0ffc0b0a755eb3db50a968841356ff1fdc14724cfa288732496b6dc"
}
}
}

2
manifests/xbuild.json generated
View File

@@ -14,7 +14,7 @@
"bin": "xbuild-windows-x64.exe" "bin": "xbuild-windows-x64.exe"
} }
}, },
"license_markdown": "[Apache-2.0 OR MIT](https://github.com/rust-mobile/xbuild/blob/268939a99a50d7927bce3e343e5d2ed32eb8b30e/xbuild/Cargo.toml#L7)", "license_markdown": "[Apache-2.0 OR MIT](https://github.com/rust-mobile/xbuild/blob/v0.2.0/xbuild/Cargo.toml#L7)",
"latest": { "latest": {
"version": "0.2.0" "version": "0.2.0"
}, },

49
manifests/xh.json generated Normal file
View File

@@ -0,0 +1,49 @@
{
"rust_crate": "xh",
"template": {
"x86_64_linux_musl": {
"url": "https://github.com/ducaale/xh/releases/download/v${version}/xh-v${version}-x86_64-unknown-linux-musl.tar.gz",
"bin": "xh-v${version}-x86_64-unknown-linux-musl/xh"
},
"x86_64_macos": {
"url": "https://github.com/ducaale/xh/releases/download/v${version}/xh-v${version}-x86_64-apple-darwin.tar.gz",
"bin": "xh-v${version}-x86_64-apple-darwin/xh"
},
"x86_64_windows": {
"url": "https://github.com/ducaale/xh/releases/download/v${version}/xh-v${version}-x86_64-pc-windows-msvc.zip",
"bin": "xh-v${version}-x86_64-pc-windows-msvc/xh.exe"
},
"aarch64_linux_musl": {
"url": "https://github.com/ducaale/xh/releases/download/v${version}/xh-v${version}-aarch64-unknown-linux-musl.tar.gz",
"bin": "xh-v${version}-aarch64-unknown-linux-musl/xh"
},
"aarch64_macos": {
"url": "https://github.com/ducaale/xh/releases/download/v${version}/xh-v${version}-aarch64-apple-darwin.tar.gz",
"bin": "xh-v${version}-aarch64-apple-darwin/xh"
}
},
"license_markdown": "[MIT](https://github.com/ducaale/xh/blob/master/LICENSE)",
"latest": {
"version": "0.22.0"
},
"0.22": {
"version": "0.22.0"
},
"0.22.0": {
"x86_64_linux_musl": {
"checksum": "270a4ece43a44f4c270417b50ddea430029b98cc5103e264bf65f64fac5b60a8"
},
"x86_64_macos": {
"checksum": "891a015ac04fda2a27df82991b9495213ce38d97827192c771da798bf10c875b"
},
"x86_64_windows": {
"checksum": "cbaeabbfece018e05f1ef0e380b5b797c61524b11662598bc444402bcb0607d0"
},
"aarch64_linux_musl": {
"checksum": "e4feb4a463183c3cc139f906a2cfe84dd3790d277f2915271a9a2ef3a0978ffb"
},
"aarch64_macos": {
"checksum": "48fdabeedd42b2638a9e79bbb2506eaea7371e381dbf3cebf62e5cd40a39cc64"
}
}
}

View File

@@ -8,6 +8,7 @@ cd "$(dirname "$0")"/../..
glibc_pre_2_34_incompat=( glibc_pre_2_34_incompat=(
cargo-cyclonedx cargo-cyclonedx
cargo-spellcheck cargo-spellcheck
wait-for-them
xbuild xbuild
) )
glibc_pre_2_31_incompat=( glibc_pre_2_31_incompat=(
@@ -26,6 +27,7 @@ glibc_pre_2_27_incompat=(
) )
musl_incompat=( musl_incompat=(
"${glibc_pre_2_27_incompat[@]}" "${glibc_pre_2_27_incompat[@]}"
deepsource
) )
incompat_tools=() incompat_tools=()
@@ -130,9 +132,9 @@ case "${host_os}" in
esac esac
# cargo-watch/watchexec-cli is supported by cargo-binstall (through quickinstall) # cargo-watch/watchexec-cli is supported by cargo-binstall (through quickinstall)
case "${version}" in case "${version}" in
latest) tools+=(cargo-watch watchexec-cli nextest) ;; latest) tools+=(cargo-watch watchexec-cli) ;;
major.minor.patch) tools+=(cargo-watch@8.1.1 watchexec-cli@1.20.5 nextest@0.9.57) ;; major.minor.patch) tools+=(cargo-watch@8.1.1 watchexec-cli@1.20.5) ;;
major.minor) tools+=(cargo-watch@8.1 watchexec-cli@1.20 nextest@0.9) ;; major.minor) tools+=(cargo-watch@8.1 watchexec-cli@1.20) ;;
major) tools+=(cargo-watch@8 watchexec-cli@1) ;; major) tools+=(cargo-watch@8 watchexec-cli@1) ;;
*) exit 1 ;; *) exit 1 ;;
esac esac

View File

@@ -0,0 +1,17 @@
{
"repository": "https://github.com/nextest-rs/nextest",
"tag_prefix": "cargo-nextest-",
"rust_crate": "${package}",
"asset_name": "${package}-${version}-${rust_target}.tar.gz",
"prefer_linux_gnu": true,
"immediate_yank_reflection": true,
"platform": {
"x86_64_linux_gnu": {},
"x86_64_linux_musl": {},
"x86_64_macos": {
"asset_name": "${package}-${version}-universal-apple-darwin.tar.gz"
},
"x86_64_windows": {},
"aarch64_linux_gnu": {}
}
}

View File

@@ -1,6 +1,6 @@
{ {
"repository": "https://github.com/DevinR528/cargo-sort", "repository": "https://github.com/DevinR528/cargo-sort",
"license_markdown": "[Apache-2.0 OR MIT](https://github.com/DevinR528/cargo-sort/blob/55ec89082466f6bb246d870a8d56d166a8e1f08b/Cargo.toml#L5)", "license_markdown": "[Apache-2.0 OR MIT](https://github.com/DevinR528/cargo-sort/blob/v1.0.9/Cargo.toml#L5)",
"tag_prefix": "v", "tag_prefix": "v",
"rust_crate": "${package}", "rust_crate": "${package}",
"asset_name": "${package}-${rust_target}.tar.gz", "asset_name": "${package}-${rust_target}.tar.gz",

View File

@@ -0,0 +1,22 @@
{
"repository": "https://github.com/DeepSourceCorp/cli",
"tag_prefix": "v",
"version_range": ">= 0.8.6",
"platform": {
"x86_64_linux_gnu": {
"asset_name": "${package}_${version}_linux_amd64.tar.gz"
},
"x86_64_macos": {
"asset_name": "${package}_${version}_darwin_amd64.tar.gz"
},
"x86_64_windows": {
"asset_name": "${package}_${version}_windows_amd64.tar.gz"
},
"aarch64_linux_gnu": {
"asset_name": "${package}_${version}_linux_arm64.tar.gz"
},
"aarch64_macos": {
"asset_name": "${package}_${version}_darwin_arm64.tar.gz"
}
}
}

View File

@@ -0,0 +1,22 @@
{
"repository": "https://github.com/earthly/earthly",
"tag_prefix": "v",
"version_range": ">= 0.8.13",
"platform": {
"x86_64_linux_gnu": {
"asset_name": "${package}-linux-amd64"
},
"x86_64_macos": {
"asset_name": "${package}-darwin-amd64"
},
"x86_64_windows": {
"asset_name": "${package}-windows-amd64.exe"
},
"aarch64_linux_gnu": {
"asset_name": "${package}-linux-arm64"
},
"aarch64_macos": {
"asset_name": "${package}-darwin-arm64"
}
}
}

View File

@@ -0,0 +1,16 @@
{
"repository": "https://github.com/01mf02/jaq",
"tag_prefix": "v",
"rust_crate": "${package}",
"asset_name": "${package}-v${version}-${rust_target}",
"version_range": ">= 1.4.0",
"platform": {
"x86_64_macos": {},
"x86_64_windows": {
"asset_name": "${package}-v${version}-${rust_target}.exe"
},
"x86_64_linux_musl": {},
"aarch64_macos": {},
"aarch64_linux_gnu": {}
}
}

View File

@@ -0,0 +1,31 @@
{
"repository": "https://github.com/rclone/rclone",
"tag_prefix": "v",
"version_range": ">= 1.66.0",
"platform": {
"x86_64_linux_musl": {
"asset_name": "${package}-v${version}-linux-amd64.zip",
"bin": "${package}-v${version}-linux-amd64/${package}"
},
"x86_64_macos": {
"asset_name": "${package}-v${version}-osx-amd64.zip",
"bin": "${package}-v${version}-osx-amd64/${package}"
},
"x86_64_windows": {
"asset_name": "${package}-v${version}-windows-amd64.zip",
"bin": "${package}-v${version}-windows-amd64/${package}${exe}"
},
"aarch64_linux_musl": {
"asset_name": "${package}-v${version}-linux-arm64.zip",
"bin": "${package}-v${version}-linux-arm64/${package}"
},
"aarch64_macos": {
"asset_name": "${package}-v${version}-osx-arm64.zip",
"bin": "${package}-v${version}-osx-arm64/${package}"
},
"aarch64_windows": {
"asset_name": "${package}-v${version}-windows-arm64.zip",
"bin": "${package}-v${version}-windows-arm64/${package}${exe}"
}
}
}

View File

@@ -0,0 +1,13 @@
{
"repository": "https://github.com/shenek/wait-for-them",
"license_markdown": "[GPL-3.0](https://github.com/shenek/wait-for-them/blob/v0.4.0/Cargo.toml#L7)",
"tag_prefix": "v",
"rust_crate": "${package}",
"asset_name": "${package}-${rust_target_os}${exe}",
"version_range": ">= 0.4.0",
"platform": {
"x86_64_linux_gnu": {},
"x86_64_windows": {},
"aarch64_macos": {}
}
}

View File

@@ -1,6 +1,6 @@
{ {
"repository": "https://github.com/rust-mobile/xbuild", "repository": "https://github.com/rust-mobile/xbuild",
"license_markdown": "[Apache-2.0 OR MIT](https://github.com/rust-mobile/xbuild/blob/268939a99a50d7927bce3e343e5d2ed32eb8b30e/xbuild/Cargo.toml#L7)", "license_markdown": "[Apache-2.0 OR MIT](https://github.com/rust-mobile/xbuild/blob/v0.2.0/xbuild/Cargo.toml#L7)",
"tag_prefix": "v", "tag_prefix": "v",
"rust_crate": "${package}", "rust_crate": "${package}",
"asset_name": "${package}-${rust_target_os}-x64${exe}", "asset_name": "${package}-${rust_target_os}-x64${exe}",

View File

@@ -0,0 +1,17 @@
{
"repository": "https://github.com/ducaale/xh",
"tag_prefix": "v",
"rust_crate": "${package}",
"asset_name": "${package}-v${version}-${rust_target}.tar.gz",
"bin": "${package}-v${version}-${rust_target}/${package}${exe}",
"version_range": ">= 0.22.0",
"platform": {
"x86_64_macos": {},
"x86_64_windows": {
"asset_name": "${package}-v${version}-${rust_target}.zip"
},
"x86_64_linux_musl": {},
"aarch64_macos": {},
"aarch64_linux_musl": {}
}
}

View File

@@ -180,6 +180,8 @@ pub enum ManifestRef {
#[derive(Debug, Clone, Serialize, Deserialize)] #[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Manifest { pub struct Manifest {
#[serde(skip_serializing_if = "Option::is_none")]
pub previous_stable_version: Option<Version>,
#[serde(flatten)] #[serde(flatten)]
pub download_info: BTreeMap<HostPlatform, ManifestDownloadInfo>, pub download_info: BTreeMap<HostPlatform, ManifestDownloadInfo>,
} }
@@ -229,8 +231,15 @@ pub struct BaseManifest {
pub signing: Option<Signing>, pub signing: Option<Signing>,
#[serde(default)] #[serde(default)]
pub broken: Vec<semver::Version>, pub broken: Vec<semver::Version>,
pub platform: BTreeMap<HostPlatform, BaseManifestPlatformInfo>,
pub version_range: Option<String>, pub version_range: Option<String>,
/// Use glibc build if host_env is gnu.
#[serde(default)]
pub prefer_linux_gnu: bool,
/// Check that the version is yanked not only when updating the manifest,
/// but also when running the action.
#[serde(default)]
pub immediate_yank_reflection: bool,
pub platform: BTreeMap<HostPlatform, BaseManifestPlatformInfo>,
} }
impl BaseManifest { impl BaseManifest {
/// Validate the manifest. /// Validate the manifest.

View File

@@ -36,6 +36,8 @@ fn main() -> Result<()> {
fs::create_dir_all(manifest_path.parent().unwrap())?; fs::create_dir_all(manifest_path.parent().unwrap())?;
fs::create_dir_all(download_cache_dir)?; fs::create_dir_all(download_cache_dir)?;
eprintln!("download cache: {}", download_cache_dir.display());
let mut base_info: BaseManifest = serde_json::from_slice(&fs::read( let mut base_info: BaseManifest = serde_json::from_slice(&fs::read(
workspace_root.join("tools/codegen/base").join(format!("{package}.json")), workspace_root.join("tools/codegen/base").join(format!("{package}.json")),
)?)?; )?)?;
@@ -403,6 +405,7 @@ fn main() -> Result<()> {
} }
// compact manifest // compact manifest
// TODO: do this before download binaries // TODO: do this before download binaries
if !base_info.prefer_linux_gnu {
if download_info.contains_key(&HostPlatform::x86_64_linux_gnu) if download_info.contains_key(&HostPlatform::x86_64_linux_gnu)
&& download_info.contains_key(&HostPlatform::x86_64_linux_musl) && download_info.contains_key(&HostPlatform::x86_64_linux_musl)
{ {
@@ -413,6 +416,7 @@ fn main() -> Result<()> {
{ {
download_info.remove(&HostPlatform::aarch64_linux_gnu); download_info.remove(&HostPlatform::aarch64_linux_gnu);
} }
}
if download_info.contains_key(&HostPlatform::x86_64_macos) if download_info.contains_key(&HostPlatform::x86_64_macos)
&& download_info.contains_key(&HostPlatform::aarch64_macos) && download_info.contains_key(&HostPlatform::aarch64_macos)
&& download_info[&HostPlatform::x86_64_macos].url && download_info[&HostPlatform::x86_64_macos].url
@@ -425,7 +429,22 @@ fn main() -> Result<()> {
if semver_version.pre.is_empty() { if semver_version.pre.is_empty() {
semver_versions.insert(semver_version.clone()); semver_versions.insert(semver_version.clone());
} }
manifests.map.insert(reverse_semver, ManifestRef::Real(Manifest { download_info })); manifests.map.insert(
reverse_semver,
ManifestRef::Real(Manifest { previous_stable_version: None, download_info }),
);
}
if base_info.immediate_yank_reflection {
let mut prev: Option<&Version> = None;
for (Reverse(v), m) in manifests.map.iter_mut().rev() {
let ManifestRef::Real(m) = m else { continue };
if base_info.rust_crate.is_some() {
m.previous_stable_version = prev.cloned();
} else {
m.previous_stable_version = None;
}
prev = Some(v);
}
} }
if has_build_metadata { if has_build_metadata {
eprintln!( eprintln!(
@@ -492,6 +511,7 @@ fn main() -> Result<()> {
if latest_manifest.download_info.contains_key(&p) { if latest_manifest.download_info.contains_key(&p) {
continue; continue;
} }
if !base_info.prefer_linux_gnu {
if p == HostPlatform::x86_64_linux_gnu if p == HostPlatform::x86_64_linux_gnu
&& latest_manifest.download_info.contains_key(&HostPlatform::x86_64_linux_musl) && latest_manifest.download_info.contains_key(&HostPlatform::x86_64_linux_musl)
{ {
@@ -502,6 +522,7 @@ fn main() -> Result<()> {
{ {
continue; continue;
} }
}
bail!( bail!(
"platform list in base manifest for {package} contains {p:?}, \ "platform list in base manifest for {package} contains {p:?}, \
but latest release ({latest_version}) doesn't contain it; \ but latest release ({latest_version}) doesn't contain it; \
@@ -722,9 +743,12 @@ fn get_license_markdown(spdx_expr: &str, repo: &String, default_branch: &String)
license_id.name.to_string() license_id.name.to_string()
}; };
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(), format!("LICENSE-{name}"), "LICENSE.md".to_string()] "LICENSE".to_string(),
{ format!("LICENSE-{name}"),
"LICENSE.md".to_string(),
"COPYING".to_string(),
] {
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() {
let url = create_github_link(repo, default_branch, &filename); let url = create_github_link(repo, default_branch, &filename);

View File

@@ -46,31 +46,18 @@ fn main() -> Result<()> {
fs::read_dir(manifest_dir.clone()).unwrap().map(|r| r.unwrap()).collect(); fs::read_dir(manifest_dir.clone()).unwrap().map(|r| r.unwrap()).collect();
paths.sort_by_key(fs_err::DirEntry::path); paths.sort_by_key(fs_err::DirEntry::path);
let mut tools = vec![ let mut tools = vec![MarkdownEntry {
MarkdownEntry {
name: "nextest".to_string(),
alias: "cargo-nextest".to_string().into(),
website: "https://nexte.st/".to_string(),
installed_to: InstalledTo::Cargo,
installed_from: InstalledFrom::Binstall,
platforms: Platforms::all(),
repository: "https://github.com/nextest-rs/nextest".to_string(),
license_markdown: "[Apache-2.0](https://github.com/nextest-rs/nextest/blob/HEAD/LICENSE-APACHE) OR [MIT](https://github.com/nextest-rs/nextest/blob/HEAD/LICENSE-MIT)".to_string()
},
MarkdownEntry {
name: "valgrind".to_string(), name: "valgrind".to_string(),
alias: None, alias: None,
website: "https://valgrind.org/".to_string(), website: "https://valgrind.org/".to_string(),
installed_to: InstalledTo::Snap, installed_to: InstalledTo::Snap,
installed_from: InstalledFrom::Snap, installed_from: InstalledFrom::Snap,
platforms: Platforms { platforms: Platforms { linux: true, ..Default::default() },
linux: true,
..Default::default()
},
repository: "https://sourceware.org/git/valgrind.git".to_string(), repository: "https://sourceware.org/git/valgrind.git".to_string(),
license_markdown: "[GPL-2.0](https://sourceware.org/git/?p=valgrind.git;a=blob;f=COPYING;hb=HEAD)".to_string() license_markdown:
} "[GPL-2.0](https://sourceware.org/git/?p=valgrind.git;a=blob;f=COPYING;hb=HEAD)"
]; .to_string(),
}];
for path in paths { for path in paths {
let file_name = path.file_name(); let file_name = path.file_name();
@@ -152,7 +139,6 @@ struct MarkdownEntry {
#[derive(Debug, Eq, PartialEq)] #[derive(Debug, Eq, PartialEq)]
enum InstalledFrom { enum InstalledFrom {
Binstall,
GitHubRelease, GitHubRelease,
Snap, Snap,
} }
@@ -163,11 +149,6 @@ struct Platforms {
macos: bool, macos: bool,
windows: bool, windows: bool,
} }
impl Platforms {
fn all() -> Self {
Self { linux: true, macos: true, windows: true }
}
}
impl fmt::Display for Platforms { impl fmt::Display for Platforms {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
@@ -223,7 +204,6 @@ impl fmt::Display for MarkdownEntry {
let markdown = format!("| [GitHub Releases]({}/releases) ", self.repository); let markdown = format!("| [GitHub Releases]({}/releases) ", self.repository);
f.write_str(&markdown)?; f.write_str(&markdown)?;
} }
InstalledFrom::Binstall => f.write_str("| `cargo-binstall` ")?,
InstalledFrom::Snap => { InstalledFrom::Snap => {
let markdown = let markdown =
format!("| [snap](https://snapcraft.io/install/{}/ubuntu) ", self.name); format!("| [snap](https://snapcraft.io/install/{}/ubuntu) ", self.name);

View File

@@ -102,8 +102,10 @@ tools=()
for tool in tools/codegen/base/*.json; do for tool in tools/codegen/base/*.json; do
tools+=("$(basename "${tool%.*}")") tools+=("$(basename "${tool%.*}")")
done done
# Alias
tools+=(nextest)
# Not manifest-based # Not manifest-based
tools+=(valgrind nextest cargo-nextest) tools+=(valgrind)
if [[ -n "${tags}" ]]; then if [[ -n "${tags}" ]]; then
# Create a release commit. # Create a release commit.