diff --git a/.github/.cspell/project-dictionary.txt b/.github/.cspell/project-dictionary.txt index 5a155fc2..51c6147a 100644 --- a/.github/.cspell/project-dictionary.txt +++ b/.github/.cspell/project-dictionary.txt @@ -10,8 +10,8 @@ cyclonedx cygdrive deadlinks deepsource -docgarden doas +docgarden enablerepo epel espup @@ -40,6 +40,7 @@ SHASUMS sigstore syft tombi +tzst udeps USERPROFILE wasmtime diff --git a/TOOLS.md b/TOOLS.md index c472dc7b..d292bdc4 100644 --- a/TOOLS.md +++ b/TOOLS.md @@ -16,6 +16,7 @@ See the [Supported tools section in README.md](README.md#supported-tools) for ho | ---- | -------------------------------- | ------------------------------- | ------------------ | ------- | ---- | | [**auto-doc**](https://github.com/tj-actions/auto-doc) | `$HOME/.install-action/bin` | [GitHub Releases](https://github.com/tj-actions/auto-doc/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/tj-actions/auto-doc/blob/main/LICENSE) | | | [**biome**](https://biomejs.dev) | `$HOME/.install-action/bin` | [GitHub Releases](https://github.com/biomejs/biome/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/biomejs/biome/blob/main/LICENSE-APACHE) OR [MIT](https://github.com/biomejs/biome/blob/main/LICENSE-MIT) | | +| [**bpf-linker**](https://github.com/aya-rs/bpf-linker) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/aya-rs/bpf-linker/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/aya-rs/bpf-linker/blob/main/LICENSE-APACHE) OR [MIT](https://github.com/aya-rs/bpf-linker/blob/main/LICENSE-MIT) | | | [**cargo-about**](https://github.com/EmbarkStudios/cargo-about) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/EmbarkStudios/cargo-about/releases) | Linux, macOS, Windows | [MIT](https://github.com/EmbarkStudios/cargo-about/blob/main/LICENSE-MIT) OR [Apache-2.0](https://github.com/EmbarkStudios/cargo-about/blob/main/LICENSE-APACHE) | | | [**cargo-apple-runner**](https://github.com/madsmtm/cargo-apple-runner) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/madsmtm/cargo-apple-runner/releases) | macOS | [Zlib](https://github.com/madsmtm/cargo-apple-runner/blob/main/LICENSE-ZLIB.txt) OR [Apache-2.0](https://github.com/madsmtm/cargo-apple-runner/blob/main/LICENSE-APACHE.txt) OR [MIT](https://github.com/madsmtm/cargo-apple-runner/blob/main/LICENSE-MIT.txt) | | | [**cargo-audit**](https://github.com/rustsec/rustsec/tree/HEAD/cargo-audit) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/rustsec/rustsec/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/rustsec/rustsec/blob/main/cargo-audit/LICENSE-APACHE) OR [MIT](https://github.com/rustsec/rustsec/blob/main/cargo-audit/LICENSE-MIT) | | diff --git a/main.sh b/main.sh index ce47703e..5af0e5de 100755 --- a/main.sh +++ b/main.sh @@ -158,6 +158,18 @@ download_and_extract() { esac fi ;; + *.tar.zst | *.tzst) + tar_args+=('xf') + if ! type -P zstd >/dev/null; then + case "${base_distro}" in + debian | fedora | suse | arch | alpine) + printf '::group::Install packages required for installation (zstd)\n' + sys_install zstd + printf '::endgroup::\n' + ;; + esac + fi + ;; *.zip) if ! type -P unzip >/dev/null; then case "${base_distro}" in @@ -187,8 +199,10 @@ download_and_extract() { cd -- "${tmp_dir}" download_and_checksum "${url}" "${checksum}" if [[ ${#tar_args[@]} -gt 0 ]]; then - tar_args+=("tmp") - tar "${tar_args[@]}" + case "${url}" in + *.tar.zst | *.tzst) zstd -dc tmp | tar "${tar_args[@]}" - ;; + *) tar "${tar_args[@]}" tmp ;; + esac for tmp in "${bin_in_archive[@]}"; do case "${tool}" in editorconfig-checker) mv -- "${tmp}" "${bin_dir}/${tool}${exe}" ;; diff --git a/manifests/bpf-linker.json b/manifests/bpf-linker.json new file mode 100644 index 00000000..887bd1a5 --- /dev/null +++ b/manifests/bpf-linker.json @@ -0,0 +1,55 @@ +{ + "rust_crate": "bpf-linker", + "template": { + "x86_64_linux_musl": { + "url": "https://github.com/aya-rs/bpf-linker/releases/download/v${version}/bpf-linker-x86_64-unknown-linux-musl.tar.zst" + }, + "x86_64_macos": { + "url": "https://github.com/aya-rs/bpf-linker/releases/download/v${version}/bpf-linker-x86_64-apple-darwin.tar.zst" + }, + "x86_64_windows": { + "url": "https://github.com/aya-rs/bpf-linker/releases/download/v${version}/bpf-linker-x86_64-pc-windows-gnullvm.tar.zst" + }, + "aarch64_linux_musl": { + "url": "https://github.com/aya-rs/bpf-linker/releases/download/v${version}/bpf-linker-aarch64-unknown-linux-musl.tar.zst" + }, + "aarch64_macos": { + "url": "https://github.com/aya-rs/bpf-linker/releases/download/v${version}/bpf-linker-aarch64-apple-darwin.tar.zst" + }, + "aarch64_windows": { + "url": "https://github.com/aya-rs/bpf-linker/releases/download/v${version}/bpf-linker-aarch64-pc-windows-gnullvm.tar.zst" + } + }, + "latest": { + "version": "0.10.4" + }, + "0.10": { + "version": "0.10.4" + }, + "0.10.4": { + "x86_64_linux_musl": { + "etag": "0x8DECC93D0199F9F", + "hash": "4dda77daab6c5f120a468e6d3ede2498f5bd47ece712172cfb7290176d93d015" + }, + "x86_64_macos": { + "etag": "0x8DECC93CE4D2D43", + "hash": "55771c82883b414f3f4e8bd081a182e8deefa1b953ab249c85b253fc2b69de48" + }, + "x86_64_windows": { + "etag": "0x8DECC93CF001074", + "hash": "d3e3448333f4dd7e49103071a547ff9a944d6f277b48bdcfe9d9326dca725260" + }, + "aarch64_linux_musl": { + "etag": "0x8DECC93CD762FA5", + "hash": "c3638cd3cb735ff85705905a07e0df61c0f9426480334c8e2efe5cb92fd9d3de" + }, + "aarch64_macos": { + "etag": "0x8DECC93CC81DECB", + "hash": "7e0c692b2e839afdb3e2f1053bd9a94e55b99f7b6a94ef69990449a6d72837ce" + }, + "aarch64_windows": { + "etag": "0x8DECC93CC8D916E", + "hash": "341ea6db58a7d5ac7348d835e86a8da9ef351445704646f9632a4410d89ae60a" + } + } +} diff --git a/tools/ci/tool-list.sh b/tools/ci/tool-list.sh index cad42d89..68435173 100755 --- a/tools/ci/tool-list.sh +++ b/tools/ci/tool-list.sh @@ -119,15 +119,15 @@ case "$(uname -s)" in if ! type -P snap >/dev/null; then incompat_tools+=(valgrind) fi - if ! type -P apt-get >/dev/null; then - incompat_tools+=(cyclonedx) - fi - if [[ "${runner}" == 'ubuntu:14.04' ]]; then + if ! type -P apt-get >/dev/null || [[ "${runner}" == 'ubuntu:14.04' ]]; then incompat_tools+=(cyclonedx) fi if [[ "${runner}" == 'almalinux:10'* ]]; then incompat_tools+=(cargo-deb) # no dpkg in package manager fi + case "${runner}" in + debian/eol:jessie-slim | ubuntu:14.04 | alpine:3.2) incompat_tools+=(bpf-linker) ;; # no zstd in package manager + esac ;; Darwin) host_os=macos diff --git a/tools/codegen/base/bpf-linker.json b/tools/codegen/base/bpf-linker.json new file mode 100644 index 00000000..fc9a65d0 --- /dev/null +++ b/tools/codegen/base/bpf-linker.json @@ -0,0 +1,20 @@ +{ + "repository": "https://github.com/aya-rs/bpf-linker", + "license_markdown": "[Apache-2.0](https://github.com/aya-rs/bpf-linker/blob/main/LICENSE-APACHE) OR [MIT](https://github.com/aya-rs/bpf-linker/blob/main/LICENSE-MIT)", + "tag_prefix": "v", + "version_range": ">= 0.10.4", + "rust_crate": "${package}", + "asset_name": "${package}-${rust_target}.tar.zst", + "platform": { + "x86_64_linux_musl": {}, + "x86_64_macos": {}, + "x86_64_windows": { + "asset_name": "${package}-${rust_target_arch}-pc-windows-gnullvm.tar.zst" + }, + "aarch64_linux_musl": {}, + "aarch64_macos": {}, + "aarch64_windows": { + "asset_name": "${package}-${rust_target_arch}-pc-windows-gnullvm.tar.zst" + } + } +}