Compare commits

..

71 Commits

Author SHA1 Message Date
Taiki Endo
f7379c13bb Add release instructions and update release script 2023-03-26 18:47:22 +09:00
Taiki Endo
1c96e2750b Release 2.6.5 2023-03-25 23:30:54 +09:00
Taiki Endo
b047e58764 Update cspell dictionary 2023-03-25 23:30:17 +09:00
Taiki Endo
02aadca714 Update cargo-binstall@latest to 0.22.0 2023-03-23 17:50:30 +09:00
Taiki Endo
c64d4ba1ed Release 2.6.4 2023-03-21 13:28:01 +09:00
Taiki Endo
f006976e02 Update wasmtime@latest to 7.0.0 2023-03-21 13:27:11 +09:00
Taiki Endo
7570159fcc Release 2.6.3 2023-03-20 12:23:55 +09:00
Taiki Endo
7fed544855 Update zola@latest to 0.17.2 2023-03-20 12:22:33 +09:00
Taiki Endo
9eaa8ca48b Update wasm-pack@latest to 0.11.0 2023-03-20 12:22:33 +09:00
Taiki Endo
159a429775 Update cargo-nextest@latest to 0.9.51 2023-03-20 12:22:33 +09:00
Taiki Endo
f11f1002f9 Release 2.6.2 2023-03-14 18:09:14 +09:00
Taiki Endo
2bb480a517 Update changelog 2023-03-14 18:08:57 +09:00
Taiki Endo
99f013d5f8 Update cargo-binstall@latest to 0.21.3 2023-03-14 18:07:03 +09:00
Taiki Endo
5eaf5ab4ba Release 2.6.1 2023-03-14 11:45:29 +09:00
Taiki Endo
03352a8b6a Update cargo-nextest@latest to 0.9.50 2023-03-14 11:45:00 +09:00
Taiki Endo
af4171e2c6 Release 2.6.0 2023-03-14 00:58:53 +09:00
Taiki Endo
3d7b60cc55 Remove outdated line from changelog 2023-03-14 00:58:38 +09:00
Taiki Endo
bb9815bf9d Update dprint@latest to 0.35.3 2023-03-14 00:50:35 +09:00
Taiki Endo
f0a8f08e0c Update cargo-binstall@latest to 0.21.2 2023-03-14 00:50:35 +09:00
Taiki Endo
23d49b97dc Update dprint@latest to 0.35.0 2023-03-12 02:19:48 +09:00
Taiki Endo
e7a47b23f5 Automatically cancel outdated CI runs on PR 2023-03-12 00:18:04 +09:00
Taiki Endo
13917065c4 Release 2.5.7 2023-03-11 12:06:49 +09:00
Taiki Endo
3a95a5da72 Update protoc@latest to 3.22.2 2023-03-11 12:03:04 +09:00
Taiki Endo
dca3b37006 Release 2.5.6 2023-03-10 12:14:10 +09:00
Taiki Endo
045dd4076c tidy: Improve performance of spellcheck 2023-03-10 00:50:01 +09:00
Taiki Endo
0ffbddd290 tidy: Check GitHub workflow permissions 2023-03-10 00:50:01 +09:00
Taiki Endo
0c2d9a651a Update wasmtime@latest to 6.0.1 2023-03-09 13:42:18 +09:00
Taiki Endo
bfecd3c66b Release 2.5.5 2023-03-08 11:45:13 +09:00
Taiki Endo
f1a94ab9f4 Update protoc@latest to 3.22.1 2023-03-08 11:44:25 +09:00
Taiki Endo
2e796d41df Update mdbook@latest to 0.4.28 2023-03-05 13:05:00 +09:00
Taiki Endo
ad40afb0c1 Release 2.5.4 2023-03-01 02:29:25 +09:00
Taiki Endo
83dc00c495 Update cargo-llvm-cov@latest to 0.5.11 2023-03-01 02:28:53 +09:00
Taiki Endo
f2466a4319 Update cargo-hack@latest to 0.5.28 2023-03-01 02:28:53 +09:00
Taiki Endo
29410ef0ac Release 2.5.3 2023-02-28 23:28:29 +09:00
Taiki Endo
e8c60492cd Update cargo-no-dev-deps@latest to 0.2.2 2023-02-28 23:28:10 +09:00
Taiki Endo
67aa8bcf8a Release 2.5.2 2023-02-27 13:22:20 +09:00
Taiki Endo
1bb76441d3 Update .clippy.toml 2023-02-27 13:21:44 +09:00
Taiki Endo
8c919c2041 Update cargo-tarpaulin@latest to 0.25.1 2023-02-27 11:32:05 +09:00
Taiki Endo
6dec0fcd4c Release 2.5.1 2023-02-25 19:18:03 +09:00
Taiki Endo
ef14bb365d Update zola@latest to 0.17.1 2023-02-25 12:05:39 +09:00
Taiki Endo
d3afca2ffc Release 2.5.0 2023-02-24 02:39:32 +09:00
Taiki Endo
11d418d698 Update changelog 2023-02-24 02:39:21 +09:00
Taiki Endo
93edea8666 Update shebang for bash scripts
In non-Linux systems such as BSDs, bash is not always in /bin.
2023-02-24 01:44:48 +09:00
Taiki Endo
af5165ce25 Update cargo-llvm-cov@latest to 0.5.10 2023-02-24 01:12:19 +09:00
Taiki Endo
2a60fd3151 Switch to composite action 2023-02-22 22:15:07 +09:00
Taiki Endo
0c4592b32a Release 2.4.4 2023-02-21 11:29:51 +09:00
Taiki Endo
005d3ec234 Update wasmtime@latest to 6.0.0 2023-02-21 11:27:28 +09:00
Taiki Endo
5d8239931a Release 2.4.3 2023-02-17 12:23:34 +09:00
Taiki Endo
43e49c2430 Update zola@latest to 0.17.0 2023-02-17 12:17:13 +09:00
Taiki Endo
70715d2909 Update protoc@latest to 3.22.0 2023-02-17 12:17:13 +09:00
Taiki Endo
396587837c Release 2.4.2 2023-02-14 12:11:39 +09:00
Taiki Endo
dac579fb5b Update mdbook@latest to 0.4.27 2023-02-14 12:07:02 +09:00
Taiki Endo
4dbb2933f9 Update dprint@latest to 0.34.5 2023-02-14 12:07:02 +09:00
Taiki Endo
7e43915f05 Release 2.4.1 2023-02-13 11:25:43 +09:00
Taiki Endo
fe6fb3761a Update cargo-binstall@latest to 0.20.1 2023-02-13 11:24:23 +09:00
Taiki Endo
05829426d5 Release 2.4.0 2023-02-11 21:07:55 +09:00
Taiki Endo
e27c460000 Update changelog 2023-02-11 21:07:41 +09:00
Marcin Puc
0184bd9177 Add support for zola (#71) 2023-02-11 20:30:05 +09:00
Taiki Endo
cb5553fad7 codegen: Handle prerelease 2023-02-11 04:08:40 +09:00
Taiki Endo
15af814db4 Use cargo-binstall fallback also if tool is available but specified version not available 2023-02-11 04:08:40 +09:00
Taiki Endo
d4ce367860 Update mdbook@latest to 0.4.26 2023-02-09 12:09:06 +09:00
Taiki Endo
416fcad992 Mark .github/.cspell/rust-dependencies.txt linguist-generated 2023-02-09 05:17:26 +09:00
Taiki Endo
9e1de916ab Fix install failures in edge cases 2023-02-08 15:28:23 +09:00
Taiki Endo
0340abb8d7 Update cspell dictionary 2023-02-08 02:05:43 +09:00
Orhun Parmaksız
b3c9f573b2 Add cargo-tarpaulin support (#65) 2023-02-08 02:03:46 +09:00
Taiki Endo
e1d5d01924 Pass --no-cache to apk even in CI 2023-02-07 22:16:25 +09:00
Taiki Endo
c5ba83b5c8 Exclude known words from "rust-dependencies" cspell dictionary 2023-02-07 21:53:59 +09:00
Taiki Endo
5737265abf Release 2.3.5 2023-02-05 02:43:48 +09:00
Taiki Endo
c889a9389c Update cross@latest to 0.2.5 2023-02-05 02:37:32 +09:00
Taiki Endo
979f068989 codegen: Tweak log message 2023-01-27 23:48:46 +09:00
Taiki Endo
d5486e05e3 Update cspell dictionary 2023-01-27 22:54:46 +09:00
35 changed files with 1299 additions and 296 deletions

View File

@@ -1 +1,5 @@
# Clippy configuration
# https://doc.rust-lang.org/nightly/clippy/lint_configuration.html
avoid-breaking-exported-api = false
disallowed-names = []

2
.gitattributes vendored
View File

@@ -1 +1,3 @@
* text=auto eol=lf
manifests/** linguist-generated
.github/.cspell/rust-dependencies.txt linguist-generated

View File

@@ -51,6 +51,7 @@ gnuspe
gnux
illumos
imac
loongarch
macabi
mipsel
mipsisa
@@ -76,48 +77,71 @@ vxworks
wasi
watchos
xous
xtensa
// Rust other
aclass
acqrel
alloc
bools
builtins
canonicalize
consts
ctypes
dealloc
deque
docsrs
doctest
hasher
impls
inlateout
intrinsics
lateout
mclass
msrv
nand
nomem
nonoverlapping
noreturn
nostack
peekable
punct
rclass
repr
rfind
rfold
rsplit
rustlib
seqcst
splitn
supertrait
supertraits
sysroot
toolchains
turbofish
uninit
unsized
upcastable
// Other
binutils
connrefused
cygwin
dpkg
endianness
euxo
msys
noninteractive
noprofile
norc
nproc
objdump
pipefail
powerset
proto
readelf
SIGABRT
SIGILL
SIGINT
SIGTERM
tlsv

View File

@@ -18,6 +18,7 @@ nextest
protobuf
protoc
protocolbuffers
pwsh
quickinstall
rockylinux
rustwasm

View File

@@ -1,8 +1,4 @@
// This file is @generated by tidy.sh.
// It is not intended for manual editing.
anyhow
json
semver
serde
ureq

View File

@@ -26,6 +26,10 @@ defaults:
run:
shell: bash
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}
cancel-in-progress: true
jobs:
tidy:
uses: taiki-e/workflows/.github/workflows/tidy.yml@main
@@ -40,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-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
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
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
- 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@4.0,mdbook@0.4,mdbook-linkcheck@0.7,cargo-watch@8.1,grcov@0.8,watchexec-cli@1.20
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@4.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
- os: ubuntu-20.04
tool: cargo-valgrind@2,just@1,protoc@3,shfmt@3,wasmtime@4,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
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
- 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
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
runs-on: ${{ matrix.os }}
timeout-minutes: 60
steps:
@@ -64,6 +68,21 @@ jobs:
- uses: ./
with:
tool: ${{ matrix.tool }}
# https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsshell
- name: Test bash
run: just --version; shfmt --version; protoc --version
shell: bash
- name: Test sh
run: just --version; shfmt --version; protoc --version
shell: sh
if: startsWith(matrix.os, 'ubuntu') || startsWith(matrix.os, 'macos')
- name: Test pwsh
run: just --version; shfmt --version; protoc --version
shell: pwsh
- name: Test powershell
run: just --version; shfmt --version; protoc --version
shell: powershell
if: startsWith(matrix.os, 'windows')
# We use the version output to check the version of binstall, but they
# 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
@@ -86,20 +105,20 @@ jobs:
- rockylinux:8-minimal # glibc 2.28
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-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
include:
- container: ubuntu:22.04 # glibc 2.35
# cargo-udeps depends on openssl 1.1
tool: cargo-hack,cargo-llvm-cov,cargo-minimal-versions,cargo-no-dev-deps,parse-changelog,cargo-valgrind,cargo-deny,cross,dprint,just,nextest,protoc,shellcheck,shfmt,wasm-pack,wasmtime,mdbook,mdbook-linkcheck,cargo-watch,grcov,watchexec-cli
tool: cargo-hack,cargo-llvm-cov,cargo-minimal-versions,cargo-no-dev-deps,parse-changelog,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
- container: fedora:latest # glibc 2.36 (as of fedora 37)
# cargo-udeps depends on openssl 1.1
tool: cargo-hack,cargo-llvm-cov,cargo-minimal-versions,cargo-no-dev-deps,parse-changelog,cargo-valgrind,cargo-deny,cross,dprint,just,nextest,protoc,shellcheck,shfmt,wasm-pack,wasmtime,mdbook,mdbook-linkcheck,cargo-watch,grcov,watchexec-cli
tool: cargo-hack,cargo-llvm-cov,cargo-minimal-versions,cargo-no-dev-deps,parse-changelog,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
- container: centos:7 # glibc 2.17
# cargo-udeps,protoc,valgrind,wasmtime,mdbook-linkcheck,cargo-watch 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-valgrind,cargo-deny,cross,dprint,just,nextest,shellcheck,shfmt,wasm-pack,mdbook,cargo-binstall,grcov,watchexec-cli
# cargo-udeps,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-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)
# cargo-udeps,protoc,valgrind,wasmtime,mdbook-linkcheck,cargo-watch don't provide prebuilt binaries for musl host.
tool: cargo-hack,cargo-llvm-cov,cargo-minimal-versions,cargo-no-dev-deps,parse-changelog,cargo-valgrind,cargo-deny,cross,dprint,just,nextest,shellcheck,shfmt,wasm-pack,mdbook,cargo-binstall,grcov,watchexec-cli
# cargo-udeps,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-valgrind,cargo-deny,cross,dprint,just,nextest,shellcheck,shfmt,wasm-pack,mdbook,cargo-binstall,grcov,watchexec-cli,cargo-tarpaulin
runs-on: ubuntu-latest
timeout-minutes: 60
container: ${{ matrix.container }}
@@ -129,7 +148,7 @@ jobs:
- name: Install requirements (alpine)
run: |
set -eux
apk add bash cargo
apk --no-cache add bash cargo
shell: sh
if: startsWith(matrix.container, 'alpine')
- uses: actions/checkout@v3
@@ -145,7 +164,7 @@ jobs:
runs-on: ubuntu-latest
timeout-minutes: 60
permissions:
contents: write # TODO test
contents: write
pull-requests: write
steps:
- uses: actions/checkout@v3

View File

@@ -1,8 +1,7 @@
name: Release
permissions:
# TODO: once `releases: write` is supported, use it instead.
contents: write
contents: read
on:
push:
@@ -18,6 +17,8 @@ jobs:
if: github.repository_owner == 'taiki-e'
runs-on: ubuntu-latest
timeout-minutes: 60
permissions:
contents: write
steps:
- uses: actions/checkout@v3
with:
@@ -28,3 +29,4 @@ jobs:
title: $version
branch: 'main|v[0-9]+'
token: ${{ secrets.GITHUB_TOKEN }}
- run: ci/publish.sh

View File

@@ -10,6 +10,114 @@ Note: In this file, do not use the hard wrap in the middle of a sentence for com
## [Unreleased]
## [2.6.5] - 2023-03-25
- Update `cargo-binstall@latest` to 0.22.0.
## [2.6.4] - 2023-03-21
- Update `wasmtime@latest` to 7.0.0.
## [2.6.3] - 2023-03-20
- Update `zola@latest` to 0.17.2.
- Update `wasm-pack@latest` to 0.11.0.
- Update `cargo-nextest@latest` to 0.9.51.
## [2.6.2] - 2023-03-14
- Update `cargo-binstall@latest` to 0.21.3. This fixes spurious error when accessing crates.io.
## [2.6.1] - 2023-03-14
- Update `cargo-nextest@latest` to 0.9.50.
## [2.6.0] - 2023-03-13
- Update `dprint@latest` to 0.35.3.
- Update `cargo-binstall@latest` to 0.21.2.
## [2.5.7] - 2023-03-11
- Update `protoc@latest` to 3.22.2.
## [2.5.6] - 2023-03-10
- Update `wasmtime@latest` to 6.0.1.
## [2.5.5] - 2023-03-08
- Update `protoc@latest` to 3.22.1.
- Update `mdbook@latest` to 0.4.28.
## [2.5.4] - 2023-02-28
- Update `cargo-llvm-cov@latest` to 0.5.11.
- Update `cargo-hack@latest` to 0.5.28.
## [2.5.3] - 2023-02-28
- Update `cargo-no-dev-deps@latest` to 0.2.2.
## [2.5.2] - 2023-02-27
- Update `cargo-tarpaulin@latest` to 0.25.1.
## [2.5.1] - 2023-02-25
- Update `zola@latest` to 0.17.1.
## [2.5.0] - 2023-02-23
- Update `cargo-llvm-cov@latest` to 0.5.10.
- Switch to composite action. ([#58](https://github.com/taiki-e/install-action/pull/58))
## [2.4.4] - 2023-02-21
- Update `wasmtime@latest` to 6.0.0.
## [2.4.3] - 2023-02-17
- Update `zola@latest` to 0.17.0.
- Update `protoc@latest` to 3.22.0.
## [2.4.2] - 2023-02-14
- Update `mdbook@latest` to 0.4.27.
- Update `dprint@latest` to 0.34.5.
## [2.4.1] - 2023-02-13
- Update `cargo-binstall@latest` to 0.20.1.
## [2.4.0] - 2023-02-11
- Support `cargo-tarpaulin`. ([#65](https://github.com/taiki-e/install-action/pull/65), thanks @orhun)
- Support `zola`. ([#71](https://github.com/taiki-e/install-action/pull/71), thanks @tranzystorek-io)
- Update `mdbook@latest` to 0.4.26.
- Allow installing cargo subcommands without `cargo`.
- Fix issue where installed non-Rust related binaries cannot be found from PowerShell on Windows. Rust-related binaries, Unix shells such as bash, and non-Windows OS are not affected by this issue.
- Fix install failure of Rust-related binaries when `$CARGO_HOME/bin` exists, but is not included in the `$PATH`. This failure occurred in slightly odd cases, such as multiple installations of rust in different directories.
- Use cargo-binstall fallback also if tool is available but the specified version not available. ([#68](https://github.com/taiki-e/install-action/pull/68))
## [2.3.5] - 2023-02-04
- Update `cross@latest` to 0.2.5.
## [2.3.4] - 2023-01-26
- Update `just@latest` to 1.13.0.
@@ -591,7 +699,27 @@ Note: This release is considered a breaking change because installing on version
Initial release
[Unreleased]: https://github.com/taiki-e/install-action/compare/v2.3.4...HEAD
[Unreleased]: https://github.com/taiki-e/install-action/compare/v2.6.5...HEAD
[2.6.5]: https://github.com/taiki-e/install-action/compare/v2.6.4...v2.6.5
[2.6.4]: https://github.com/taiki-e/install-action/compare/v2.6.3...v2.6.4
[2.6.3]: https://github.com/taiki-e/install-action/compare/v2.6.2...v2.6.3
[2.6.2]: https://github.com/taiki-e/install-action/compare/v2.6.1...v2.6.2
[2.6.1]: https://github.com/taiki-e/install-action/compare/v2.6.0...v2.6.1
[2.6.0]: https://github.com/taiki-e/install-action/compare/v2.5.7...v2.6.0
[2.5.7]: https://github.com/taiki-e/install-action/compare/v2.5.6...v2.5.7
[2.5.6]: https://github.com/taiki-e/install-action/compare/v2.5.5...v2.5.6
[2.5.5]: https://github.com/taiki-e/install-action/compare/v2.5.4...v2.5.5
[2.5.4]: https://github.com/taiki-e/install-action/compare/v2.5.3...v2.5.4
[2.5.3]: https://github.com/taiki-e/install-action/compare/v2.5.2...v2.5.3
[2.5.2]: https://github.com/taiki-e/install-action/compare/v2.5.1...v2.5.2
[2.5.1]: https://github.com/taiki-e/install-action/compare/v2.5.0...v2.5.1
[2.5.0]: https://github.com/taiki-e/install-action/compare/v2.4.4...v2.5.0
[2.4.4]: https://github.com/taiki-e/install-action/compare/v2.4.3...v2.4.4
[2.4.3]: https://github.com/taiki-e/install-action/compare/v2.4.2...v2.4.3
[2.4.2]: https://github.com/taiki-e/install-action/compare/v2.4.1...v2.4.2
[2.4.1]: https://github.com/taiki-e/install-action/compare/v2.4.0...v2.4.1
[2.4.0]: https://github.com/taiki-e/install-action/compare/v2.3.5...v2.4.0
[2.3.5]: https://github.com/taiki-e/install-action/compare/v2.3.4...v2.3.5
[2.3.4]: https://github.com/taiki-e/install-action/compare/v2.3.3...v2.3.4
[2.3.3]: https://github.com/taiki-e/install-action/compare/v2.3.2...v2.3.3
[2.3.2]: https://github.com/taiki-e/install-action/compare/v2.3.1...v2.3.2

View File

@@ -17,3 +17,31 @@ See JSON files in `tools/codegen/base` directory for examples of the manifest.
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`.
## Release new version
Note: This is a guide for maintainers.
### Minor version vs patch version
Increase the patch version if only the following changes are included.
- Update the `@latest` version of the tool.
Rationale: Normally, tool versions are controlled by the `@<version>` syntax, which is explicitly separated from the versioning of the install-action itself.
Exception: If the major or minor version of the `cargo-binstall` is updated, the minor version should be increased because the behavior of the fallback may change slightly.
- Fix regressions or minor bugs.
Rationale: Semantic Versioning.
- Improve documentation or diagnostics.
Rationale: Semantic Versioning.
Increase the minor version otherwise.
### Release instructions
TODO: current release script assumes admin permissions

View File

@@ -85,6 +85,7 @@ https://spdx.org/licenses
| [**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-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-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/master/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/master/LICENSE-MIT) or [Apache-2.0](https://github.com/jfrimmel/cargo-valgrind/blob/master/LICENSE-APACHE) |
@@ -102,6 +103,7 @@ https://spdx.org/licenses
| [**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) |
| [**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) |
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>
@@ -123,7 +125,7 @@ This action has been tested for GitHub-hosted runners (Ubuntu, macOS, Windows) a
To use this action in self-hosted runners or in containers, at least the following tools are required:
- bash
- cargo (if you install cargo subcommands or use cargo-binstall fallback)
- cargo (if you use cargo-binstall fallback)
## Related Projects

View File

@@ -11,6 +11,14 @@ inputs:
required: false
default: 'true'
# Note:
# - inputs.* should be manually mapped to INPUT_* due to https://github.com/actions/runner/issues/665
# - Use GITHUB_*/RUNNER_* instead of github.*/runner.* due to https://github.com/actions/runner/issues/2185
runs:
using: node16
main: main.js
using: composite
steps:
- run: bash --noprofile --norc "${GITHUB_ACTION_PATH:?}/main.sh"
shell: bash
env:
INPUT_TOOL: ${{ inputs.tool }}
INPUT_CHECKSUM: ${{ inputs.checksum }}

View File

@@ -1,8 +1,17 @@
#!/bin/bash
#!/usr/bin/env bash
set -euxo pipefail
IFS=$'\n\t'
cd "$(dirname "$0")"/..
bail() {
echo >&2 "error: $*"
exit 1
}
if [[ -z "${CI:-}" ]]; then
bail "this script is intended to call from release workflow on CI"
fi
git config user.name "Taiki Endo"
git config user.email "te316e89@gmail.com"
@@ -15,6 +24,7 @@ for manifest in manifests/*.json; do
git stash pop
new_version=$(jq -r '.latest.version' "${manifest}")
if [[ "${old_version}" != "${new_version}" ]]; then
# TODO: If there is a line about updating the same tool in the "Unreleased" section, replace it.
msg="Update \`${name}@latest\` to ${new_version}"
sed -i "s/^## \\[Unreleased\\]/## [Unreleased]\\n\\n- ${msg}./" CHANGELOG.md
git add "${manifest}" CHANGELOG.md

74
ci/publish.sh Executable file
View File

@@ -0,0 +1,74 @@
#!/usr/bin/env bash
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
bail() {
echo >&2 "error: $*"
exit 1
}
if [[ -z "${CI:-}" ]]; then
bail "this script is intended to call from release workflow on CI"
fi
ref="${GITHUB_REF:-}"
if [[ "${ref}" != "refs/tags/"* ]]; then
bail "tag ref should start with 'refs/tags/'"
fi
tag="${ref#refs/tags/}"
git config user.name "Taiki Endo"
git config user.email "te316e89@gmail.com"
version="${tag}"
version="${version#v}"
tools=()
for tool in tools/codegen/base/*.json; do
tools+=("$(basename "${tool%.*}")")
done
# Aliases
tools+=(nextest)
# Not manifest-base
tools+=(valgrind)
(
set -x
major_version_tag="v${version%%.*}"
git checkout -b "${major_version_tag}"
git push origin refs/heads/"${major_version_tag}"
if git --no-pager tag | grep -Eq "^${major_version_tag}$"; then
git tag -d "${major_version_tag}"
git push --delete origin refs/tags/"${major_version_tag}"
fi
git tag "${major_version_tag}"
git checkout main
git branch -d "${major_version_tag}"
)
for tool in "${tools[@]}"; do
(
set -x
git checkout -b "${tool}"
sed -i -e "s/required: true/required: false/g" action.yml
sed -i -e "s/# default: #publish:tool/default: ${tool}/g" action.yml
git add action.yml
git commit -m "${tool}"
git push origin -f refs/heads/"${tool}"
if git --no-pager tag | grep -Eq "^${tool}$"; then
git tag -d "${tool}"
git push --delete origin refs/tags/"${tool}"
fi
git tag "${tool}"
git checkout main
git branch -D "${tool}"
)
done
set -x
git push origin --tags

28
main.js
View File

@@ -1,28 +0,0 @@
// This is a script that just calls the bash script that does the main
// processing of the action. It works like a composite action that calls
// a single bash script.
//
// This was originally a trick adopted to make bash script-based actions work
// without docker before composite actions were supported. However, due to
// various problems with composite actions, this trick is still needed:
// - https://github.com/actions/runner/issues/665
// - https://github.com/actions/runner/issues/2185
// Although there are ways to work around these like cache-cargo-install-action does:
// https://github.com/taiki-e/cache-cargo-install-action/blob/v1.0.1/action.yml#L9-L11
const { execFileSync } = require('child_process');
function main() {
try {
execFileSync(
'bash',
['--noprofile', '--norc', `${__dirname}/main.sh`],
{ stdio: 'inherit' }
);
} catch (e) {
console.log(`::error::${e.message}`);
process.exit(1);
}
}
main();

71
main.sh
View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
set -euo pipefail
IFS=$'\n\t'
@@ -62,7 +62,7 @@ download_and_extract() {
bin_dir="${HOME}/.install-action/bin"
if [[ ! -d "${bin_dir}" ]]; then
mkdir -p "${bin_dir}"
echo "${bin_dir}" >>"${GITHUB_PATH}"
canonicalize_windows_path "${bin_dir}" >>"${GITHUB_PATH}"
export PATH="${PATH}:${bin_dir}"
fi
fi
@@ -137,17 +137,15 @@ read_manifest() {
local manifest
manifest=$(jq -r ".\"${version}\"" "${manifest_dir}/${tool}.json")
if [[ "${manifest}" == "null" ]]; then
bail "version '${version}' for ${tool} is not supported"
download_info="null"
return 0
fi
local exact_version
exact_version=$(jq <<<"${manifest}" -r '.version')
if [[ "${exact_version}" == "null" ]]; then
exact_version="${version}"
else
manifest=$(jq -r ".\"${exact_version}\"" "${manifest_dir}/${tool}.json")
fi
local download_info
local host_platform
case "${host_os}" in
linux)
# Static-linked binaries compiled for linux-musl will also work on linux-gnu systems and are
@@ -191,6 +189,10 @@ read_manifest() {
;;
*) bail "unsupported OS type '${host_os}' for ${tool}" ;;
esac
}
read_download_info() {
local tool="$1"
local version="$2"
if [[ "${download_info}" == "null" ]]; then
bail "${tool}@${version} for '${host_os}' is not supported"
fi
@@ -218,6 +220,10 @@ read_manifest() {
}
download_from_manifest() {
read_manifest "$@"
download_from_download_info "$@"
}
download_from_download_info() {
read_download_info "$@"
download_and_extract "${url}" "${checksum}" "${bin_dir}" "${bin_in_archive}"
}
install_cargo_binstall() {
@@ -275,9 +281,9 @@ snap_install() {
}
apk_install() {
if type -P doas &>/dev/null; then
doas apk add --no-cache "$@"
doas apk --no-cache add "$@"
else
apk add --no-cache "$@"
apk --no-cache add "$@"
fi
}
dnf_install() {
@@ -294,6 +300,12 @@ sys_install() {
fedora) dnf_install "$@" ;;
esac
}
canonicalize_windows_path() {
case "${host_os}" in
windows) sed <<<"$1" 's/^\/c\//C:\\/' ;;
*) echo "$1" ;;
esac
}
# cargo-binstall may call `cargo install` on their fallback: https://github.com/taiki-e/install-action/pull/54#issuecomment-1383140833
# cross calls rustup on `cross --version` if the current directly is cargo workspace.
@@ -395,7 +407,10 @@ esac
tmp_dir="${HOME}/.install-action/tmp"
cargo_bin="${CARGO_HOME:-"${HOME}/.cargo"}/bin"
if [[ ! -d "${cargo_bin}" ]]; then
# If $CARGO_HOME does not exist, or cargo installed outside of $CARGO_HOME/bin
# is used ($CARGO_HOME/bin is most likely not included in the PATH), fallback to
# /usr/local/bin or $HOME/.install-action/bin.
if [[ ! -d "${cargo_bin}" ]] || [[ "${host_os}" != "windows" ]] && [[ "$(type -P cargo || true)" != "${cargo_bin}/cargo${exe}" ]]; then
cargo_bin=/usr/local/bin
fi
@@ -432,13 +447,14 @@ for tool in "${tools[@]}"; do
protoc)
info "installing ${tool}@${version}"
read_manifest "protoc" "${version}"
read_download_info "protoc" "${version}"
# Copying files to /usr/local/include requires sudo, so do not use it.
bin_dir="${HOME}/.install-action/bin"
include_dir="${HOME}/.install-action/include"
if [[ ! -d "${bin_dir}" ]]; then
mkdir -p "${bin_dir}"
mkdir -p "${include_dir}"
echo "${bin_dir}" >>"${GITHUB_PATH}"
canonicalize_windows_path "${bin_dir}" >>"${GITHUB_PATH}"
export PATH="${PATH}:${bin_dir}"
fi
if ! type -P unzip &>/dev/null; then
@@ -454,9 +470,7 @@ for tool in "${tools[@]}"; do
mv "bin/protoc${exe}" "${bin_dir}/"
mkdir -p "${include_dir}/"
cp -r include/. "${include_dir}/"
case "${host_os}" in
windows) bin_dir=$(sed <<<"${bin_dir}" 's/^\/c\//C:\\/') ;;
esac
bin_dir=$(canonicalize_windows_path "${bin_dir}")
if [[ -z "${PROTOC:-}" ]]; then
info "setting PROTOC environment variable"
echo "PROTOC=${bin_dir}/protoc${exe}" >>"${GITHUB_ENV}"
@@ -506,6 +520,17 @@ for tool in "${tools[@]}"; do
continue
fi
# Use cargo-binstall fallback if tool is available but the specified version not available.
read_manifest "${tool}" "${version}"
if [[ "${download_info}" == "null" ]]; then
warn "${tool}@${version} for '${host_os}' is not supported; fallback to cargo-binstall"
case "${version}" in
latest) unsupported_tools+=("${tool}") ;;
*) unsupported_tools+=("${tool}@${version}") ;;
esac
continue
fi
info "installing ${tool}@${version}"
# Pre-install
@@ -521,15 +546,27 @@ for tool in "${tools[@]}"; do
;;
esac
download_from_manifest "${tool}" "${version}"
download_from_download_info "${tool}" "${version}"
;;
esac
info "${tool} installed at $(type -P "${tool}${exe}")"
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
cargo-*) x cargo "${tool#cargo-}" --version ;;
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 ;;
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 ;;
esac
fi
;;
*) x "${tool}" --version ;;
esac
echo

View File

@@ -20,26 +20,26 @@
}
},
"latest": {
"version": "0.19.3"
"version": "0.22.0"
},
"0.19.3": {
"0.22.0": {
"x86_64_linux_musl": {
"checksum": "da46fac978af7d86820d1b6bbd14cfd10187bc25ac14c0236d3de8da7d92a183"
"checksum": "2238080e5e2c4eae5993de478341af6348e10fd9763a95a77e654e6f28268266"
},
"x86_64_macos": {
"checksum": "237a702ac2ee3130bff3624a7296ec471c6b6ff45cc29af30216b50f2124af5d"
"checksum": "3e87999ab63edf3cdd71a3839bd85661c5dea5d763718668b8b3b35b1ac5dbe0"
},
"x86_64_windows": {
"checksum": "053a32c20f44439366fdff80f5106097d6c3d128cb436cb0f425f32ed608d78b"
"checksum": "f656718d44ca4a09ff2231970edc7878a1aa33b6e15790a4884a758144008e27"
},
"aarch64_linux_musl": {
"checksum": "be6c2542f093f393aa72734c96b12a353ec94232afba86fa6e93f25ed6d0669e"
"checksum": "280fc36a0f565d76636aa3aff570c97d1e6fbd6aa08ef315af2cb968054e1d9b"
},
"aarch64_macos": {
"checksum": "ba01100fbd810977b4e12deddfaab0516acc96cded05e00ccb4acfcab7d67f7c"
"checksum": "abb87cb2ef23b552c62dc463777debb31be4a817ef9366509abb245d346e4410"
},
"aarch64_windows": {
"checksum": "22aa13d36cba7d1aee1a531bed53374c6ed3d02daf542fd65eee3c5dad700bc8"
"checksum": "50108bd891a0b6a0044f71d11e09e886a3eec44f4163d44f79a3eed049a484c2"
}
}
}

View File

@@ -1,10 +1,36 @@
{
"template": null,
"latest": {
"version": "0.5.27"
"version": "0.5.28"
},
"0.5": {
"version": "0.5.27"
"version": "0.5.28"
},
"0.5.28": {
"x86_64_linux_musl": {
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.5.28/cargo-hack-x86_64-unknown-linux-musl.tar.gz",
"checksum": "87fb6dbb3e8272ec912f85b80366d0c4784fbcf0fe4e5981bf442efaf29dfe48"
},
"x86_64_macos": {
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.5.28/cargo-hack-x86_64-apple-darwin.tar.gz",
"checksum": "e926dbb2921544835c5e38cd4e3ac3ef5be4b4ab752528f45d805b652df11ee4"
},
"x86_64_windows": {
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.5.28/cargo-hack-x86_64-pc-windows-msvc.zip",
"checksum": "fb3df062d00fa8b7efa42e7a87ff997bd74fab2d83f1a476532b991b86065052"
},
"aarch64_linux_musl": {
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.5.28/cargo-hack-aarch64-unknown-linux-musl.tar.gz",
"checksum": "788308e4504a2676d97847fcc3993f47e8c93c4b43b46b8566b7b18cef01093f"
},
"aarch64_macos": {
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.5.28/cargo-hack-aarch64-apple-darwin.tar.gz",
"checksum": "47c3390818b5f434a4697aeff0f71f4f69b7e7c2df946b74cce45e2bb0fc8dfd"
},
"aarch64_windows": {
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.5.28/cargo-hack-aarch64-pc-windows-msvc.tar.gz",
"checksum": "c38da73a61a3600aed98d4ee00bce0c64bca4b4e2200112f55011872d420ead5"
}
},
"0.5.27": {
"x86_64_linux_musl": {

View File

@@ -17,10 +17,44 @@
}
},
"latest": {
"version": "0.5.9"
"version": "0.5.11"
},
"0.5": {
"version": "0.5.9"
"version": "0.5.11"
},
"0.5.11": {
"x86_64_linux_musl": {
"checksum": "3bd355e29b8e29d0b42f0c95ec487cd8e00ffa419ba65b83968740a641a46c1e"
},
"x86_64_macos": {
"checksum": "fe0e54836a367697a1b475440af2e7438e56caf6e548b88faa88edc221a515f7"
},
"x86_64_windows": {
"checksum": "528202a08b47ca579722db1949da2362a7f03fe0ea84a45d6679dc73d33603e9"
},
"aarch64_linux_musl": {
"checksum": "479f51fac713151f73ee0ab5d7cb1155646cde17903dfd7c526cd51253e99a4c"
},
"aarch64_macos": {
"checksum": "276d8fa70299ec9ae014cab905cdbd614d6bddfa6abcc414492091585dd55ab5"
}
},
"0.5.10": {
"x86_64_linux_musl": {
"checksum": "6ff31ac54aacc133c8d462c99b353dc31924aa9d0bc088ffdd8caa8cc7a14be4"
},
"x86_64_macos": {
"checksum": "a0924478bfd7a62711d8e9186470dfbb2a00ed22dba704bcd98f65dc41fd5ec7"
},
"x86_64_windows": {
"checksum": "3504347f7bdde8fa7c73e938c3cbce5397418799f9125ee3729e7168e387e5c0"
},
"aarch64_linux_musl": {
"checksum": "c395bb8834c779b1bb5a2e0d8302eeec1ef389ee980b47b21f4573181c769786"
},
"aarch64_macos": {
"checksum": "3935ac3f3e4af883f698d5e41dae9b3d248ce0a606b0520b739d5e967d78a10e"
}
},
"0.5.9": {
"x86_64_linux_musl": {

View File

@@ -17,10 +17,44 @@
}
},
"latest": {
"version": "0.9.49"
"version": "0.9.51"
},
"0.9": {
"version": "0.9.49"
"version": "0.9.51"
},
"0.9.51": {
"x86_64_linux_gnu": {
"checksum": "5cbf80e72737d63a601f139d6ff1c42ca9cf6204cd7991f7d6ce7458f2c12bbc"
},
"x86_64_linux_musl": {
"checksum": "2d7def02b6b795b7b44fe2cca9b1b9e77bcb4c8903957ad502f60f45a2f92e9a"
},
"x86_64_macos": {
"checksum": "607c0cac7d659bb957af12a136756821771b9d91f03ccae24b255363e7fcbfda"
},
"x86_64_windows": {
"checksum": "4a97e5ab319af4347549e8414df2af5af7d9f8b4cee8650bad0111d2007711b2"
},
"aarch64_linux_gnu": {
"checksum": "8da18d12f95280bf1a7bde6e13cb8e1e2ea877acc4e826c27ab6c5df653fafca"
}
},
"0.9.50": {
"x86_64_linux_gnu": {
"checksum": "4586cfb628f70f6493d9f861b0c71dbe66622128e935ca3c922010bd460673ba"
},
"x86_64_linux_musl": {
"checksum": "c8b766b6bc28018b8a2c0597b97dd8183fe5a81ddd51fbcc1e9892147887eca3"
},
"x86_64_macos": {
"checksum": "77405db34f1191cc6979b3e291e7aaf587a40ee231cbccbe1885fd89e31ee577"
},
"x86_64_windows": {
"checksum": "6e8a2f4deeb4ade48f4424a65db13bd5122dec73d59a4eeac51c13eb997e1bdf"
},
"aarch64_linux_gnu": {
"checksum": "ebb3198673a199518548af5f8c1a5be7e15a85e9ca5c3978caeb7e0cd09f2969"
}
},
"0.9.49": {
"x86_64_linux_gnu": {

View File

@@ -20,10 +20,30 @@
}
},
"latest": {
"version": "0.2.1"
"version": "0.2.2"
},
"0.2": {
"version": "0.2.1"
"version": "0.2.2"
},
"0.2.2": {
"x86_64_linux_musl": {
"checksum": "06871d1243c12568ec1df16d1fe663413b86ac4b9993f208e8b683a9d6fb2c95"
},
"x86_64_macos": {
"checksum": "cd0570a4f415b30d31f48b12c8ccc1f3d197c9b552177a6402519cbcadde178b"
},
"x86_64_windows": {
"checksum": "88cd59cb5d1983778ade830346ab9901d1843ec9a3b098191f465cf31a9e6c47"
},
"aarch64_linux_musl": {
"checksum": "c9abe175390970139bf2afbc0fabab414c6b9549dee4216514513ce03643a8b7"
},
"aarch64_macos": {
"checksum": "10514a7ef5bfc29e6bfe2ffbb7130f80f30b7a2d63faadd2f5bddb36ec66d922"
},
"aarch64_windows": {
"checksum": "daa55434f81cc7711bef1f0f938540647bcde18458f429a0d03ccde617ff7144"
}
},
"0.2.1": {
"x86_64_linux_musl": {

79
manifests/cargo-tarpaulin.json generated Normal file
View File

@@ -0,0 +1,79 @@
{
"template": {
"x86_64_linux_musl": {
"url": "https://github.com/xd009642/tarpaulin/releases/download/${version}/cargo-tarpaulin-x86_64-unknown-linux-musl.tar.gz"
},
"x86_64_macos": {
"url": "https://github.com/xd009642/tarpaulin/releases/download/${version}/cargo-tarpaulin-x86_64-apple-darwin.tar.gz"
},
"x86_64_windows": {
"url": "https://github.com/xd009642/tarpaulin/releases/download/${version}/cargo-tarpaulin-x86_64-pc-windows-msvc.zip"
},
"aarch64_linux_musl": {
"url": "https://github.com/xd009642/tarpaulin/releases/download/${version}/cargo-tarpaulin-aarch64-unknown-linux-musl.tar.gz"
},
"aarch64_macos": {
"url": "https://github.com/xd009642/tarpaulin/releases/download/${version}/cargo-tarpaulin-aarch64-apple-darwin.tar.gz"
}
},
"latest": {
"version": "0.25.1"
},
"0.25": {
"version": "0.25.1"
},
"0.25.1": {
"x86_64_linux_musl": {
"checksum": "3af89e49bb98caf0ce01f87bbe4493dd4219e0e47aa577149fb3d9046b39965a"
},
"x86_64_macos": {
"checksum": "8db642f0bcc15e1ad76794addd4e82911b79c7721dbd01f6113aab6636a36d41"
},
"x86_64_windows": {
"checksum": "a82851fd9bb3520acfd33073b6a01363f80fb8fdcf5bb5334e288894d939d5b4"
},
"aarch64_linux_musl": {
"checksum": "87cd75d72a83009cb042e5a844f265e455ff8525dc77c0806a52a824702ba259"
},
"aarch64_macos": {
"checksum": "cf45f5f58432aaf861a7ea051e01d9f9f08d1548bcab331f3eeea29d0f82f060"
}
},
"0.25.0": {
"x86_64_linux_musl": {
"checksum": "e6ae2d11e684ee20f3860b1833de6fcb6ac44db5fc49a82a179bb969924870f3"
},
"x86_64_macos": {
"checksum": "94039bab671b054781df301191673c651bbe03cdf04d2f5cb4b7ff0055c0d08e"
},
"x86_64_windows": {
"checksum": "a3eb302b531a4b4efd3456e54b4a2f3c921aabcb9d54d81334fdef96f00170aa"
},
"aarch64_linux_musl": {
"checksum": "59d55dc3070ac2b297ad3695f9a73398392c2446678c616688635e0c4bec6574"
},
"aarch64_macos": {
"checksum": "65d03b2414b12f4fbfb1e1014ac42fa1deb9d91e69b29cd68952ae97722a1165"
}
},
"0.24": {
"version": "0.24.0"
},
"0.24.0": {
"x86_64_linux_musl": {
"checksum": "34969bccced3bdd7c34672011b7088beb3258bb27554294709171c394b04b40f"
},
"x86_64_macos": {
"checksum": "82f8dae075b18a2783616f35f03a999986ea6a7e0b581c7df97d74a68d172e76"
},
"x86_64_windows": {
"checksum": "26f639abbacf829a1e1c1ee966828c97c92606a132cd32b4e7e2c4406f6a5a36"
},
"aarch64_linux_musl": {
"checksum": "c06411dd38a095e3ce8f085aeaa6adc802094ea0a2c88fcf89a59e17f2a21597"
},
"aarch64_macos": {
"checksum": "e7ea6ff1c427ab262df5490eb15b49dfecf11ec557d90609de0898f94baba3b2"
}
}
}

18
manifests/cross.json generated
View File

@@ -1,10 +1,24 @@
{
"template": null,
"latest": {
"version": "0.2.4"
"version": "0.2.5"
},
"0.2": {
"version": "0.2.4"
"version": "0.2.5"
},
"0.2.5": {
"x86_64_linux_musl": {
"url": "https://github.com/cross-rs/cross/releases/download/v0.2.5/cross-x86_64-unknown-linux-musl.tar.gz",
"checksum": "a486cefa6cb486971b97be321ea9dfc2e90c1979550295314a368f53fab6d588"
},
"x86_64_macos": {
"url": "https://github.com/cross-rs/cross/releases/download/v0.2.5/cross-x86_64-apple-darwin.tar.gz",
"checksum": "84a664edbd5405efc985e9423804cc63d12e55691b9c7e9729355fdf7b9af015"
},
"x86_64_windows": {
"url": "https://github.com/cross-rs/cross/releases/download/v0.2.5/cross-x86_64-pc-windows-msvc.tar.gz",
"checksum": "3d4d6dbebf448b1f6856c662b2b342db0a7f6827e91ed88e2bf0e5ca00a30a81"
}
},
"0.2.4": {
"x86_64_linux_musl": {

75
manifests/dprint.json generated
View File

@@ -20,10 +20,81 @@
}
},
"latest": {
"version": "0.34.4"
"version": "0.35.3"
},
"0.35": {
"version": "0.35.3"
},
"0.35.3": {
"x86_64_linux_musl": {
"checksum": "05c109b7174c76345d04903fb6e16548de6ae684b24fc3849dccaa9e940fe5f0"
},
"x86_64_macos": {
"checksum": "1a80a4156e86c3d3d6ad4725bc0638a2456363bff4216d1cfd52cae899544cc1"
},
"x86_64_windows": {
"checksum": "720bdac6fbd322908d9b8d3615ae72d8c79ac4c557f43a6ce7980b7e190d6f4d"
},
"aarch64_linux_gnu": {
"checksum": "d285f1f0a6688c446049dce02ca612794ea4ad0bcbc865d8aa6cad59e843576d"
},
"aarch64_macos": {
"checksum": "49f814ef2899c3684564a3fa46c17453850c3105aff1f3a88ff3babaadc054bd"
}
},
"0.35.1": {
"x86_64_linux_musl": {
"checksum": "0e472818121e092a41c36cfcedee1021f8e4133465d97b85572448b35e322d6b"
},
"x86_64_macos": {
"checksum": "f8e19f55f37dc43cc9394ccf5ef2968f525e11d68f5cd8025653c3c20caeb6f6"
},
"x86_64_windows": {
"checksum": "023561f7af69f27a0185a58d6a5aecf5d402430bfc865db95d80b83f364ab7ec"
},
"aarch64_linux_gnu": {
"checksum": "9c584fd4a55e6d8ae5edc5cf26bf87388eee2634f98af5f4653e3136ebbc619f"
},
"aarch64_macos": {
"checksum": "4b597e335aaaeebb62df1a1cb395fe10a53d0877e3fcbb872cb67e033b92a6a8"
}
},
"0.35.0": {
"x86_64_linux_musl": {
"checksum": "e5bf6ea8fb9a9b236c8b03415a33e524e6721414a94786853be84e8d6a17351a"
},
"x86_64_macos": {
"checksum": "8b42979146ee9b9f064ba1fe6062fe33f5d9e776ff2e96710747fe7dd9a727e7"
},
"x86_64_windows": {
"checksum": "454e10f765a5e5d3c8de29f0ddc5f74f33f9127d70fc8d7a41cd0c7b1bbd14ee"
},
"aarch64_linux_gnu": {
"checksum": "1fcba163e11d34bbca766385612e593b4c69ff23826ae18c8720dd09e05b23ac"
},
"aarch64_macos": {
"checksum": "28bef4e5b980e78b311bb8d25ee0c6f807d6d40736782438682c6308b2be9010"
}
},
"0.34": {
"version": "0.34.4"
"version": "0.34.5"
},
"0.34.5": {
"x86_64_linux_musl": {
"checksum": "ad0296a8f4614a57e107df57e4f1f0f25ac32aeebdc201396160b5d046c26f55"
},
"x86_64_macos": {
"checksum": "1b23e31fe318115bfcecc4b8025b8146d2c1e160092629c930feeffd02d7e802"
},
"x86_64_windows": {
"checksum": "c98ecc413a40fd275d3d0aaaa245169926cdab27de17d732a9709dad9491fb3c"
},
"aarch64_linux_gnu": {
"checksum": "21dd3aa277e35184fb6c4ebca899b7c4ddbb2a25035edee75d0c927443d5f7e3"
},
"aarch64_macos": {
"checksum": "42bd63c2436bbcd058d7fb38bb540a4cdc576e109ce90f607103159dc5bbe1bf"
}
},
"0.34.4": {
"x86_64_linux_musl": {

64
manifests/mdbook.json generated
View File

@@ -17,10 +17,52 @@
}
},
"latest": {
"version": "0.4.25"
"version": "0.4.28"
},
"0.4": {
"version": "0.4.25"
"version": "0.4.28"
},
"0.4.28": {
"x86_64_linux_musl": {
"checksum": "84e3a4982c19e19b1d058af30b8835097109f520cb6c2e9e03413a896c9787aa"
},
"x86_64_macos": {
"checksum": "46605497fac2a379a02fa7287c0e4601a0cdfa2f913a4f1a06d820d91c0c310e"
},
"x86_64_windows": {
"checksum": "996bc212502e51da1d69090134d13cf51ff21e478be9b7e2aeb1d330c7865e35"
},
"aarch64_linux_musl": {
"checksum": "86b01509773e4011a9372de2932ceb0fdd52063153c7a673f63eeacf16c8426b"
}
},
"0.4.27": {
"x86_64_linux_musl": {
"checksum": "44ee34f8a6a1e0788f870c0bfd890dfce112c70f63e7254c5d8f20525600bc7b"
},
"x86_64_macos": {
"checksum": "107461b477c512c9c9deeed051abf9bbb25858867dc2f0f493fc7c2fadfc3532"
},
"x86_64_windows": {
"checksum": "18c7eea09bee53f539a11ec965547147afc2083c4cac22563b724aecf57b57bb"
},
"aarch64_linux_musl": {
"checksum": "4b7a489f1ba35b0b95dfb026b2e46d7e11fb593f2074afb2be10db0f56530dd2"
}
},
"0.4.26": {
"x86_64_linux_musl": {
"checksum": "8a6334a932f2adf05c2647e86e9ef028714717c0a8e57b1e2d9c85f251f1a734"
},
"x86_64_macos": {
"checksum": "14b9d933d5bbc7a4ef4ba476d7fb8ec5d3c4b42a33c0883e6d1ff3b2ef51738d"
},
"x86_64_windows": {
"checksum": "60c3fa5cd51383dd4e4bc22ded1cca92c5f9b97540ac458cad62b660f9c9a43c"
},
"aarch64_linux_musl": {
"checksum": "4461322990ab3b3e65005fdf3b28c4e083cd8504834babf2ad726701596197bf"
}
},
"0.4.25": {
"x86_64_linux_musl": {
@@ -425,23 +467,7 @@
}
},
"0.1": {
"version": "0.1.10"
},
"0.1.10": {
"x86_64_linux_gnu": {
"checksum": "b6b2bb3b95ab4ff02c2f1bbaa1b55c2e51805655432e35e4c3cdb30a2c4acdcf"
},
"x86_64_windows": {
"checksum": "a85dc3a8ad10dacf8d01f427e8935cb4247e45b31b98e2ac2fa5e0f49ff9ce97"
}
},
"0.1.9": {
"x86_64_linux_gnu": {
"checksum": "cfb1a52d0fa649529b0498600bd9b3d0aa8050bbc7847f8095dc9293b8fa2c4c"
},
"x86_64_windows": {
"checksum": "bf1a977de7dd5ff6da2985c3051d6e0f8d410fbd32c2095a00896db192c32cd8"
}
"version": "0.1.8"
},
"0.1.8": {
"x86_64_linux_gnu": {

73
manifests/protoc.json generated
View File

@@ -1,10 +1,79 @@
{
"template": null,
"latest": {
"version": "3.21.12"
"version": "3.22.2"
},
"3": {
"version": "3.21.12"
"version": "3.22.2"
},
"3.22": {
"version": "3.22.2"
},
"3.22.2": {
"x86_64_linux_gnu": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v22.2/protoc-22.2-linux-x86_64.zip",
"checksum": "15f281b36897e0ffbbe3a02f687ff9108c7a0f98bb653fb433e4bd62e698abe7"
},
"x86_64_macos": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v22.2/protoc-22.2-osx-x86_64.zip",
"checksum": "8bb75680c376190d960ef1d073618c1103960f70dc4fafa7bde872029562aec1"
},
"x86_64_windows": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v22.2/protoc-22.2-win64.zip",
"checksum": "6c2bba387b8a3d2d254eddb68376217314de8d6e9b3a43d3cd2e69c054457638"
},
"aarch64_linux_gnu": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v22.2/protoc-22.2-linux-aarch_64.zip",
"checksum": "aa2efbb2d481b7ad3c2428e0aa4dd6d813e4538e6c0a1cd4d921ac998187e07e"
},
"aarch64_macos": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v22.2/protoc-22.2-osx-aarch_64.zip",
"checksum": "a196fd39acd312688b58e81266fd88e9f7799967c5439738c10345a29049261d"
}
},
"3.22.1": {
"x86_64_linux_gnu": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v22.1/protoc-22.1-linux-x86_64.zip",
"checksum": "3c830b09192a8c40c599856eb184c89ee5029d7dab9df8ec6d3d6741dcb94b93"
},
"x86_64_macos": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v22.1/protoc-22.1-osx-x86_64.zip",
"checksum": "3cc8d30d8bffc63bb2b8b0aea0d6a126acb4f69d4c720c142f7de6b9f4f562c6"
},
"x86_64_windows": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v22.1/protoc-22.1-win64.zip",
"checksum": "359a390f6124c067026e212995e402d2e6fcd525d07e3b69d1d81cb06b5690f2"
},
"aarch64_linux_gnu": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v22.1/protoc-22.1-linux-aarch_64.zip",
"checksum": "204e23069dc59bda1df5d66425c12373be39d71946fa378c3d7af44abbd651e9"
},
"aarch64_macos": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v22.1/protoc-22.1-osx-aarch_64.zip",
"checksum": "213e82e423baf44bad1eef99cf3e21d52ce1ac2942e3bbd25a63b1f737cf6ec6"
}
},
"3.22.0": {
"x86_64_linux_gnu": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v22.0/protoc-22.0-linux-x86_64.zip",
"checksum": "9ceff6c3945d521d1d0f42f9f57f6ef7cf3f581a9d303a027ba19b192045d1a2"
},
"x86_64_macos": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v22.0/protoc-22.0-osx-x86_64.zip",
"checksum": "1e0ad38fcf20a4b1cdeffe40f9188c4d1c30a9dd515cf92c8b57f629227f0eb3"
},
"x86_64_windows": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v22.0/protoc-22.0-win64.zip",
"checksum": "dd2a24c091f684ce9589fc76f9b5ed55dffdc0e0733bde20112f32b00771dbdb"
},
"aarch64_linux_gnu": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v22.0/protoc-22.0-linux-aarch_64.zip",
"checksum": "af403bd3009132b418b364e9df29cdbecff5f6ab560c392d48e9944f708d7778"
},
"aarch64_macos": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v22.0/protoc-22.0-osx-aarch_64.zip",
"checksum": "834f35b26082ff2dc372df17cae4a4b7cded944756f1c99bac8c624214b542cc"
}
},
"3.21": {
"version": "3.21.12"

84
manifests/shfmt.json generated
View File

@@ -562,89 +562,5 @@
"x86_64_windows": {
"checksum": "ee3361b6acf5c72ca82a917aeceacd06fdcd46c527ad9747408159afd9227a29"
}
},
"0.6": {
"version": "0.6.0"
},
"0.6.0": {
"x86_64_linux_gnu": {
"checksum": "7128d4740d90757582447c0b844734f90090ef25bc332627d40952dd06a069c2"
},
"x86_64_macos": {
"checksum": "74144cafbde2cbfd154750010b317e5c2c235c45378436f2d52706dc7b7031c6"
},
"x86_64_windows": {
"checksum": "9001f87e18da4d8b8bbb26a59a49d6680ce0e2622dc9da85bd952819352bef66"
}
},
"0.5": {
"version": "0.5.0"
},
"0.5.0": {
"x86_64_linux_gnu": {
"checksum": "10978caae768eb5d2fff232365d5e20bb0120e0ca158b9b3683f805c904453b6"
},
"x86_64_macos": {
"checksum": "28dbc9bf5f5e1b5ac335f3f0989cc6fd4eb75e22c8a399cde50b06ce2b499fd7"
},
"x86_64_windows": {
"checksum": "82fc820eeb35a0d46514fb780e13b6a21b841d7c13b8c8cede8bf20598a11f6f"
}
},
"0.4": {
"version": "0.4.0"
},
"0.4.0": {
"x86_64_linux_gnu": {
"checksum": "8b889ee066e52b6f85da7c2f435feec5f2d28c47c5465909ecd9b2075451b50c"
},
"x86_64_macos": {
"checksum": "e1c949d88e4bd2b56568195ed437d282d9112b02b32b9d6a11871d5a4b85c670"
},
"x86_64_windows": {
"checksum": "baa162439b5218c4fcf161e8ed366cf1327eff8919b73469410c77f3b20b07ea"
}
},
"0.3": {
"version": "0.3.0"
},
"0.3.0": {
"x86_64_linux_gnu": {
"checksum": "9a87d9580f9700c3d8add881a2786b122b83aa31fcf8342f8929c0a93934ba7b"
},
"x86_64_macos": {
"checksum": "45a05100ce9747281b028fddea59a29a42b9ddda075ec5f57558c1fd5fb732cc"
},
"x86_64_windows": {
"checksum": "af087f9f7b88290118e8d4595b6f663414f2af131996d4241929ee3c733961af"
}
},
"0.2": {
"version": "0.2.0"
},
"0.2.0": {
"x86_64_linux_gnu": {
"checksum": "224569dd672129ed52865783cd010a5f6e389bd006cce9343bf517506491358e"
},
"x86_64_macos": {
"checksum": "3d7e8f541ae882c2a78594f89124fb101e50e3b974b6d02b091b4ba901644e51"
},
"x86_64_windows": {
"checksum": "c9fa54aaf72bb08fa44981919e3d1e365a7528e5f393fb8679c4ac2292cfa583"
}
},
"0.1": {
"version": "0.1.0"
},
"0.1.0": {
"x86_64_linux_gnu": {
"checksum": "9275582a78ed270142ea9aa37cb28f7f274494c603a5db8d90792a2e06ccfaa0"
},
"x86_64_macos": {
"checksum": "715d64e1f918b8a17e04ee5ed9e392720f9fa9255a45c9fdbbee50c57ee7bafc"
},
"x86_64_windows": {
"checksum": "24f38f71a9d39e800a104b63b1b60b6b0bbd313bc01c15c218f8ff6fada90148"
}
}
}

View File

@@ -18,7 +18,24 @@
}
},
"latest": {
"version": "0.10.3"
"version": "0.11.0"
},
"0.11": {
"version": "0.11.0"
},
"0.11.0": {
"x86_64_linux_musl": {
"checksum": "f3041ac5fda684d09b28ca23555c2f24cac9d6eef57ee4ef3f29fdab1c19fe24"
},
"x86_64_macos": {
"checksum": "5da38cb10536e6fe686402f5af94ea48a4b94dca9bde931bf117ddce3e746f0e"
},
"x86_64_windows": {
"checksum": "10092618d9451bace4f727d344f19a02dda4a28ffd527272595f88b8c15efec9"
},
"aarch64_linux_musl": {
"checksum": "ebc6339762f95385081a06ce3ac8d5846e7267011bc028266009cf3b4ff0f81c"
}
},
"0.10": {
"version": "0.10.3"

View File

@@ -22,7 +22,70 @@
}
},
"latest": {
"version": "5.0.0"
"version": "7.0.0"
},
"7": {
"version": "7.0.0"
},
"7.0": {
"version": "7.0.0"
},
"7.0.0": {
"x86_64_linux_gnu": {
"checksum": "b8a1c97f9107c885ea73a5c38677d0d340a7c26879d366e8a5f3dce84cffec99"
},
"x86_64_macos": {
"checksum": "70596a9f8fcf0b2467877cb184f41f6b451ade4ac74d1e0bb8986bbfbac925b4"
},
"x86_64_windows": {
"checksum": "bf796c35020df2df3a29475949e0330ea3fd47bbfd719d2959564c3e32a8c1a7"
},
"aarch64_linux_gnu": {
"checksum": "723171912c7cd6332c1ac599851dd04dcb107f60a9f18d9d2d3bd319e3c2c6ba"
},
"aarch64_macos": {
"checksum": "8e66af9cb46726f2c9b22f96cd8a08a5f1112d2f02f13f84ff2167444b14366e"
}
},
"6": {
"version": "6.0.1"
},
"6.0": {
"version": "6.0.1"
},
"6.0.1": {
"x86_64_linux_gnu": {
"checksum": "9fdc5f4cd679d77c42f6333793cd66ecca45347e4cbbeaf06cb0300f27ac5119"
},
"x86_64_macos": {
"checksum": "b9a3fff59995da204649123872126f08d4719c339be58a22f59768087e87c4e5"
},
"x86_64_windows": {
"checksum": "366b6a598165c3e20b99ba32f1aad1c6373f1f52104ce2e5decafc9e1cba73ec"
},
"aarch64_linux_gnu": {
"checksum": "dc6e69b1a90e2a35ea3d89284e3a1898df8d6dc4ea55c6fec3ae7e35b752a0fc"
},
"aarch64_macos": {
"checksum": "00e738f78448ae41f99f7c2c648277ef56a725198e33486191f2c0772bcd7ae1"
}
},
"6.0.0": {
"x86_64_linux_gnu": {
"checksum": "19090d9f0b6320d69908c3a9d3915c1b8149555d971061eda462edc0e212e0d3"
},
"x86_64_macos": {
"checksum": "c5a817ed5b3e31301a74011459a8a4b887265fcaf32106f7455d1be44419b305"
},
"x86_64_windows": {
"checksum": "43ca5c47c396fbf1edbf6de06841be0be296b11d17e5753cb1266bd3c5653f28"
},
"aarch64_linux_gnu": {
"checksum": "465156922e11e423730f2884d3c5ecf781a27098d58c7b6b4388d739d30bb7f3"
},
"aarch64_macos": {
"checksum": "f6c128aaea4aa7a1bb74d1d3eb00a82ea083208419345176af22afb9634ec7ae"
}
},
"5": {
"version": "5.0.0"
@@ -893,19 +956,5 @@
"x86_64_windows": {
"checksum": "1038ed20f40cdddd50144ee3ad7ab3fc9381f4eb32b48507e154458f14c1e702"
}
},
"0.3": {
"version": "0.3.0"
},
"0.3.0": {
"x86_64_linux_gnu": {
"checksum": "10055761c5d347d7307e829d4932b9b400318399a5b067d9b2d4ce9327575915"
},
"x86_64_macos": {
"checksum": "0b29e2132fcd57ba82fe231284861b6d0c3924454c7907474549450958b6664e"
},
"x86_64_windows": {
"checksum": "ed9f565ba2851a2eac6497bdb91933b426f936ce3b6e525fdacd5c6c1053167f"
}
}
}

319
manifests/zola.json generated Normal file
View File

@@ -0,0 +1,319 @@
{
"template": {
"x86_64_linux_gnu": {
"url": "https://github.com/getzola/zola/releases/download/v${version}/zola-v${version}-x86_64-unknown-linux-gnu.tar.gz"
},
"x86_64_macos": {
"url": "https://github.com/getzola/zola/releases/download/v${version}/zola-v${version}-x86_64-apple-darwin.tar.gz"
},
"x86_64_windows": {
"url": "https://github.com/getzola/zola/releases/download/v${version}/zola-v${version}-x86_64-pc-windows-msvc.zip"
}
},
"latest": {
"version": "0.17.2"
},
"0.17": {
"version": "0.17.2"
},
"0.17.2": {
"x86_64_linux_gnu": {
"checksum": "48742322fc0660afb22a4ce194e9b2bd610b5bd36f43abe121e56eb8a704b464"
},
"x86_64_macos": {
"checksum": "5e17a54c9b1db55ae71d49587b399b8b39bdee8cbb4a198ab6449c3e0f9ad21e"
},
"x86_64_windows": {
"checksum": "89c504756a2c34f8540adf7eee83a8f1b61527bc55daa7e42481a0c727cae88f"
}
},
"0.17.1": {
"x86_64_linux_gnu": {
"checksum": "f1ddbe0c1b0672da6eeb959eeb3f311b915ecc18719963934bcbc0c62783b711"
},
"x86_64_macos": {
"checksum": "96eb9ce229bdfb34cdcc05f540c965e0ad4104a253729bb6e3d2b7b3a57044a7"
},
"x86_64_windows": {
"checksum": "be0ea09c178a01bc04c1444349676a59b31c7a97930a5461fc170b3947ea4553"
}
},
"0.17.0": {
"x86_64_linux_gnu": {
"checksum": "41f8a78b85d4a138581dff468fa5a01378c7f7afeaf2d81524c45a9fba8988ad"
},
"x86_64_macos": {
"checksum": "41d69c8995f6a77acc3d0a0389de06f42000e8362264f6bd2c8ac12a7124827b"
},
"x86_64_windows": {
"checksum": "6e92a4186e2a5ddd61bc388c2d28558060e352d39e7ddb0985463e14728523da"
}
},
"0.16": {
"version": "0.16.1"
},
"0.16.1": {
"x86_64_linux_gnu": {
"checksum": "a8a4205b7fdd817d9866d1a4b4b8d53c206177bd7e95b37e35cb5f830b0e6234"
},
"x86_64_macos": {
"checksum": "cb14676dfbfbf3252315196515ab386a63d3a336b18bdcc632d8e31c0a4c791b"
},
"x86_64_windows": {
"checksum": "b19b8317a9a0d53339df8a5d910af0682abad5c65f593d58fcc35c6d00ab8732"
}
},
"0.16.0": {
"x86_64_linux_gnu": {
"checksum": "88cde8f1edfe609a9ae8a7a95226d3ae9bb62279c5c5254d9f5984ab843529a1"
},
"x86_64_macos": {
"checksum": "e31e0fcce6da8777b8a3c2475d55fa98c513224dabefb4274da2cd0094f441fc"
},
"x86_64_windows": {
"checksum": "38a6b2ddeac3c32aff948ad4b07d7479d89115dce3f07adde6d5a53844f23c95"
}
},
"0.15": {
"version": "0.15.3"
},
"0.15.3": {
"x86_64_linux_gnu": {
"checksum": "7952bf166f29caeec595a299d94bc7da6ad5ba9ae71ea8bae142e2322faf821d"
},
"x86_64_macos": {
"checksum": "3a8a9b137b87fdee546ab5f12c9eb7b2e33a554349c95c4a9ae4c1599e06538f"
},
"x86_64_windows": {
"checksum": "d806e1e2e954369f350b6de9d755374fb57f8e820bf8e8df18e6c2db9daf9443"
}
},
"0.15.2": {
"x86_64_linux_gnu": {
"checksum": "d067e8261f0a9121ea0388616f74fcba4b1ed87df8ea78ca20a577424c15fa20"
},
"x86_64_macos": {
"checksum": "e39c94158bb8f0dd0af3c1fcf1b52845a49ed6ab87721f2dd3bf0ba05294327a"
},
"x86_64_windows": {
"checksum": "c265ac94c33caf89d900963994568440e200a0620e4d6a1092fc35a1fca17b33"
}
},
"0.15.1": {
"x86_64_linux_gnu": {
"checksum": "57c69a4f651567a9507b73ced6ec3c04f3ec20487877657502a04be93748f204"
},
"x86_64_macos": {
"checksum": "847a24fe21676aa4ded670dd6850444792bd98d4713677067c472450a72b3d9c"
},
"x86_64_windows": {
"checksum": "3da07da833704265e5751435fbafc64eb58326f3b9069f4bc1fed9dfb75f7226"
}
},
"0.15.0": {
"x86_64_linux_gnu": {
"checksum": "901a330100d5f265c7a00821bef564dd7353b2b0884b80996ba4592b635a7ad3"
},
"x86_64_macos": {
"checksum": "8461c39034c2606a9a7b65f6f1c964f322707d262ec83fd271cb468ae71389f9"
},
"x86_64_windows": {
"checksum": "eb248641acdb341d457c9a3d2560c7877f9d528a061582fa9636a69dea9d9dac"
}
},
"0.14": {
"version": "0.14.1"
},
"0.14.1": {
"x86_64_linux_gnu": {
"checksum": "4223f57d9b60ad7217c44a815fa975b2229f692b7ef3de4b7ce61f1634e8dc33"
},
"x86_64_macos": {
"checksum": "754d5e1b4ca67a13c6cb4741dbff5b248075f4f4a0353d6673aa4f5afb7ec0bf"
},
"x86_64_windows": {
"checksum": "62bf50a6e2b606faf80cdf9112deca945fe89f67863fb06f793c27a26c968a91"
}
},
"0.14.0": {
"x86_64_linux_gnu": {
"checksum": "4b68ec636b858178095873c038f21d24640220295f70b7a9f2e82109aa451926"
},
"x86_64_macos": {
"checksum": "23b91e138ca6d16ad7560ca2d13dcf80ecdf382bed1548297791f4920bfc10c4"
},
"x86_64_windows": {
"checksum": "fad6516c9b9ecf294d047dd24195f521a8ece662249bc937f380fa154a30a43d"
}
},
"0.13": {
"version": "0.13.0"
},
"0.13.0": {
"x86_64_linux_gnu": {
"checksum": "1a919e00cce61e30c31cd8d0979349ecd3f7c1666d32fa77314cbfbb89447adb"
},
"x86_64_macos": {
"checksum": "2b3f5f2d7b2368ba128344170e5ca0dc0e1e46f322baf1048d3e206c35258975"
},
"x86_64_windows": {
"checksum": "7e603c8b0da95a4f01f833d7d4664209b4ec3ad72fca5e59be99020f99086c12"
}
},
"0.12": {
"version": "0.12.2"
},
"0.12.2": {
"x86_64_linux_gnu": {
"checksum": "572e34c4c2b874f9704fb8512abea84532623f7567996bac456291a21c1b2595"
},
"x86_64_macos": {
"checksum": "f9e2018c5f4989ee38055c9c876438f83988e574e8acfe68780e13a1b466713a"
},
"x86_64_windows": {
"checksum": "b6d731a9abd2364bcf1d4e0d5390c3dbf4ac8044bf06df124806420115e2d74b"
}
},
"0.12.1": {
"x86_64_linux_gnu": {
"checksum": "fdca646be87e05213b7306d04247c4226c1d514aee96ef390935545aee84a074"
},
"x86_64_macos": {
"checksum": "095d6844af1fcda969ec656d44b0b21c2952472319c12285630883ce73633ca8"
},
"x86_64_windows": {
"checksum": "370871760201d29c7fd4f492b716dbf501aed9ba1992c282f3eedf672443b548"
}
},
"0.12.0": {
"x86_64_linux_gnu": {
"checksum": "c955228d468b9233bd66417b0f39c078f510f8adf1a6138bbe7e80423198224b"
},
"x86_64_macos": {
"checksum": "5c1d6dc3978970f33beea3ac252a9303ca5d179fce988de4e55a4cb99ee74237"
},
"x86_64_windows": {
"checksum": "ea07d70d62f573cf51f8f5ba89c9fab0cff15f2cbdd5e39d897f6ee3d9855897"
}
},
"0.11": {
"version": "0.11.0"
},
"0.11.0": {
"x86_64_linux_gnu": {
"checksum": "8afe40edff5e995afdc132e02442d24eb633ef4b6e81913d69cf97f17905b9c3"
},
"x86_64_macos": {
"checksum": "346d14a914de0d33adc25e7fb70abc02aca9e2cf808283538d4bb5b3cebfcb56"
},
"x86_64_windows": {
"checksum": "d95ed0d652e8ce2d904eaafc369c796bea9b593d5808e10b033e14edea93534a"
}
},
"0.10": {
"version": "0.10.1"
},
"0.10.1": {
"x86_64_linux_gnu": {
"checksum": "7bce21ad56d0cab213b5b9188076b93d9d130b9b046cd118305dc2b9b43b84b8"
},
"x86_64_macos": {
"checksum": "b1a5583421bb370a2e345ebef9a549fe44d58aecfbb67b1e619f5dd6990fcd44"
},
"x86_64_windows": {
"checksum": "459f358b4210a8d53a440f957a4c69b12c663dd4c4939c02d0d91ebc685ade2a"
}
},
"0.10.0": {
"x86_64_linux_gnu": {
"checksum": "5ae166ff105359c87f3d6c57ef6f1a3dd14b266b68dc8059dee88f8916818d6c"
},
"x86_64_macos": {
"checksum": "aeabf5b6477fa2884d21e6c6ccf30269ac98c33680510752786876dac0e85ed0"
},
"x86_64_windows": {
"checksum": "bff5de453883a429cef8ea4823f8dccead21d97f38a287841a073c7c97a2fefb"
}
},
"0.9": {
"version": "0.9.0"
},
"0.9.0": {
"x86_64_linux_gnu": {
"checksum": "c06b5406fd6cddf346fac448e95780e5b161f3d560a7df86a202d7f6c20d3f72"
},
"x86_64_macos": {
"checksum": "e961f3cde3a9b995dc0227fb7de8c01a4c6618cdd196e2622f3ba1e7c8370035"
},
"x86_64_windows": {
"checksum": "1a69861f6602579ac0391e63cdd14f143b1f1e373b34ca8a3a4bd98c22151df5"
}
},
"0.8": {
"version": "0.8.0"
},
"0.8.0": {
"x86_64_linux_gnu": {
"checksum": "bcdb334b47c34b0b35ffbba8400ca29df0d85377020c6468d2657a74dbef117e"
},
"x86_64_macos": {
"checksum": "1afb06d2187c039c750821cb2bc682af97f71ff3d7853e00b8298a54b7a695bd"
},
"x86_64_windows": {
"checksum": "71563aefdc28d6094891d9d2860f8dfe6e4685581b4bf7216342b84e07648a07"
}
},
"0.7": {
"version": "0.7.0"
},
"0.7.0": {
"x86_64_linux_gnu": {
"checksum": "fd9bb11a80a4246bc3415d2ce7e09029f4b1a609f89ba82d23d61971f54d1c2d"
},
"x86_64_macos": {
"checksum": "becbb39f28e65af72186ba11d476dcaf4ab22153ce7c4f267278dc3958575850"
},
"x86_64_windows": {
"checksum": "173da6285aa9e2fedc4fe7a64c0c930f5306d8a95ff31625a71659ddfd3c819f"
}
},
"0.6": {
"version": "0.6.0"
},
"0.6.0": {
"x86_64_linux_gnu": {
"checksum": "7f8837cd354aa16a334d3877fe0dfb6e0d063e5a268f6e6c21422f4ce6566ec5"
},
"x86_64_macos": {
"checksum": "57ddf70519f69f3d7bfa6761aa416154d1b5afc14444c25d516d3f82519dcf52"
},
"x86_64_windows": {
"checksum": "7312197b8dc6f6c6b5413e3dbccf5cb8a3061e5da3b1451ff17980c59a972601"
}
},
"0.5": {
"version": "0.5.1"
},
"0.5.1": {
"x86_64_linux_gnu": {
"checksum": "f0c6a433f217d123da7d89b744c0cdf277a3ef5c3973f424c784f33a74c535a9"
},
"x86_64_macos": {
"checksum": "a945d371fd5266ae1b50e9abc9837df780d94c2f5262f1cccfa381ae833a011e"
},
"x86_64_windows": {
"checksum": "9f36cdd62bec6e16a7dd0bfaf89addc9362bd9280e26971f45b8c141ecf195f9"
}
},
"0.5.0": {
"x86_64_linux_gnu": {
"checksum": "f7ab37b542461357862b6e91459a211a8cbeb872f84c6de227076e3d6db7eff7"
},
"x86_64_macos": {
"checksum": "86ce9babce8c7398c00c21383eda59895ede6be5e7ab688cfef6b5a11050fcc8"
},
"x86_64_windows": {
"checksum": "492ccea9c52cf8026352488b6064b02ca91ae93a9e70f34d09928868b2f0f011"
}
}
}

View File

@@ -0,0 +1,17 @@
{
"repository": "https://github.com/xd009642/tarpaulin",
"tag_prefix": "",
"asset_name": "${package}-${rust_target}.tar.gz",
"version_range": "> 0.22.0",
"platform": {
"x86_64_linux_gnu": {},
"x86_64_linux_musl": {},
"aarch64_linux_gnu": {},
"aarch64_linux_musl": {},
"x86_64_macos": {},
"aarch64_macos": {},
"x86_64_windows": {
"asset_name": "${package}-${rust_target}.zip"
}
}
}

View File

@@ -0,0 +1,12 @@
{
"repository": "https://github.com/getzola/zola",
"tag_prefix": "v",
"asset_name": "${package}-v${version}-${rust_target}.tar.gz",
"platform": {
"x86_64_linux_gnu": {},
"x86_64_macos": {},
"x86_64_windows": {
"asset_name": "${package}-v${version}-${rust_target}.zip"
}
}
}

View File

@@ -28,6 +28,7 @@ fn main() -> Result<()> {
.join("manifests")
.join(format!("{package}.json"));
let download_cache_dir = &workspace_root.join("tools/codegen/tmp/cache").join(package);
fs::create_dir_all(manifest_path.parent().unwrap())?;
fs::create_dir_all(download_cache_dir)?;
let base_info: BaseManifest = serde_json::from_slice(&fs::read(
@@ -59,6 +60,9 @@ fn main() -> Result<()> {
let releases: BTreeMap<_, _> = releases
.iter()
.filter_map(|release| {
if release.prerelease {
return None;
}
let version = release.tag_name.strip_prefix(&base_info.tag_prefix)?;
let mut semver_version = version.parse::<semver::Version>();
if semver_version.is_err() {
@@ -189,17 +193,17 @@ fn main() -> Result<()> {
}
};
eprintln!("downloading {url} for checksum");
eprintln!("downloading {url} for checksum...");
let download_cache = download_cache_dir.join(format!(
"{version}-{platform:?}-{}",
Path::new(&url).file_name().unwrap().to_str().unwrap()
));
if download_cache.is_file() {
eprintln!("{url} is already downloaded");
eprintln!(" already downloaded");
fs::File::open(download_cache)?.read_to_end(&mut buf)?;
} else {
download(&url)?.into_reader().read_to_end(&mut buf)?;
eprintln!("downloaded complete");
eprintln!(" downloaded complete");
fs::write(download_cache, &buf)?;
}
eprintln!("getting sha256 hash for {url}");

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
set -euo pipefail
IFS=$'\n\t'
cd "$(dirname "$0")"/..

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
set -euo pipefail
IFS=$'\n\t'
cd "$(dirname "$0")"/..
@@ -14,6 +14,14 @@ trap 's=$?; echo >&2 "$0: Error on line "${LINENO}": ${BASH_COMMAND}"; exit ${s}
# Note: This script requires the following tools:
# - parse-changelog <https://github.com/taiki-e/parse-changelog>
x() {
local cmd="$1"
shift
(
set -x
"${cmd}" "$@"
)
}
bail() {
echo >&2 "error: $*"
exit 1
@@ -40,6 +48,7 @@ if gh release view "${tag}" &>/dev/null; then
bail "tag '${tag}' has already been created and pushed"
fi
# Make sure that the release was created from an allowed branch.
if ! git branch | grep -q '\* main$'; then
bail "current branch is not 'main'"
fi
@@ -88,57 +97,11 @@ echo "======================================="
if [[ -n "${tags}" ]]; then
# Create a release commit.
git add "${changelog}"
git commit -m "Release ${version}"
x git add "${changelog}"
x git commit -m "Release ${version}"
fi
tools=()
for tool in tools/codegen/base/*.json; do
tools+=("$(basename "${tool%.*}")")
done
# Aliases
tools+=(nextest)
# Not manifest-base
tools+=(valgrind)
(
set -x
git tag "${tag}"
git push origin main
git push origin --tags
major_version_tag="v${version%%.*}"
git checkout -b "${major_version_tag}"
git push origin refs/heads/"${major_version_tag}"
if git --no-pager tag | grep -Eq "^${major_version_tag}$"; then
git tag -d "${major_version_tag}"
git push --delete origin refs/tags/"${major_version_tag}"
fi
git tag "${major_version_tag}"
git checkout main
git branch -d "${major_version_tag}"
)
for tool in "${tools[@]}"; do
(
set -x
git checkout -b "${tool}"
sed -i -e "s/required: true/required: false/g" action.yml
sed -i -e "s/# default: #publish:tool/default: ${tool}/g" action.yml
git add action.yml
git commit -m "${tool}"
git push origin -f refs/heads/"${tool}"
if git --no-pager tag | grep -Eq "^${tool}$"; then
git tag -d "${tool}"
git push --delete origin refs/tags/"${tool}"
fi
git tag "${tool}"
git checkout main
git branch -D "${tool}"
)
done
set -x
git push origin --tags
x git tag "${tag}"
# TODO: the following still assumes admin permissions
x git push origin main
x git push origin --tags

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
# shellcheck disable=SC2046
set -euo pipefail
IFS=$'\n\t'
@@ -14,7 +14,7 @@ trap 's=$?; echo >&2 "$0: Error on line "${LINENO}": ${BASH_COMMAND}"; exit ${s}
# - shfmt
# - shellcheck
# - npm
# - jq and yq (if this repository uses bors)
# - jq and yq
# - rustup (if Rust code exists)
# - clang-format (if C/C++ code exists)
#
@@ -95,19 +95,32 @@ if [[ -n "$(git ls-files '*.yml')$(git ls-files '*.js')$(git ls-files '*.json')"
else
warn "'npm' is not installed"
fi
if [[ -e .github/workflows/ci.yml ]] && grep -q '# tidy:needs' .github/workflows/ci.yml && ! grep -Eq '# *needs: \[' .github/workflows/ci.yml; then
# Check GitHub workflows.
if [[ -d .github/workflows ]]; then
if type -P jq &>/dev/null && type -P yq &>/dev/null; then
# shellcheck disable=SC2207
jobs_actual=($(yq '.jobs' .github/workflows/ci.yml | jq -r 'keys_unsorted[]'))
unset 'jobs_actual[${#jobs_actual[@]}-1]'
# shellcheck disable=SC2207
jobs_expected=($(yq -r '.jobs."ci-success".needs[]' .github/workflows/ci.yml))
if [[ "${jobs_actual[*]}" != "${jobs_expected[*]+"${jobs_expected[*]}"}" ]]; then
printf -v jobs '%s, ' "${jobs_actual[@]}"
sed -i "s/needs: \[.*\] # tidy:needs/needs: [${jobs%, }] # tidy:needs/" .github/workflows/ci.yml
check_diff .github/workflows/ci.yml
warn "please update 'needs' section in 'ci-success' job"
fi
for workflow in .github/workflows/*.yml; do
# The top-level permissions must be weak as they are referenced by all jobs.
permissions=$(yq '.permissions' "${workflow}" | jq -c)
case "${permissions}" in
'{"contents":"read"}' | '{"contents":"none"}' | '{}') ;;
null) warn "${workflow}: top level permissions not found; it must be 'contents: read' or weaker permissions" ;;
*) warn "${workflow}: only 'contents: read' and weaker permissions are allowed at top level; if you want to use stronger permissions, please set job-level permissions" ;;
esac
# Make sure the 'needs' section is not out of date.
if grep -q '# tidy:needs' "${workflow}" && ! grep -Eq '# *needs: \[' "${workflow}"; then
# shellcheck disable=SC2207
jobs_actual=($(yq '.jobs' "${workflow}" | jq -r 'keys_unsorted[]'))
unset 'jobs_actual[${#jobs_actual[@]}-1]'
# shellcheck disable=SC2207
jobs_expected=($(yq -r '.jobs."ci-success".needs[]' "${workflow}"))
if [[ "${jobs_actual[*]}" != "${jobs_expected[*]+"${jobs_expected[*]}"}" ]]; then
printf -v jobs '%s, ' "${jobs_actual[@]}"
sed -i "s/needs: \[.*\] # tidy:needs/needs: [${jobs%, }] # tidy:needs/" "${workflow}"
check_diff "${workflow}"
warn "${workflow}: please update 'needs' section in 'ci-success' job"
fi
fi
done
else
warn "'jq' or 'yq' is not installed"
fi
@@ -145,27 +158,40 @@ fi
# Spell check (if config exists)
if [[ -f .cspell.json ]]; then
if type -P npm &>/dev/null; then
if [[ -f Cargo.toml ]]; then
metadata=$(cargo metadata --format-version=1 --all-features --no-deps)
if [[ -n "$(git ls-files '*Cargo.toml')" ]]; then
dependencies=''
for id in $(jq <<<"${metadata}" '.workspace_members[]'); do
dependencies+=$'\n'
dependencies+=$(jq <<<"${metadata}" ".packages[] | select(.id == ${id})" | jq -r '.dependencies[].name')
for manifest_path in $(git ls-files '*Cargo.toml'); do
if [[ "${manifest_path}" != "Cargo.toml" ]] && ! grep -Eq '\[workspace\]' "${manifest_path}"; then
continue
fi
metadata=$(cargo metadata --format-version=1 --all-features --no-deps --manifest-path "${manifest_path}")
for id in $(jq <<<"${metadata}" '.workspace_members[]'); do
dependencies+=$'\n'
dependencies+=$(jq <<<"${metadata}" ".packages[] | select(.id == ${id})" | jq -r '.dependencies[].name')
done
done
cat >.github/.cspell/rust-dependencies.txt <<EOF
# shellcheck disable=SC2001
dependencies=$(sed <<<"${dependencies}" 's/[0-9_-]/\n/g' | LC_ALL=C sort -f -u)
config_old=$(<.cspell.json)
config_new=$(grep <<<"${config_old}" -v ' *//' | jq 'del(.dictionaries[] | select(index("organization-dictionary") | not))' | jq 'del(.dictionaryDefinitions[] | select(.name == "organization-dictionary" | not))')
echo "${config_new}" >.cspell.json
words=$(npx <<<"${dependencies}" cspell stdin --no-progress --no-summary --words-only --unique || true)
echo "${config_old}" >.cspell.json
fi
cat >.github/.cspell/rust-dependencies.txt <<EOF
// This file is @generated by $(basename "$0").
// It is not intended for manual editing.
EOF
# shellcheck disable=SC2001
sed <<<"${dependencies}" 's/[0-9_-]/\n/g' | LC_ALL=C sort -f -u | (grep -E '.{4,}' || true) >>.github/.cspell/rust-dependencies.txt
check_diff .github/.cspell/rust-dependencies.txt
else
touch .github/.cspell/rust-dependencies.txt
if [[ -n "${words:-}" ]]; then
echo $'\n'"${words}" >>.github/.cspell/rust-dependencies.txt
fi
check_diff .github/.cspell/rust-dependencies.txt
if ! grep -Eq "^\.github/\.cspell/rust-dependencies.txt linguist-generated" .gitattributes; then
echo "warning: you may want to mark .github/.cspell/rust-dependencies.txt linguist-generated"
fi
echo "+ npx cspell --no-progress \$(git ls-files)"
npx cspell --no-progress $(git ls-files)
echo "+ npx cspell --no-progress --no-summary \$(git ls-files)"
npx cspell --no-progress --no-summary $(git ls-files)
for dictionary in .github/.cspell/*.txt; do
if [[ "${dictionary}" == .github/.cspell/project-dictionary.txt ]]; then