Compare commits

...

42 Commits

Author SHA1 Message Date
Taiki Endo
9a865a852d Release 2.12.2 2023-06-26 14:51:20 +09:00
Taiki Endo
733aa4f048 Update cargo-nextest@latest to 0.9.54 (#150) 2023-06-26 15:50:44 +10:00
Taiki Endo
26f2520368 Release 2.12.1 2023-06-26 14:08:12 +09:00
Taiki Endo
c718718fa0 Update parse-changelog@latest to 0.6.0 (#149) 2023-06-26 15:05:52 +10:00
Taiki Endo
27465951f4 Tweak CI config 2023-06-26 14:00:26 +09:00
Josh McKinney
161fccd992 docs: minor change to DEVELOPMENT.md (#148)
Adds the small change requested in #147.
2023-06-26 13:23:38 +09:00
Taiki Endo
6590181c47 Release 2.12.0 2023-06-26 13:11:27 +09:00
Taiki Endo
a6a57724af Update changelog 2023-06-26 13:11:16 +09:00
Josh McKinney
6d614e4efc docs: add troubleshooting to DEVELOPMENT.md (#147) 2023-06-26 13:07:12 +09:00
Josh McKinney
fd8cc5b92c Add cargo-make to supported tools (#146) 2023-06-26 11:02:41 +10:00
Taiki Endo
486baeb8af Release 2.11.6 2023-06-22 11:59:11 +09:00
Taiki Endo
ea5f6615de Update wasmtime@latest to 10.0.1 (#145) 2023-06-22 12:47:36 +10:00
Taiki Endo
07a42d487c Release 2.11.5 2023-06-21 12:51:30 +09:00
Taiki Endo
a5871829af Update manifest (#144)
* Update `syft@latest` to 0.84.0

* Update `wasmtime@latest` to 10.0.0
2023-06-21 13:09:50 +10:00
Taiki Endo
6039015526 Release 2.11.4 2023-06-20 01:27:20 +09:00
Taiki Endo
95a159ca13 Test --help option if --version option is not available 2023-06-20 01:24:44 +09:00
Taiki Endo
b0f46ac8be Update wasm-pack@latest to 0.12.0 2023-06-20 01:24:44 +09:00
Taiki Endo
5b48284f79 Update shfmt@latest to 3.7.0 2023-06-20 01:24:44 +09:00
Taiki Endo
36e93e0501 Remove the need to reopen "update manifest" PR 2023-06-20 00:49:19 +09:00
Taiki Endo
459a174db6 Release 2.11.3 2023-06-17 12:21:21 +09:00
github-actions[bot]
0d66f4ca09 Update cargo-tarpaulin@latest to 0.26.0 (#140)
Co-authored-by: Taiki Endo <te316e89@gmail.com>
2023-06-17 12:56:52 +10:00
Taiki Endo
9c39ca3f8b Release 2.11.2 2023-06-15 12:33:12 +09:00
github-actions[bot]
0f71c82ca6 Update manifest (#139)
* Update `protoc@latest` to 3.23.3

* Update `syft@latest` to 0.83.1

---------

Co-authored-by: Taiki Endo <te316e89@gmail.com>
2023-06-15 12:36:41 +10:00
Taiki Endo
30161743b1 Release 2.11.1 2023-06-14 12:11:41 +09:00
github-actions[bot]
1a02dde877 Update wasmtime@latest to 9.0.4 (#138)
Co-authored-by: Taiki Endo <te316e89@gmail.com>
2023-06-14 12:44:30 +10:00
Taiki Endo
d4bb0093ce ci: Test debian 12 2023-06-13 03:04:24 +09:00
Taiki Endo
b4534b850d Release 2.11.0 2023-06-10 23:02:32 +09:00
Taiki Endo
1657cfbfa6 Update changelog 2023-06-10 23:02:20 +09:00
John Nunley
7e750de5db Add support for cargo-dinghy (#133) 2023-06-10 23:00:18 +09:00
Taiki Endo
93a5b91855 Release 2.10.0 2023-06-10 19:02:03 +09:00
Taiki Endo
0249968d1d docs: Sort tool names 2023-06-10 19:01:31 +09:00
Taiki Endo
8cab9da4f8 Update changelog 2023-06-10 18:58:45 +09:00
FirelightFlagboy
9ead2563c7 Add syft tool (#135)
Closes #131
2023-06-10 18:55:59 +09:00
Taiki Endo
4df72e2d1e Tweak error messages 2023-06-10 18:03:24 +09:00
firelight flagboy
7bda3b1d5e Add instruction when the un-auth api rate limit is reach 2023-06-10 01:59:05 +09:00
Taiki Endo
b02c385974 Update readme to mention dev guide 2023-06-09 22:55:04 +09:00
Taiki Endo
899b013517 Release 2.9.4 2023-06-08 13:13:33 +09:00
Taiki Endo
2ef37fafbe Update scripts 2023-06-08 13:13:15 +09:00
Taiki Endo
c5540270ed Update parse-changelog@latest to 0.5.4 2023-06-08 13:03:05 +09:00
Taiki Endo
835cdc15ee Release 2.9.3 2023-06-05 12:41:56 +09:00
Taiki Endo
8ce495dd98 Tweak scripts 2023-06-05 12:41:49 +09:00
github-actions[bot]
41ff3eead4 Update cargo-udeps@latest to 0.1.40 (#127)
Co-authored-by: Taiki Endo <te316e89@gmail.com>
2023-06-05 12:42:38 +10:00
26 changed files with 2052 additions and 53 deletions

View File

@@ -17,6 +17,7 @@ quickinstall
rockylinux
shellcheck
shfmt
syft
udeps
wasmtime
watchexec

View File

@@ -44,19 +44,19 @@ jobs:
tool:
# cargo-watch/watchexec-cli is supported by cargo-binstall (through quickinstall)
# TODO: valgrind installation sometime hangs.
- cargo-hack,cargo-llvm-cov,cargo-minimal-versions,cargo-no-dev-deps,parse-changelog,cargo-udeps,cargo-valgrind,cargo-deny,cross,dprint,just,nextest,protoc,shellcheck,shfmt,wasm-pack,wasmtime,mdbook,mdbook-linkcheck,cargo-watch,grcov,watchexec-cli,cargo-tarpaulin,zola
- cargo-dinghy,cargo-hack,cargo-llvm-cov,cargo-make,cargo-minimal-versions,cargo-no-dev-deps,parse-changelog,cargo-udeps,cargo-valgrind,cargo-deny,cross,dprint,just,nextest,protoc,shellcheck,shfmt,wasm-pack,wasmtime,mdbook,mdbook-linkcheck,cargo-watch,grcov,watchexec-cli,cargo-tarpaulin,zola,syft
include:
# Note: Specifying the version of valgrind and cargo-binstall is not supported.
- os: ubuntu-20.04
tool: cargo-hack@0.5.24,cargo-llvm-cov@0.5.3,cargo-minimal-versions@0.1.8,cargo-no-dev-deps@0.1.0,parse-changelog@0.5.2,cargo-udeps@0.1.35,cargo-valgrind@2.1.0,cargo-deny@0.13.5,cross@0.2.4,dprint@0.34.1,just@1.9.0,nextest@0.9.11,protoc@3.21.12,shellcheck@0.9.0,shfmt@3.6.0,wasm-pack@0.10.3,wasmtime@4.0.0,mdbook@0.4.25,mdbook-linkcheck@0.7.7,cargo-watch@8.1.1,grcov@0.8.13,watchexec-cli@1.20.5,cargo-tarpaulin@0.25.0,zola@0.16.1
tool: cargo-dinghy@0.6.4,cargo-hack@0.5.24,cargo-llvm-cov@0.5.3,cargo-make@0.36.11,cargo-minimal-versions@0.1.8,cargo-no-dev-deps@0.1.0,parse-changelog@0.5.2,cargo-udeps@0.1.35,cargo-valgrind@2.1.0,cargo-deny@0.13.5,cross@0.2.4,dprint@0.34.1,just@1.9.0,nextest@0.9.11,protoc@3.21.12,shellcheck@0.9.0,shfmt@3.6.0,wasm-pack@0.10.3,wasmtime@4.0.0,mdbook@0.4.25,mdbook-linkcheck@0.7.7,cargo-watch@8.1.1,grcov@0.8.13,watchexec-cli@1.20.5,cargo-tarpaulin@0.25.0,zola@0.16.1,syft@0.83.0
- os: ubuntu-20.04
tool: cargo-hack@0.5,cargo-llvm-cov@0.5,cargo-minimal-versions@0.1,cargo-no-dev-deps@0.1,parse-changelog@0.5,cargo-udeps@0.1,cargo-valgrind@2.1,cargo-deny@0.13,cross@0.2,dprint@0.34,just@1.9,nextest@0.9,protoc@3.21,shellcheck@0.9,shfmt@3.5,wasm-pack@0.10,wasmtime@6.0,mdbook@0.4,mdbook-linkcheck@0.7,cargo-watch@8.1,grcov@0.8,watchexec-cli@1.20,cargo-tarpaulin@0.25,zola@0.16
tool: cargo-dinghy@0.6,cargo-hack@0.5,cargo-llvm-cov@0.5,cargo-make@0.36,cargo-minimal-versions@0.1,cargo-no-dev-deps@0.1,parse-changelog@0.5,cargo-udeps@0.1,cargo-valgrind@2.1,cargo-deny@0.13,cross@0.2,dprint@0.34,just@1.9,nextest@0.9,protoc@3.21,shellcheck@0.9,shfmt@3.5,wasm-pack@0.10,wasmtime@6.0,mdbook@0.4,mdbook-linkcheck@0.7,cargo-watch@8.1,grcov@0.8,watchexec-cli@1.20,cargo-tarpaulin@0.25,zola@0.16,syft@0.83
- os: ubuntu-20.04
tool: cargo-valgrind@2, just@1,protoc@3 , shfmt@3 ,wasmtime@7,cargo-watch@8,watchexec-cli@1
- os: macos-11
tool: cargo-hack,cargo-llvm-cov,cargo-minimal-versions,cargo-no-dev-deps,parse-changelog,cargo-udeps,cargo-valgrind,cargo-deny,cross,dprint,just,nextest,protoc,shellcheck,shfmt,wasm-pack,wasmtime,mdbook,mdbook-linkcheck,cargo-watch,grcov,watchexec-cli,cargo-tarpaulin,zola
tool: cargo-dinghy,cargo-hack,cargo-llvm-cov,cargo-make,cargo-minimal-versions,cargo-no-dev-deps,parse-changelog,cargo-udeps,cargo-valgrind,cargo-deny,cross,dprint,just,nextest,protoc,shellcheck,shfmt,wasm-pack,wasmtime,mdbook,mdbook-linkcheck,cargo-watch,grcov,watchexec-cli,cargo-tarpaulin,zola,syft
- os: windows-2019
tool: cargo-hack,cargo-llvm-cov,cargo-minimal-versions,cargo-no-dev-deps,parse-changelog,cargo-udeps,cargo-valgrind,cargo-deny,cross,dprint,just,nextest,protoc,shellcheck,shfmt,wasm-pack,wasmtime,mdbook,mdbook-linkcheck,cargo-watch,grcov,watchexec-cli,cargo-tarpaulin,zola
tool: cargo-hack,cargo-llvm-cov,cargo-make,cargo-minimal-versions,cargo-no-dev-deps,parse-changelog,cargo-udeps,cargo-valgrind,cargo-deny,cross,dprint,just,nextest,protoc,shellcheck,shfmt,wasm-pack,wasmtime,mdbook,mdbook-linkcheck,cargo-watch,grcov,watchexec-cli,cargo-tarpaulin,zola,syft
runs-on: ${{ matrix.os }}
timeout-minutes: 60
steps:
@@ -101,28 +101,29 @@ jobs:
- ubuntu:20.04 # glibc 2.31
- ubuntu:22.04 # glibc 2.35
- debian:11-slim # glibc 2.31
- fedora:latest # glibc 2.36 (as of fedora 37)
- debian:12-slim # glibc 2.36
- fedora:latest # glibc 2.37 (as of fedora 38)
tool:
# valgrind: installing snap to container is difficult...
- cargo-hack,cargo-llvm-cov,cargo-minimal-versions,cargo-no-dev-deps,parse-changelog,cargo-udeps,cargo-valgrind,cargo-deny,cross,dprint,just,nextest,protoc,shellcheck,shfmt,wasm-pack,wasmtime,mdbook,mdbook-linkcheck,cargo-watch,grcov,watchexec-cli,cargo-tarpaulin,zola
- cargo-dinghy,cargo-hack,cargo-llvm-cov,cargo-make,cargo-minimal-versions,cargo-no-dev-deps,parse-changelog,cargo-udeps,cargo-valgrind,cargo-deny,cross,dprint,just,nextest,protoc,shellcheck,shfmt,wasm-pack,wasmtime,mdbook,mdbook-linkcheck,cargo-watch,grcov,watchexec-cli,cargo-tarpaulin,zola,syft
include:
# glibc < 2.31
# zola don't provide prebuilt binaries for musl or old glibc host.
- container: ubuntu:18.04 # glibc 2.27
tool: cargo-hack,cargo-llvm-cov,cargo-minimal-versions,cargo-no-dev-deps,parse-changelog,cargo-udeps,cargo-valgrind,cargo-deny,cross,dprint,just,nextest,protoc,shellcheck,shfmt,wasm-pack,wasmtime,mdbook,mdbook-linkcheck,cargo-watch,grcov,watchexec-cli,cargo-tarpaulin
tool: cargo-dinghy,cargo-hack,cargo-llvm-cov,cargo-make,cargo-minimal-versions,cargo-no-dev-deps,parse-changelog,cargo-udeps,cargo-valgrind,cargo-deny,cross,dprint,just,nextest,protoc,shellcheck,shfmt,wasm-pack,wasmtime,mdbook,mdbook-linkcheck,cargo-watch,grcov,watchexec-cli,cargo-tarpaulin,syft
- container: debian:10-slim # glibc 2.28
tool: cargo-hack,cargo-llvm-cov,cargo-minimal-versions,cargo-no-dev-deps,parse-changelog,cargo-udeps,cargo-valgrind,cargo-deny,cross,dprint,just,nextest,protoc,shellcheck,shfmt,wasm-pack,wasmtime,mdbook,mdbook-linkcheck,cargo-watch,grcov,watchexec-cli,cargo-tarpaulin
tool: cargo-dinghy,cargo-hack,cargo-llvm-cov,cargo-make,cargo-minimal-versions,cargo-no-dev-deps,parse-changelog,cargo-udeps,cargo-valgrind,cargo-deny,cross,dprint,just,nextest,protoc,shellcheck,shfmt,wasm-pack,wasmtime,mdbook,mdbook-linkcheck,cargo-watch,grcov,watchexec-cli,cargo-tarpaulin,syft
- container: rockylinux:8 # glibc 2.28
tool: cargo-hack,cargo-llvm-cov,cargo-minimal-versions,cargo-no-dev-deps,parse-changelog,cargo-udeps,cargo-valgrind,cargo-deny,cross,dprint,just,nextest,protoc,shellcheck,shfmt,wasm-pack,wasmtime,mdbook,mdbook-linkcheck,cargo-watch,grcov,watchexec-cli,cargo-tarpaulin
tool: cargo-dinghy,cargo-hack,cargo-llvm-cov,cargo-make,cargo-minimal-versions,cargo-no-dev-deps,parse-changelog,cargo-udeps,cargo-valgrind,cargo-deny,cross,dprint,just,nextest,protoc,shellcheck,shfmt,wasm-pack,wasmtime,mdbook,mdbook-linkcheck,cargo-watch,grcov,watchexec-cli,cargo-tarpaulin,syft
- container: rockylinux:8-minimal # glibc 2.28
tool: cargo-hack,cargo-llvm-cov,cargo-minimal-versions,cargo-no-dev-deps,parse-changelog,cargo-udeps,cargo-valgrind,cargo-deny,cross,dprint,just,nextest,protoc,shellcheck,shfmt,wasm-pack,wasmtime,mdbook,mdbook-linkcheck,cargo-watch,grcov,watchexec-cli,cargo-tarpaulin
tool: cargo-dinghy,cargo-hack,cargo-llvm-cov,cargo-make,cargo-minimal-versions,cargo-no-dev-deps,parse-changelog,cargo-udeps,cargo-valgrind,cargo-deny,cross,dprint,just,nextest,protoc,shellcheck,shfmt,wasm-pack,wasmtime,mdbook,mdbook-linkcheck,cargo-watch,grcov,watchexec-cli,cargo-tarpaulin,syft
# glibc < 2.27 or musl
- container: centos:7 # glibc 2.17
# protoc,valgrind,wasmtime,mdbook-linkcheck,cargo-watch,zola don't provide prebuilt binaries for musl or old glibc host.
tool: cargo-hack,cargo-llvm-cov,cargo-minimal-versions,cargo-no-dev-deps,parse-changelog,cargo-udeps,cargo-valgrind,cargo-deny,cross,dprint,just,nextest,shellcheck,shfmt,wasm-pack,mdbook,cargo-binstall,grcov,watchexec-cli,cargo-tarpaulin
- container: alpine:latest # musl 1.2.3 (as of alpine 3.17)
tool: cargo-dinghy,cargo-hack,cargo-llvm-cov,cargo-make,cargo-minimal-versions,cargo-no-dev-deps,parse-changelog,cargo-udeps,cargo-valgrind,cargo-deny,cross,dprint,just,nextest,shellcheck,shfmt,wasm-pack,mdbook,cargo-binstall,grcov,watchexec-cli,cargo-tarpaulin,syft
- container: alpine:latest # musl 1.2.4 (as of alpine 3.18)
# protoc,valgrind,wasmtime,mdbook-linkcheck,cargo-watch,zola don't provide prebuilt binaries for musl host.
tool: cargo-hack,cargo-llvm-cov,cargo-minimal-versions,cargo-no-dev-deps,parse-changelog,cargo-udeps,cargo-valgrind,cargo-deny,cross,dprint,just,nextest,shellcheck,shfmt,wasm-pack,mdbook,cargo-binstall,grcov,watchexec-cli,cargo-tarpaulin
tool: cargo-dinghy,cargo-hack,cargo-llvm-cov,cargo-make,cargo-minimal-versions,cargo-no-dev-deps,parse-changelog,cargo-udeps,cargo-valgrind,cargo-deny,cross,dprint,just,nextest,shellcheck,shfmt,wasm-pack,mdbook,cargo-binstall,grcov,watchexec-cli,cargo-tarpaulin,syft
runs-on: ubuntu-latest
timeout-minutes: 60
container: ${{ matrix.container }}
@@ -188,10 +189,7 @@ jobs:
with:
title: Update manifest
body: |
Auto-generated by [create-pull-request][1]
[Please close and immediately reopen this pull request to run CI.][2]
[1]: https://github.com/peter-evans/create-pull-request
[2]: https://github.com/peter-evans/create-pull-request/blob/HEAD/docs/concepts-guidelines.md#workarounds-to-trigger-further-workflow-runs
Auto-generated by [create-pull-request](https://github.com/peter-evans/create-pull-request)
branch: update-manifest
token: ${{ secrets.CREATE_PR_TOKEN }}
if: github.repository_owner == 'taiki-e' && (github.event_name == 'schedule' || github.event_name == 'push' && github.ref == 'refs/heads/main') && steps.diff.outputs.success == 'false'

View File

@@ -10,6 +10,64 @@ Note: In this file, do not use the hard wrap in the middle of a sentence for com
## [Unreleased]
## [2.12.2] - 2023-06-26
- Update `cargo-nextest@latest` to 0.9.54.
## [2.12.1] - 2023-06-26
- Update `parse-changelog@latest` to 0.6.0.
## [2.12.0] - 2023-06-26
- Support `cargo-make`. ([#146](https://github.com/taiki-e/install-action/pull/146), thanks @joshka)
## [2.11.6] - 2023-06-22
- Update `wasmtime@latest` to 10.0.1.
## [2.11.5] - 2023-06-21
- Update `wasmtime@latest` to 10.0.0.
- Update `syft@latest` to 0.84.0.
## [2.11.4] - 2023-06-19
- Update `wasm-pack@latest` to 0.12.0.
- Update `shfmt@latest` to 3.7.0.
## [2.11.3] - 2023-06-17
- Update `cargo-tarpaulin@latest` to 0.26.0.
## [2.11.2] - 2023-06-15
- Update `syft@latest` to 0.83.1.
- Update `protoc@latest` to 3.23.3.
## [2.11.1] - 2023-06-14
- Update `wasmtime@latest` to 9.0.4.
## [2.11.0] - 2023-06-10
- Support `cargo-dinghy`. ([#133](https://github.com/taiki-e/install-action/pull/133), thanks @notgull)
## [2.10.0] - 2023-06-10
- Support `syft`. ([#135](https://github.com/taiki-e/install-action/pull/135), thanks @FirelightFlagboy)
## [2.9.4] - 2023-06-08
- Update `parse-changelog@latest` to 0.5.4.
## [2.9.3] - 2023-06-05
- Update `cargo-udeps@latest` to 0.1.40.
## [2.9.2] - 2023-06-03
- Update `just@latest` to 1.14.0.
@@ -837,7 +895,20 @@ Note: This release is considered a breaking change because installing on version
Initial release
[Unreleased]: https://github.com/taiki-e/install-action/compare/v2.9.2...HEAD
[Unreleased]: https://github.com/taiki-e/install-action/compare/v2.12.2...HEAD
[2.12.2]: https://github.com/taiki-e/install-action/compare/v2.12.1...v2.12.2
[2.12.1]: https://github.com/taiki-e/install-action/compare/v2.12.0...v2.12.1
[2.12.0]: https://github.com/taiki-e/install-action/compare/v2.11.6...v2.12.0
[2.11.6]: https://github.com/taiki-e/install-action/compare/v2.11.5...v2.11.6
[2.11.5]: https://github.com/taiki-e/install-action/compare/v2.11.4...v2.11.5
[2.11.4]: https://github.com/taiki-e/install-action/compare/v2.11.3...v2.11.4
[2.11.3]: https://github.com/taiki-e/install-action/compare/v2.11.2...v2.11.3
[2.11.2]: https://github.com/taiki-e/install-action/compare/v2.11.1...v2.11.2
[2.11.1]: https://github.com/taiki-e/install-action/compare/v2.11.0...v2.11.1
[2.11.0]: https://github.com/taiki-e/install-action/compare/v2.10.0...v2.11.0
[2.10.0]: https://github.com/taiki-e/install-action/compare/v2.9.4...v2.10.0
[2.9.4]: https://github.com/taiki-e/install-action/compare/v2.9.3...v2.9.4
[2.9.3]: https://github.com/taiki-e/install-action/compare/v2.9.2...v2.9.3
[2.9.2]: https://github.com/taiki-e/install-action/compare/v2.9.1...v2.9.2
[2.9.1]: https://github.com/taiki-e/install-action/compare/v2.9.0...v2.9.1
[2.9.0]: https://github.com/taiki-e/install-action/compare/v2.8.8...v2.9.0

View File

@@ -14,6 +14,20 @@ See JSON files in `tools/codegen/base` directory for examples of the manifest.
./tools/manifest.sh <tool>
```
> If you're having problem with github api rate limit, you can use your GITHUB_TOKEN to increase the rate limit.
> If you have `Github CLI` installed (the command `gh`), you can:
>
> ```shell
> GITHUB_TOKEN=$(gh auth status --show-token 2>&1 | sed -n 's/^.*Token: \(.*\)$/\1/p') ./tools/manifest.sh <tool>
> ```
3\. Add tool name to test matrix in `.github/workflows/ci.yml`.
4\. Add tool name to table in "Supported tools" section in `README.md`.
4\. Add tool name to the table in ["Supported tools" section in `README.md`](https://github.com/taiki-e/install-action#supported-tools).
## Troubleshooting
If one of the CI builds fails due to an bin path or release asset_name, fix the problem in the base
manifest, and re-run the manifest tool `tools/manifest.sh` to regenerate the manifest json file. The
base manifest supports overriding the bin path per platform by adding the `"bin"` / `"asset_name"`
to the platform object.

View File

@@ -9,6 +9,7 @@ GitHub Action for installing development tools (mainly from GitHub Releases).
- [Inputs](#inputs)
- [Example workflow](#example-workflow)
- [Supported tools](#supported-tools)
- [Add support for new tool](#add-support-for-new-tool)
- [Security](#security)
- [Compatibility](#compatibility)
- [Related Projects](#related-projects)
@@ -82,17 +83,19 @@ https://spdx.org/licenses
| ---- | -------------------------------- | ------------------------------- | ------------------ | ------- |
| [**cargo-binstall**][cargo-binstall] | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/cargo-bins/cargo-binstall/releases) | Linux, macOS, Windows | [GPL-3.0](https://github.com/cargo-bins/cargo-binstall/blob/HEAD/crates/bin/LICENSE) |
| [**cargo-deny**](https://github.com/EmbarkStudios/cargo-deny) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/EmbarkStudios/cargo-deny/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/EmbarkStudios/cargo-deny/blob/HEAD/LICENSE-APACHE) OR [MIT](https://github.com/EmbarkStudios/cargo-deny/blob/HEAD/LICENSE-MIT) |
| [**cargo-dinghy**](https://github.com/sonos/dinghy) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/sonos/dinghy/releases) | Linux, macOS | [Apache-2.0](https://github.com/sonos/dinghy/blob/HEAD/LICENSE-APACHE) OR [MIT](https://github.com/sonos/dinghy/blob/HEAD/LICENSE-MIT) |
| [**cargo-hack**](https://github.com/taiki-e/cargo-hack) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/taiki-e/cargo-hack/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/taiki-e/cargo-hack/blob/HEAD/LICENSE-APACHE) OR [MIT](https://github.com/taiki-e/cargo-hack/blob/HEAD/LICENSE-MIT) |
| [**cargo-llvm-cov**](https://github.com/taiki-e/cargo-llvm-cov) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/taiki-e/cargo-llvm-cov/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/taiki-e/cargo-llvm-cov/blob/HEAD/LICENSE-APACHE) OR [MIT](https://github.com/taiki-e/cargo-llvm-cov/blob/HEAD/LICENSE-MIT) |
| [**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/HEAD/LICENSE-APACHE) OR [MIT](https://github.com/taiki-e/cargo-minimal-versions/blob/HEAD/LICENSE-MIT) |
| [**cargo-tarpaulin**](https://github.com/xd009642/tarpaulin) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/xd009642/tarpaulin/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/xd009642/tarpaulin/blob/develop/LICENSE-APACHE) OR [MIT](https://github.com/xd009642/tarpaulin/blob/develop/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/HEAD/LICENSE-APACHE) OR [MIT](https://github.com/taiki-e/cargo-no-dev-deps/blob/HEAD/LICENSE-MIT) |
| [**cargo-tarpaulin**](https://github.com/xd009642/tarpaulin) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/xd009642/tarpaulin/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/xd009642/tarpaulin/blob/develop/LICENSE-APACHE) OR [MIT](https://github.com/xd009642/tarpaulin/blob/develop/LICENSE-MIT) |
| [**cargo-udeps**](https://github.com/est31/cargo-udeps) | `$CARGO_HOME/bin` | [GitHub Release](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 Release](https://github.com/jfrimmel/cargo-valgrind/releases) | Linux, macOS, Windows | [MIT](https://github.com/jfrimmel/cargo-valgrind/blob/HEAD/LICENSE-MIT) or [Apache-2.0](https://github.com/jfrimmel/cargo-valgrind/blob/HEAD/LICENSE-APACHE) |
| [**cross**](https://github.com/cross-rs/cross) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/cross-rs/cross/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/cross-rs/cross/blob/HEAD/LICENSE-APACHE) OR [MIT](https://github.com/cross-rs/cross/blob/HEAD/LICENSE-MIT) |
| [**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/HEAD/LICENSE) |
| [**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) |
| [**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/HEAD/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/HEAD/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/HEAD/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/HEAD/LICENSE) |
| [**nextest**](https://github.com/nextest-rs/nextest) (alias: `cargo-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/HEAD/LICENSE-APACHE) OR [MIT](https://github.com/nextest-rs/nextest/blob/HEAD/LICENSE-MIT) |
@@ -100,6 +103,7 @@ https://spdx.org/licenses
| [**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) |
| [**shellcheck**](https://www.shellcheck.net) | `/usr/local/bin` | [GitHub Releases](https://github.com/koalaman/shellcheck/releases) | Linux, macOS, Windows | [GPL-3.0-or-later](https://github.com/koalaman/shellcheck/blob/HEAD/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/HEAD/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) |
| [**valgrind**](https://valgrind.org) | `/snap/bin` | [snap](https://snapcraft.io/install/valgrind/ubuntu) | Linux | [GPL-2.0-or-later](https://valgrind.org/docs/manual/license.gpl.html) |
| [**wasm-pack**](https://github.com/rustwasm/wasm-pack) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/rustwasm/wasm-pack/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/rustwasm/wasm-pack/blob/HEAD/LICENSE-APACHE) OR [MIT](https://github.com/rustwasm/wasm-pack/blob/HEAD/LICENSE-MIT) |
| [**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/HEAD/LICENSE) |
@@ -109,7 +113,11 @@ If `$CARGO_HOME/bin` is not available, Rust-related binaries will be installed t
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 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.**
### Add support for new tool
See the [development guide](DEVELOPMENT.md) for how to add support for new tool.
## Security

View File

@@ -1,4 +1,5 @@
#!/usr/bin/env bash
# SPDX-License-Identifier: Apache-2.0 OR MIT
set -euxo pipefail
IFS=$'\n\t'
cd "$(dirname "$0")"/..

30
main.sh
View File

@@ -1,4 +1,5 @@
#!/usr/bin/env bash
# SPDX-License-Identifier: Apache-2.0 OR MIT
set -euo pipefail
IFS=$'\n\t'
@@ -397,7 +398,7 @@ case "$(uname -m)" in
# https://github.com/cross-rs/cross/pull/1018
# Does it seem only armv7l is supported?
# https://github.com/actions/runner/blob/caec043085990710070108f375cd0aeab45e1017/src/Misc/externals.sh#L174
bail "32-bit ARM runner is not supported yet by this action"
bail "32-bit ARM runner is not supported yet by this action; if you need support for this platform, please submit an issue at <https://github.com/taiki-e/install-action>"
;;
# GitHub Actions Runner supports Linux (x86_64, aarch64, arm), Windows (x86_64, aarch64),
# and macOS (x86_64, aarch64).
@@ -441,7 +442,7 @@ for tool in "${tools[@]}"; do
if [[ ! "${version}" =~ ^([1-9][0-9]*(\.[0-9]+(\.[0-9]+)?)?|0\.[1-9][0-9]*(\.[0-9]+)?|^0\.0\.[0-9]+)(-[0-9A-Za-z\.-]+)?(\+[0-9A-Za-z\.-]+)?$|^latest$ ]]; then
bail "install-action does not support semver operators: '${version}'"
fi
bail "install-action v2 does not support semver pre-release and build-metadata; please submit an issue if you need these supports again: '${version}'"
bail "install-action v2 does not support semver pre-release and build-metadata: '${version}'; if you need these supports again, please submit an issue at <https://github.com/taiki-e/install-action>"
fi
else
version="latest"
@@ -554,23 +555,34 @@ for tool in "${tools[@]}"; do
esac
info "${tool} installed at $(type -P "${tool}${exe}")"
# At least cargo-udeps 0.1.30 and wasm-pack 0.12.0 do not support --version option.
case "${tool}" in
cargo-*)
if type -P cargo &>/dev/null; then
case "${tool}" in
cargo-udeps) x cargo udeps --help | head -1 ;; # cargo-udeps v0.1.30 does not support --version option
cargo-valgrind) x cargo valgrind --help ;; # cargo-valgrind v2.1.0 does not support --version option
*) x cargo "${tool#cargo-}" --version ;;
cargo-valgrind) x cargo "${tool#cargo-}" --help ;; # cargo-valgrind 2.1.0's --version option just calls cargo's --version option
*)
if ! x cargo "${tool#cargo-}" --version; then
x cargo "${tool#cargo-}" --help
fi
;;
esac
else
case "${tool}" in
cargo-udeps) x "${tool}" udeps --help | head -1 ;; # cargo-udeps v0.1.30 does not support --version option
cargo-valgrind) x "${tool}" valgrind --help ;; # cargo-valgrind v2.1.0 does not support --version option
*) x "${tool}" "${tool#cargo-}" --version ;;
cargo-valgrind) x "${tool}" "${tool#cargo-}" --help ;; # cargo-valgrind 2.1.0's --version option just calls cargo's --version option
*)
if ! x "${tool}" "${tool#cargo-}" --version; then
x "${tool}" "${tool#cargo-}" --help
fi
;;
esac
fi
;;
*) x "${tool}" --version ;;
*)
if ! x "${tool}" --version; then
x "${tool}" --help
fi
;;
esac
echo
done

280
manifests/cargo-dinghy.json generated Normal file
View File

@@ -0,0 +1,280 @@
{
"template": {
"x86_64_linux_musl": {
"url": "https://github.com/sonos/dinghy/releases/download/${version}/cargo-dinghy-linux-${version}.tgz",
"bin": "cargo-dinghy-${version}/cargo-dinghy"
},
"x86_64_macos": {
"url": "https://github.com/sonos/dinghy/releases/download/${version}/cargo-dinghy-macos-${version}.tgz",
"bin": "cargo-dinghy-${version}/cargo-dinghy"
}
},
"latest": {
"version": "0.6.4"
},
"0.6": {
"version": "0.6.4"
},
"0.6.4": {
"x86_64_linux_musl": {
"checksum": "b1453cff8f0f65f09312e88306e64e4c55bba5fb6daec5d8df1ab0ca4acef97f"
},
"x86_64_macos": {
"checksum": "4fd0f5cabbdeb6fe5728c54e888c3c6b3861d7cdb8e089caa5c1ea43f618e812"
}
},
"0.6.3": {
"x86_64_linux_musl": {
"checksum": "4faa2b0ba479222284f90885f66d0afc97ecee4e2b234042912a451fbd7b8dc8"
},
"x86_64_macos": {
"checksum": "343d7e8de208a5ef2eca4b3db1653a626efa135643203a7813d0831a7eb6b7df"
}
},
"0.6.2": {
"x86_64_linux_musl": {
"checksum": "b6cd5b91e61a14befa3260802bb387ef6b8deba78dad0fd8ab80d487319140e9"
},
"x86_64_macos": {
"checksum": "f6fd261b70844ca13dc69cdb2668e14691676e92188f82d4fcf1ade6900d6f90"
}
},
"0.6.1": {
"x86_64_linux_musl": {
"checksum": "1016d349f40f54332ba7269926d4e1a56295bb54c27fc0ff5b137d68f6ffa6d4"
},
"x86_64_macos": {
"checksum": "6b3fb17fd3117f728a41b34c1728bba35f85bbee6ad7e7402ae9ab5fefb2409f"
}
},
"0.6.0": {
"x86_64_linux_musl": {
"checksum": "3755cd6187bf8192f359809143c080618acf9777a0d7a3351ecde6f67a4cfc47"
},
"x86_64_macos": {
"checksum": "907319443f0742c607773124209bf0f3c572a35b18819bfe126a487cbc1128c6"
}
},
"0.5": {
"version": "0.5.1"
},
"0.5.1": {
"x86_64_linux_musl": {
"checksum": "ded1f77c4514d763977eabe069fa62625745098715c54ad8427502557c412f05"
},
"x86_64_macos": {
"checksum": "ac105b5ef370a0920794c07af2b69fb33ea17e56ba55be2e189f080556f05112"
}
},
"0.5.0": {
"x86_64_linux_musl": {
"checksum": "e1f65a240c6e3587cd661d3b004e5af3da9f2b9c4e44f465e87f3717371d05fa"
},
"x86_64_macos": {
"checksum": "5bf0facc0d9864fd79026999ce8b9a8f3f56b40c15e0536aa98551d8750ad01a"
}
},
"0.4": {
"version": "0.4.71"
},
"0.4.71": {
"x86_64_linux_musl": {
"checksum": "64115114488ffc8b7006d2f9f35d19baba6e3acd2292133aac2dd64d24e59d99"
},
"x86_64_macos": {
"checksum": "db8bec9f9ad41e166bc1e212d0b9bf732bd1b3a1c1e49f1862042aa2dfcfdf2f"
}
},
"0.4.70": {
"x86_64_linux_musl": {
"checksum": "880ea253cdf3b989e9b45dba36e66abf9fa358bd805cdfced57437099eb00d21"
},
"x86_64_macos": {
"checksum": "a0a42c3f5825be8116978083428283e92143f320c80a11a6f5133e559642984c"
}
},
"0.4.69": {
"x86_64_linux_musl": {
"checksum": "b42985472ff399a6e00e1590cbc6dbe576b6a1c23bf36e9369898ba7152c72ff"
},
"x86_64_macos": {
"checksum": "aff25a81d3e99a0ba677a56f16860f915749fb0fa5a3ef10bb381b9a84d1e78f"
}
},
"0.4.68": {
"x86_64_linux_musl": {
"checksum": "8b17bbe806b459ac7f2692d1df9bdec5fabdc46513cb45f620b0a4124d0c8bdb"
},
"x86_64_macos": {
"checksum": "5883927469c45ac952a0785aea9a625dc3d158f0d03ee23e0ae7525659041453"
}
},
"0.4.67": {
"x86_64_linux_musl": {
"checksum": "e4175dbcb96abacdceee60055495e315bd065cbf66a3741ef7294f1d9b944448"
},
"x86_64_macos": {
"checksum": "2a4e0f23799335f3bcc04f5177772b3ae8178f69a1d20b1ea9a1e0a2af5d649e"
}
},
"0.4.66": {
"x86_64_linux_musl": {
"checksum": "10664353ce1ed10cefdf766bd9acbb9c357497011d11f281ba1d3ec24eb8a7f7"
},
"x86_64_macos": {
"checksum": "f76bd70d0f82bf31e61118eaaa5fb4912540276050f7a59d056b365614f65e5e"
}
},
"0.4.63": {
"x86_64_linux_musl": {
"checksum": "bbd791675e71e5ba4165d0fbde08c1572fa3771f12169b29831ff43b212578b2"
},
"x86_64_macos": {
"checksum": "3b4533a3e3020836abd864ddd52aa219b2eec2081a6aa376c78ce6ba37707421"
}
},
"0.4.62": {
"x86_64_linux_musl": {
"checksum": "2da0eb7a004344a845010ecbe10a92b1ea1576ea0c98cd57836fc0ce4855b675"
},
"x86_64_macos": {
"checksum": "980a8a88b5f3e950d9af8aa6a2ce6e4dfe391fcc345a082b124db2f09af85dbc"
}
},
"0.4.61": {
"x86_64_linux_musl": {
"checksum": "8d1db2698c9684b000e1e0df4675a5db28228c97c6b8a15240c4498af4575005"
},
"x86_64_macos": {
"checksum": "04fde09f40e409a6a33943bbdeb2e7a37703b6b554fa9ffe3b3d8c02139400ce"
}
},
"0.4.60": {
"x86_64_linux_musl": {
"checksum": "9881f4de90449c9251dbb9eeab85b7d73fb3c52219e0c044aa38afa6da7c0c86"
},
"x86_64_macos": {
"checksum": "feb68d4168542f09f4672241f41edc1dd1dfff10bb7376b393f7fc42ecb60a14"
}
},
"0.4.59": {
"x86_64_linux_musl": {
"checksum": "3d406ad00263c207ef339f570f8b2dc4a70bb040b11f81cbc4f61b8fa485d63a"
},
"x86_64_macos": {
"checksum": "19e9981cfa7d4564161990eb3d45855feb4caade42100f7681e5151aa177a2c5"
}
},
"0.4.57": {
"x86_64_linux_musl": {
"checksum": "a15252b2c0707c627a5b24ac3d21754046098ddbbc1b792fc981f844cbf74786"
},
"x86_64_macos": {
"checksum": "e1ba97310da861ef608fe2fcebb3251c2904bf4c5f059fd62a9654216ec75a31"
}
},
"0.4.55": {
"x86_64_linux_musl": {
"checksum": "a1eb166f015cb1a07e48e2bd44ec15bd370cf9f8a3d40d243f8ec35e71df983f"
},
"x86_64_macos": {
"checksum": "cb63021c7f9f415513ee8a5589b59b54dd1bce0b55eb2728c677f2e552b4a115"
}
},
"0.4.51": {
"x86_64_linux_musl": {
"checksum": "314d220264417960539db8a9cb1e8b81d010acc64e1d3e8bfcd3415608cea857"
},
"x86_64_macos": {
"checksum": "cc66108a0f2fb30a016c4400af5cb9e308b1c1217c696b3412dce4069722df78"
}
},
"0.4.50": {
"x86_64_linux_musl": {
"checksum": "6c885144ace5e9a064d5f201b8836418ce511266335eb56e72f6cfee3377abae"
},
"x86_64_macos": {
"checksum": "36606130a6c1a9aaa398063df59749961d0bea0973740a610e157154e459dfec"
}
},
"0.4.48": {
"x86_64_linux_musl": {
"checksum": "a5ba0ff38a074edf9b16e1d10a550b567236953c11f2f92414b56877364bf02e"
},
"x86_64_macos": {
"checksum": "d892bcc9d5976f6e0eb7ec56ce06bbb10d777fce8f2b61a494544a99dc57a8e3"
}
},
"0.4.47": {
"x86_64_linux_musl": {
"checksum": "3a7bad503bd2af5884acba5fd1d36a053610e4ffbf2bd2f32def3a125a388c0b"
},
"x86_64_macos": {
"checksum": "dabd2b1e836a3ed0493fe86a51dbd64edc53bd1fe12418f23ab1241a28a4d49f"
}
},
"0.4.46": {
"x86_64_linux_musl": {
"checksum": "5bf5c74385f8f629fc22842db9f22a017ce1161ab18695d3b673bef0767908c3"
},
"x86_64_macos": {
"checksum": "8c7c03acda02eeaac85c58d1bc2b4eaeadc86bd001a547bd83170e5a799de9e7"
}
},
"0.4.41": {
"x86_64_linux_musl": {
"checksum": "30c25753544b0d7ced2341ee01b732031739f1611ee9792a900544f2330c3af6"
},
"x86_64_macos": {
"checksum": "fb0744858e9b62c3df157806490ccb7484391d1e22d965cb395943b5ad99d047"
}
},
"0.4.40": {
"x86_64_linux_musl": {
"checksum": "5d0348b5b6361c2654543e4fdcb4adf3138c2acabb84a4b31c0b4296420ca1bc"
},
"x86_64_macos": {
"checksum": "8ec452814f1660377e6c04ef7a896dcd036421ae60804f1a6d1a2a48c38abb0b"
}
},
"0.4.39": {
"x86_64_linux_musl": {
"checksum": "4d6bdd598600ea70085fdedfd425faa6527e337819f23b998cc1deb5e01a6fd5"
},
"x86_64_macos": {
"checksum": "c03237fdf92eff3a7b5ce678684cf0b3fed7b35c5c644c5dd56dba60083d36b1"
}
},
"0.4.38": {
"x86_64_linux_musl": {
"checksum": "4bd472b5e3718d08118f08bd2ac0fbd0ce28ddbf022314b66d2a9c61a7a55615"
},
"x86_64_macos": {
"checksum": "a38ac1de5862efc36a772234c59f002894d2c6ec1924b11a36d0ecbba59a1411"
}
},
"0.4.37": {
"x86_64_linux_musl": {
"checksum": "b22e585e24363971eb925c66cb9ff3ad97612aba7264d0a27eaad871f9f3b02a"
},
"x86_64_macos": {
"checksum": "fa3b17fdc8615feb0633c513bde8f8ada9bca21a5aaf6c32567c850a19f1a9d7"
}
},
"0.4.35": {
"x86_64_linux_musl": {
"checksum": "8d10ff10fa6d4974c71fd0804d65901a88e17c472fded202c6215bc31cbb4eac"
},
"x86_64_macos": {
"checksum": "f086fd58fba784a26db8989f85ece81df6b2c0400c1b59129f5b81279c7e0a82"
}
},
"0.4.34": {
"x86_64_linux_musl": {
"checksum": "b7bd211f0f6c703b9d82e11c96e6679e21989523c85349f243f385159ff0af39"
},
"x86_64_macos": {
"checksum": "ffd0a1834eff980a10d2d983db167d67300a0634ef405fb6153f98072eae1bf4"
}
}
}

1178
manifests/cargo-make.json generated Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -17,10 +17,27 @@
}
},
"latest": {
"version": "0.9.53"
"version": "0.9.54"
},
"0.9": {
"version": "0.9.53"
"version": "0.9.54"
},
"0.9.54": {
"x86_64_linux_gnu": {
"checksum": "ed393824489793854193906946d972afc1e3c32a18aed5bc9dafc2cb3547bead"
},
"x86_64_linux_musl": {
"checksum": "898bdec39d25f8c60eb984fe440a7a2e677a7f8b881ad7f0bdc44d1236700ab7"
},
"x86_64_macos": {
"checksum": "436c10a0c32aaefe3680a8550903f1382436a7954ecea5156f99c7f207516466"
},
"x86_64_windows": {
"checksum": "45bb1ac2cbe1286ded194619befe860adde01b14c0f4c7a77352022fb2be254d"
},
"aarch64_linux_gnu": {
"checksum": "c62ae5598a857655ba7c6299be5254244c78dfb249d83f6634804221e3f0faa0"
}
},
"0.9.53": {
"x86_64_linux_gnu": {

View File

@@ -17,7 +17,27 @@
}
},
"latest": {
"version": "0.25.2"
"version": "0.26.0"
},
"0.26": {
"version": "0.26.0"
},
"0.26.0": {
"x86_64_linux_musl": {
"checksum": "6f33e393ea08c4e0e67c5a8ed12834a0fb4dd70026b7b8041c0665ed1599888e"
},
"x86_64_macos": {
"checksum": "e4640fcdc031dd02b020ed4ddb4aafd2d073299c575d798b638612028b37f0fe"
},
"x86_64_windows": {
"checksum": "bdaf24822d99d97fefd4aed13794655a8f229463c4c0f60a37d9869ea7e6fbb9"
},
"aarch64_linux_musl": {
"checksum": "14fab52ae66ae8655f5e2efbb9871e4581dca22c15f866fa99f2568cea131a5d"
},
"aarch64_macos": {
"checksum": "eadb7c8681406261e446c5c2d5c5a0481e2483cb54cf52c9a515292ea6c3ffba"
}
},
"0.25": {
"version": "0.25.2"

View File

@@ -30,10 +30,30 @@
}
},
"latest": {
"version": "0.1.39"
"version": "0.1.40"
},
"0.1": {
"version": "0.1.39"
"version": "0.1.40"
},
"0.1.40": {
"x86_64_linux_musl": {
"checksum": "6bb8bc63de21e47afb44e9b1fcc2f5444120a0658bfe7b2b64a0eb575667ee59"
},
"x86_64_macos": {
"checksum": "39ddc8f18f51d429f0a5adc0bdaa416532ba70e7dfd3d5200c5fcf8f981ea656"
},
"x86_64_windows": {
"checksum": "d532011810db834c7a3dfc580a6754a0204ffd146e0b29a62c508f6d89544d9f"
},
"aarch64_linux_musl": {
"checksum": "cebdbfee26548375c3f2000b6fae46ba80bff7cbfa33c8919525e3923b004f1e"
},
"aarch64_macos": {
"checksum": "6a022039c59cf273b9764bd74e991f423e03e80ddd0eaa25648207b622ab3547"
},
"aarch64_windows": {
"checksum": "6b29f3a9b0b710d9f9a2544f7bd101997845eff37836fa50edaa92fa3e5a6ad7"
}
},
"0.1.39": {
"x86_64_linux_musl": {

View File

@@ -23,10 +23,53 @@
}
},
"latest": {
"version": "0.5.3"
"version": "0.6.0"
},
"0.6": {
"version": "0.6.0"
},
"0.6.0": {
"x86_64_linux_musl": {
"checksum": "80e57ee43411646c8b3adf0f4417c6155418385e1755f26a1dcc92069ef26bfc"
},
"x86_64_macos": {
"checksum": "4521b4264e3b1bf07580bfaef405d32ba4f4e31323160d999a3ab38c00d3470d"
},
"x86_64_windows": {
"checksum": "eadf1c574efc7ae46cf79492b37596ba44aebc7f5af6aadff2dad6e30b62e40c"
},
"aarch64_linux_musl": {
"checksum": "8626ac4c3e6868b2bc4820a32b3533ab8265737908ee8335442942c8fa8d4d72"
},
"aarch64_macos": {
"checksum": "5eb69fda7e62869bae81f22db57d76d1fefabe0e9721c4941a4adcfea112d15a"
},
"aarch64_windows": {
"checksum": "e435cd91923f4afdf3499a53cdb63446fd4a42a6b580209e93be2e2d47cb6d93"
}
},
"0.5": {
"version": "0.5.3"
"version": "0.5.4"
},
"0.5.4": {
"x86_64_linux_musl": {
"checksum": "b2a430ebd0d23a3608258446d9f93162ca324fd2ca691ca3baa11625c9d7fec3"
},
"x86_64_macos": {
"checksum": "4476f9ce9de07ddba76f77e6260e3cbece3801654882c8161694d742f8f01a59"
},
"x86_64_windows": {
"checksum": "6cd753b60b3385e2fd3aef79bc9a6c954f01737e2380bdc06b2c55ef9d4b8c79"
},
"aarch64_linux_musl": {
"checksum": "73f85fdda5937ac3ee0fd3a4385998cc6a640736b3e73923b0afd061abb575be"
},
"aarch64_macos": {
"checksum": "164936f970d8ab870aa3355411db736994dbb86019630bf2818d0958d30768b5"
},
"aarch64_windows": {
"checksum": "b7c1c92c83fce15746c1d289fbf14b31b3f43a043e28b25638ae8ed7b1005ea0"
}
},
"0.5.3": {
"x86_64_linux_musl": {

28
manifests/protoc.json generated
View File

@@ -1,13 +1,35 @@
{
"template": null,
"latest": {
"version": "3.23.2"
"version": "3.23.3"
},
"3": {
"version": "3.23.2"
"version": "3.23.3"
},
"3.23": {
"version": "3.23.2"
"version": "3.23.3"
},
"3.23.3": {
"x86_64_linux_gnu": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v23.3/protoc-23.3-linux-x86_64.zip",
"checksum": "8f5abeb19c0403a7bf6e48f4fa1bb8b97724d8701f6823a327922df8cc1da4f5"
},
"x86_64_macos": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v23.3/protoc-23.3-osx-x86_64.zip",
"checksum": "82becd1c2dc887a7b3108981d5d6bb5f5b66e81d7356e3e2ab2f36c7b346914f"
},
"x86_64_windows": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v23.3/protoc-23.3-win64.zip",
"checksum": "a55295e95fd803351eacd40143d11c037a917beceb4db5894dfd188224627239"
},
"aarch64_linux_gnu": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v23.3/protoc-23.3-linux-aarch_64.zip",
"checksum": "4e5154e51744c288ca1362f9cca942188003fc7b860431a984a30cb1e73aed9e"
},
"aarch64_macos": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v23.3/protoc-23.3-osx-aarch_64.zip",
"checksum": "edb432e4990c23fea1040a2a76b87ab0f738e384cd25d650cc35683603fe8cdc"
}
},
"3.23.2": {
"x86_64_linux_gnu": {

24
manifests/shfmt.json generated
View File

@@ -22,10 +22,30 @@
}
},
"latest": {
"version": "3.6.0"
"version": "3.7.0"
},
"3": {
"version": "3.6.0"
"version": "3.7.0"
},
"3.7": {
"version": "3.7.0"
},
"3.7.0": {
"x86_64_linux_gnu": {
"checksum": "0264c424278b18e22453fe523ec01a19805ce3b8ebf18eaf3aadc1edc23f42e3"
},
"x86_64_macos": {
"checksum": "ae1d1ab961c113fb3dc2ff1150f33c3548983550d91da889b3171a5bcfaab14f"
},
"x86_64_windows": {
"checksum": "2807b4af91fbbd961b68716de06c044f1b4f897457fc89fba216e5e2e351c64f"
},
"aarch64_linux_gnu": {
"checksum": "111612560d15bd53d8e8f8f85731176ce12f3b418ec473d39a40ed6bbec772de"
},
"aarch64_macos": {
"checksum": "ad7ff6f666adba3d801eb17365a15539f07296718d39fb62cc2fde6b527178aa"
}
},
"3.6": {
"version": "3.6.0"

89
manifests/syft.json generated Normal file
View File

@@ -0,0 +1,89 @@
{
"template": {
"x86_64_linux_musl": {
"url": "https://github.com/anchore/syft/releases/download/v${version}/syft_${version}_linux_amd64.tar.gz",
"bin_dir": "/usr/local/bin",
"bin": "syft"
},
"x86_64_macos": {
"url": "https://github.com/anchore/syft/releases/download/v${version}/syft_${version}_darwin_amd64.tar.gz",
"bin_dir": "/usr/local/bin",
"bin": "syft"
},
"x86_64_windows": {
"url": "https://github.com/anchore/syft/releases/download/v${version}/syft_${version}_windows_amd64.zip",
"bin_dir": "/usr/local/bin",
"bin": "syft.exe"
},
"aarch64_linux_musl": {
"url": "https://github.com/anchore/syft/releases/download/v${version}/syft_${version}_linux_arm64.tar.gz",
"bin_dir": "/usr/local/bin",
"bin": "syft"
},
"aarch64_macos": {
"url": "https://github.com/anchore/syft/releases/download/v${version}/syft_${version}_darwin_arm64.tar.gz",
"bin_dir": "/usr/local/bin",
"bin": "syft"
}
},
"latest": {
"version": "0.84.0"
},
"0.84": {
"version": "0.84.0"
},
"0.84.0": {
"x86_64_linux_musl": {
"checksum": "cca9c05614667fe6d5de6362417754c522aeccadcb2ccfb9302f3dd7e82bdddc"
},
"x86_64_macos": {
"checksum": "f981df10be75e86fc82ba59cc338f982c5b6b07a5a2e3c104c983fca975fe1ac"
},
"x86_64_windows": {
"checksum": "39f90587629f32681ba22a03de6c996d4c4c94f3266e09ae6a472fd127176e07"
},
"aarch64_linux_musl": {
"checksum": "33924f053526b6c2178f7c362bb7d19483406d59664cdf3528d92262cbfa213d"
},
"aarch64_macos": {
"checksum": "65972738458a3255011808f46919a2fd6c1a559565be67da2a2a8f314f25638e"
}
},
"0.83": {
"version": "0.83.1"
},
"0.83.1": {
"x86_64_linux_musl": {
"checksum": "59b761dc495dd56e32e744cb4403bfcca6a9c0aed810b618664e36530a01f253"
},
"x86_64_macos": {
"checksum": "fa51fe155bc19f047663a6dbd2cc82fd35533a1601be55abb39c50ecff1e461a"
},
"x86_64_windows": {
"checksum": "035fdcc70f38479de7a3d67525f5154e2acd9748e92fe37ef1814766f478b59b"
},
"aarch64_linux_musl": {
"checksum": "1df595ac70f29be7683857f585a4cdf583245b36f98b362a4da8276f08dcb640"
},
"aarch64_macos": {
"checksum": "8a7ec7450a7f6d0f894bcad946e06ce70d455269191dc706ca671b3d698d6a1d"
}
},
"0.83.0": {
"x86_64_linux_musl": {
"checksum": "694e97a454327403fb440544c41fefd83d37f88f43c4f9ae0b0d67a3562bd25c"
},
"x86_64_macos": {
"checksum": "211f34f2e52e842d3248bc3a72c07e534d0d7a8e40babaa7a2034a41a077b70e"
},
"x86_64_windows": {
"checksum": "9131f458fdbbc88fe1bd8df666721ecb95ff751d0ca3e2cffecfd5e021c65e97"
},
"aarch64_linux_musl": {
"checksum": "388fbea52598e44f8529e3432555c53e6e161211a83020d2b749c5d160baf593"
},
"aarch64_macos": {
"checksum": "4b93cf316aa30bddb53d2dcd82f4c9d0353b337677cbdf8a470749f9e98eec82"
}
}
}

View File

@@ -18,7 +18,24 @@
}
},
"latest": {
"version": "0.11.1"
"version": "0.12.0"
},
"0.12": {
"version": "0.12.0"
},
"0.12.0": {
"x86_64_linux_musl": {
"checksum": "60d7c5b082c408b9c201aa81813d87d5df23db4b1fa9c4a88302144e69bd3152"
},
"x86_64_macos": {
"checksum": "a2fb0a8ab4b5ae1f7dd459af4634d062d7ca33200b1fe6fb527c3f3797b28fe3"
},
"x86_64_windows": {
"checksum": "98ad2b548247f5ee89b2252d263caead040c155a348ebf780bb73b170e6605da"
},
"aarch64_linux_musl": {
"checksum": "19534e90fbe266a0f19085e186d983976e12a6390a76be1b2f977f53cbe922df"
}
},
"0.11": {
"version": "0.11.1"

View File

@@ -1,13 +1,100 @@
{
"template": null,
"latest": {
"version": "9.0.3"
"version": "10.0.1"
},
"10": {
"version": "10.0.1"
},
"10.0": {
"version": "10.0.1"
},
"10.0.1": {
"x86_64_linux_gnu": {
"url": "https://github.com/bytecodealliance/wasmtime/releases/download/v10.0.1/wasmtime-v10.0.1-x86_64-linux.tar.xz",
"checksum": "ea7a96e7d30ff6d64d0e212900f9a2c4f1d009266e014d62cb5edb16c6f1a7f6",
"bin": "wasmtime-v10.0.1-x86_64-linux/wasmtime"
},
"x86_64_macos": {
"url": "https://github.com/bytecodealliance/wasmtime/releases/download/v10.0.1/wasmtime-v10.0.1-x86_64-macos.tar.xz",
"checksum": "e9d7e1511e67a1f21ae11ad765f62a3bfc99999b251de4fd368480348f7e6c03",
"bin": "wasmtime-v10.0.1-x86_64-macos/wasmtime"
},
"x86_64_windows": {
"url": "https://github.com/bytecodealliance/wasmtime/releases/download/v10.0.1/wasmtime-v10.0.1-x86_64-windows.zip",
"checksum": "05452d493a620c1cef3612c007c6050be77598265d72ea50081294712808c949",
"bin": "wasmtime-v10.0.1-x86_64-windows/wasmtime.exe"
},
"aarch64_linux_gnu": {
"url": "https://github.com/bytecodealliance/wasmtime/releases/download/v10.0.1/wasmtime-v10.0.1-aarch64-linux.tar.xz",
"checksum": "c237f3e661dcf9e69a890f8c327db5f65085fa94020cabd6d95c7d4b32fb85af",
"bin": "wasmtime-v10.0.1-aarch64-linux/wasmtime"
},
"aarch64_macos": {
"url": "https://github.com/bytecodealliance/wasmtime/releases/download/v10.0.1/wasmtime-v10.0.1-aarch64-macos.tar.xz",
"checksum": "aa0a00896e08a942e6416a67b7914f880bf6b494d16fb75484187e48adc24f35",
"bin": "wasmtime-v10.0.1-aarch64-macos/wasmtime"
}
},
"10.0.0": {
"x86_64_linux_gnu": {
"url": "https://github.com/bytecodealliance/wasmtime/releases/download/v10.0.0/wasmtime-v10.0.0-x86_64-linux.tar.xz",
"checksum": "6df3770c26a0c892a89980d4a7d785b7356a855a4ac79c6745f02a7f2bf914fc",
"bin": "wasmtime-v10.0.0-x86_64-linux/wasmtime"
},
"x86_64_macos": {
"url": "https://github.com/bytecodealliance/wasmtime/releases/download/v10.0.0/wasmtime-v10.0.0-x86_64-macos.tar.xz",
"checksum": "dc499e4caae3149036571005d3bec542ec10e48725e11fcbb4f50652489b6464",
"bin": "wasmtime-v10.0.0-x86_64-macos/wasmtime"
},
"x86_64_windows": {
"url": "https://github.com/bytecodealliance/wasmtime/releases/download/v10.0.0/wasmtime-v10.0.0-x86_64-windows.zip",
"checksum": "c08cb3e8cdfb1e01ca01f3b6a80b48d9e50d3a344daeaac333748f23279cfac6",
"bin": "wasmtime-v10.0.0-x86_64-windows/wasmtime.exe"
},
"aarch64_linux_gnu": {
"url": "https://github.com/bytecodealliance/wasmtime/releases/download/v10.0.0/wasmtime-v10.0.0-aarch64-linux.tar.xz",
"checksum": "840834ef89612d3392e108e6550d6b362e96952c09fcb2404f6ac59c1c707ed5",
"bin": "wasmtime-v10.0.0-aarch64-linux/wasmtime"
},
"aarch64_macos": {
"url": "https://github.com/bytecodealliance/wasmtime/releases/download/v10.0.0/wasmtime-v10.0.0-aarch64-macos.tar.xz",
"checksum": "b14b4f4a4e639347a0f6e990056bd27c0510857b965f27ee08d0f347704a6e74",
"bin": "wasmtime-v10.0.0-aarch64-macos/wasmtime"
}
},
"9": {
"version": "9.0.3"
"version": "9.0.4"
},
"9.0": {
"version": "9.0.3"
"version": "9.0.4"
},
"9.0.4": {
"x86_64_linux_gnu": {
"url": "https://github.com/bytecodealliance/wasmtime/releases/download/v9.0.4/wasmtime-v9.0.4-x86_64-linux.tar.xz",
"checksum": "1e38bae33433c2c31ceefd450a6d54f938b608d48a256497239342feeb6db772",
"bin": "wasmtime-v9.0.4-x86_64-linux/wasmtime"
},
"x86_64_macos": {
"url": "https://github.com/bytecodealliance/wasmtime/releases/download/v9.0.4/wasmtime-v9.0.4-x86_64-macos.tar.xz",
"checksum": "558aa42596a2dd08ef2c8d57901659f98fa2689769738039429a8ed56f91a606",
"bin": "wasmtime-v9.0.4-x86_64-macos/wasmtime"
},
"x86_64_windows": {
"url": "https://github.com/bytecodealliance/wasmtime/releases/download/v9.0.4/wasmtime-v9.0.4-x86_64-windows.zip",
"checksum": "809aca3fa66d3322dd9eca1e0e423efa3bb13b9feb7a3d3ffd4a79fbdcd74d61",
"bin": "wasmtime-v9.0.4-x86_64-windows/wasmtime.exe"
},
"aarch64_linux_gnu": {
"url": "https://github.com/bytecodealliance/wasmtime/releases/download/v9.0.4/wasmtime-v9.0.4-aarch64-linux.tar.xz",
"checksum": "e5d01fae620bf2a9e9816f4e5cf5ae8830e2154e8238c78ce49380a5aae2c2fb",
"bin": "wasmtime-v9.0.4-aarch64-linux/wasmtime"
},
"aarch64_macos": {
"url": "https://github.com/bytecodealliance/wasmtime/releases/download/v9.0.4/wasmtime-v9.0.4-aarch64-macos.tar.xz",
"checksum": "bc3258b94f71f7c1278af48ac89844b55e1236f58e3a917828d5c7e68093c0dd",
"bin": "wasmtime-v9.0.4-aarch64-macos/wasmtime"
}
},
"9.0.3": {
"x86_64_linux_gnu": {

View File

@@ -0,0 +1 @@
git ls-files '*.sh' # TODO: check more files

View File

@@ -0,0 +1,10 @@
{
"repository": "https://github.com/sonos/dinghy",
"tag_prefix": "",
"asset_name": "${package}-${os_name}-${version}.tgz",
"bin": "${package}-${version}/${package}${exe}",
"platform": {
"x86_64_linux_musl": {},
"x86_64_macos": {}
}
}

View File

@@ -0,0 +1,15 @@
{
"repository": "https://github.com/sagiegurari/cargo-make",
"tag_prefix": "",
"asset_name": "${package}-v${version}-${rust_target}.zip",
"bin": "${package}-v${version}-${rust_target}/${package}${exe}",
"platform": {
"x86_64_linux_gnu": {},
"x86_64_linux_musl": {},
"x86_64_macos": {},
"x86_64_windows": {
"bin": "${package}${exe}"
},
"aarch64_macos": {}
}
}

View File

@@ -0,0 +1,24 @@
{
"repository": "https://github.com/anchore/syft",
"tag_prefix": "v",
"bin_dir": "/usr/local/bin",
"bin": "${package}${exe}",
"version_range": ">= 0.83.0",
"platform": {
"x86_64_macos": {
"asset_name": "${package}_${version}_darwin_amd64.tar.gz"
},
"aarch64_macos": {
"asset_name": "${package}_${version}_darwin_arm64.tar.gz"
},
"x86_64_windows": {
"asset_name": "${package}_${version}_windows_amd64.zip"
},
"x86_64_linux_musl": {
"asset_name": "${package}_${version}_linux_amd64.tar.gz"
},
"aarch64_linux_musl": {
"asset_name": "${package}_${version}_linux_arm64.tar.gz"
}
}
}

View File

@@ -203,7 +203,7 @@ fn main() -> Result<()> {
fs::File::open(download_cache)?.read_to_end(&mut buf)?;
} else {
download(&url)?.into_reader().read_to_end(&mut buf)?;
eprintln!(" downloaded complete");
eprintln!(" download complete");
fs::write(download_cache, &buf)?;
}
eprintln!("getting sha256 hash for {url}");
@@ -377,6 +377,7 @@ fn replace_vars(s: &str, package: &str, version: &str, platform: HostPlatform) -
.replace("${package}", package)
.replace("${tool}", package)
.replace("${rust_target}", platform.rust_target())
.replace("${os_name}", platform.os_name())
.replace("${version}", version)
.replace("${exe}", platform.exe_suffix());
if s.contains('$') {
@@ -698,6 +699,16 @@ impl HostPlatform {
Self::aarch64_windows => "aarch64-pc-windows-msvc",
}
}
fn os_name(self) -> &'static str {
match self {
Self::aarch64_linux_gnu
| Self::aarch64_linux_musl
| Self::x86_64_linux_gnu
| Self::x86_64_linux_musl => "linux",
Self::aarch64_macos | Self::x86_64_macos => "macos",
Self::aarch64_windows | Self::x86_64_windows => "windows",
}
}
fn exe_suffix(self) -> &'static str {
match self {
Self::x86_64_windows | Self::aarch64_windows => ".exe",

View File

@@ -1,4 +1,5 @@
#!/usr/bin/env bash
# SPDX-License-Identifier: Apache-2.0 OR MIT
set -euo pipefail
IFS=$'\n\t'
cd "$(dirname "$0")"/..

View File

@@ -1,10 +1,11 @@
#!/usr/bin/env bash
# SPDX-License-Identifier: Apache-2.0 OR MIT
set -euo pipefail
IFS=$'\n\t'
cd "$(dirname "$0")"/..
# shellcheck disable=SC2154
trap 's=$?; echo >&2 "$0: Error on line "${LINENO}": ${BASH_COMMAND}"; exit ${s}' ERR
trap 's=$?; echo >&2 "$0: error on line "${LINENO}": ${BASH_COMMAND}"; exit ${s}' ERR
# Publish a new release.
#
@@ -98,7 +99,7 @@ for tool in tools/codegen/base/*.json; do
done
# Aliases
tools+=(nextest)
# Not manifest-base
# Not manifest-based
tools+=(valgrind)
(

View File

@@ -6,7 +6,7 @@ IFS=$'\n\t'
cd "$(dirname "$0")"/..
# shellcheck disable=SC2154
trap 's=$?; echo >&2 "$0: Error on line "${LINENO}": ${BASH_COMMAND}"; exit ${s}' ERR
trap 's=$?; echo >&2 "$0: error on line "${LINENO}": ${BASH_COMMAND}"; exit ${s}' ERR
# USAGE:
# ./tools/tidy.sh
@@ -201,6 +201,44 @@ else
warn "'shellcheck' is not installed"
fi
# License check
# TODO: This check is still experimental and does not track all files that should be tracked.
if [[ -f tools/.tidy-check-license-headers ]]; then
info "checking license headers (experimental)"
failed_files=''
for p in $(eval $(<tools/.tidy-check-license-headers)); do
# TODO: More file types?
case "$(basename "${p}")" in
*.sh) prefix=("# ") ;;
*.rs | *.c | *.h | *.cpp | *.hpp | *.s | *.S) prefix=("// " "/* ") ;;
*.ld | *.x) prefix=("/* ") ;;
*) error "unrecognized file type: ${p}" ;;
esac
# TODO: The exact line number is not actually important; it is important
# that it be part of the top-level comments of the file.
line="1"
case "${p}" in
*.sh) line="2" ;; # shebang
esac
header_found=''
for pre in "${prefix[@]}"; do
if [[ "$(grep -E -n "${pre}SPDX-License-Identifier: " "${p}")" == "${line}:${pre}SPDX-License-Identifier: "* ]]; then
header_found='1'
continue
fi
done
if [[ -z "${header_found}" ]]; then
failed_files+="${p}:${line}"$'\n'
fi
done
if [[ -n "${failed_files}" ]]; then
error "license-check failed: please add SPDX-License-Identifier to the following files"
echo "======================================="
echo -n "${failed_files}"
echo "======================================="
fi
fi
# Spell check (if config exists)
if [[ -f .cspell.json ]]; then
info "spell checking"