mirror of
https://github.com/taiki-e/install-action.git
synced 2026-05-03 11:40:35 +00:00
Compare commits
68 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5129b57152 | ||
|
|
3cd0f0ed94 | ||
|
|
1fe1e0ef01 | ||
|
|
7ef4fec011 | ||
|
|
a6cd5fac26 | ||
|
|
e0b88e5cc1 | ||
|
|
2402df67ca | ||
|
|
4d6942468f | ||
|
|
046c416559 | ||
|
|
88e9b610ea | ||
|
|
af69857b4d | ||
|
|
e0569e0473 | ||
|
|
5ba293a432 | ||
|
|
7282cc8708 | ||
|
|
02416c9844 | ||
|
|
329d41893a | ||
|
|
2336994aba | ||
|
|
71ccc3978d | ||
|
|
28dd623da7 | ||
|
|
1c96e2750b | ||
|
|
b047e58764 | ||
|
|
02aadca714 | ||
|
|
c64d4ba1ed | ||
|
|
f006976e02 | ||
|
|
7570159fcc | ||
|
|
7fed544855 | ||
|
|
9eaa8ca48b | ||
|
|
159a429775 | ||
|
|
f11f1002f9 | ||
|
|
2bb480a517 | ||
|
|
99f013d5f8 | ||
|
|
5eaf5ab4ba | ||
|
|
03352a8b6a | ||
|
|
af4171e2c6 | ||
|
|
3d7b60cc55 | ||
|
|
bb9815bf9d | ||
|
|
f0a8f08e0c | ||
|
|
23d49b97dc | ||
|
|
e7a47b23f5 | ||
|
|
13917065c4 | ||
|
|
3a95a5da72 | ||
|
|
dca3b37006 | ||
|
|
045dd4076c | ||
|
|
0ffbddd290 | ||
|
|
0c2d9a651a | ||
|
|
bfecd3c66b | ||
|
|
f1a94ab9f4 | ||
|
|
2e796d41df | ||
|
|
ad40afb0c1 | ||
|
|
83dc00c495 | ||
|
|
f2466a4319 | ||
|
|
29410ef0ac | ||
|
|
e8c60492cd | ||
|
|
67aa8bcf8a | ||
|
|
1bb76441d3 | ||
|
|
8c919c2041 | ||
|
|
6dec0fcd4c | ||
|
|
ef14bb365d | ||
|
|
d3afca2ffc | ||
|
|
11d418d698 | ||
|
|
93edea8666 | ||
|
|
af5165ce25 | ||
|
|
2a60fd3151 | ||
|
|
0c4592b32a | ||
|
|
005d3ec234 | ||
|
|
5d8239931a | ||
|
|
43e49c2430 | ||
|
|
70715d2909 |
@@ -1 +1,5 @@
|
|||||||
|
# Clippy configuration
|
||||||
|
# https://doc.rust-lang.org/nightly/clippy/lint_configuration.html
|
||||||
|
|
||||||
avoid-breaking-exported-api = false
|
avoid-breaking-exported-api = false
|
||||||
|
disallowed-names = []
|
||||||
|
|||||||
@@ -26,7 +26,7 @@
|
|||||||
],
|
],
|
||||||
"ignoreRegExpList": [
|
"ignoreRegExpList": [
|
||||||
// Copyright notice
|
// Copyright notice
|
||||||
"Copyright ((\\(c\\)|\\(C\\)|©) )?.*",
|
"Copyright .*",
|
||||||
// GHA actions/workflows
|
// GHA actions/workflows
|
||||||
"uses: .+@",
|
"uses: .+@",
|
||||||
// GHA context (repo name, owner name, etc.)
|
// GHA context (repo name, owner name, etc.)
|
||||||
@@ -35,6 +35,8 @@
|
|||||||
"( |\\[)@[\\w_-]+",
|
"( |\\[)@[\\w_-]+",
|
||||||
// Git config username
|
// Git config username
|
||||||
"git config user.name .*",
|
"git config user.name .*",
|
||||||
|
// Username in todo comment
|
||||||
|
"(TODO|FIXME)\\([\\w_., -]+\\)",
|
||||||
// Cargo.toml authors
|
// Cargo.toml authors
|
||||||
"authors *= *\\[.*\\]",
|
"authors *= *\\[.*\\]",
|
||||||
"\".* <[\\w_.+-]+@[\\w.-]+>\""
|
"\".* <[\\w_.+-]+@[\\w.-]+>\""
|
||||||
|
|||||||
28
.github/.cspell/organization-dictionary.txt
vendored
28
.github/.cspell/organization-dictionary.txt
vendored
@@ -29,6 +29,7 @@ Zmiri
|
|||||||
|
|
||||||
// Rust target triple
|
// Rust target triple
|
||||||
aarch
|
aarch
|
||||||
|
amdgpu
|
||||||
androideabi
|
androideabi
|
||||||
armeb
|
armeb
|
||||||
armebv
|
armebv
|
||||||
@@ -61,10 +62,12 @@ musleabi
|
|||||||
musleabihf
|
musleabihf
|
||||||
newlibeabihf
|
newlibeabihf
|
||||||
nvptx
|
nvptx
|
||||||
|
ohos
|
||||||
openwrt
|
openwrt
|
||||||
riscv
|
riscv
|
||||||
softfloat
|
softfloat
|
||||||
sparcv
|
sparcv
|
||||||
|
spirv
|
||||||
thumbeb
|
thumbeb
|
||||||
thumbebv
|
thumbebv
|
||||||
thumbv
|
thumbv
|
||||||
@@ -77,30 +80,44 @@ vxworks
|
|||||||
wasi
|
wasi
|
||||||
watchos
|
watchos
|
||||||
xous
|
xous
|
||||||
|
xtensa
|
||||||
|
|
||||||
// Rust other
|
// Rust other
|
||||||
|
aclass
|
||||||
acqrel
|
acqrel
|
||||||
alloc
|
alloc
|
||||||
bools
|
bools
|
||||||
builtins
|
builtins
|
||||||
|
bytecount
|
||||||
canonicalize
|
canonicalize
|
||||||
|
concat
|
||||||
consts
|
consts
|
||||||
|
ctypes
|
||||||
|
dealloc
|
||||||
deque
|
deque
|
||||||
|
docsrs
|
||||||
doctest
|
doctest
|
||||||
|
doctests
|
||||||
hasher
|
hasher
|
||||||
impls
|
impls
|
||||||
inlateout
|
inlateout
|
||||||
intrinsics
|
intrinsics
|
||||||
lateout
|
lateout
|
||||||
|
mclass
|
||||||
|
memcpy
|
||||||
msrv
|
msrv
|
||||||
nand
|
nand
|
||||||
nomem
|
nomem
|
||||||
|
nonoverlapping
|
||||||
|
noreturn
|
||||||
nostack
|
nostack
|
||||||
peekable
|
peekable
|
||||||
punct
|
punct
|
||||||
|
rclass
|
||||||
repr
|
repr
|
||||||
rfind
|
rfind
|
||||||
rfold
|
rfold
|
||||||
|
rposition
|
||||||
rsplit
|
rsplit
|
||||||
rustlib
|
rustlib
|
||||||
seqcst
|
seqcst
|
||||||
@@ -109,14 +126,19 @@ supertrait
|
|||||||
supertraits
|
supertraits
|
||||||
sysroot
|
sysroot
|
||||||
toolchains
|
toolchains
|
||||||
|
turbofish
|
||||||
uninit
|
uninit
|
||||||
unsized
|
unsized
|
||||||
upcastable
|
upcastable
|
||||||
|
|
||||||
// Other
|
// Other
|
||||||
|
armel
|
||||||
|
armhf
|
||||||
|
binutils
|
||||||
connrefused
|
connrefused
|
||||||
cygwin
|
cygwin
|
||||||
dpkg
|
dpkg
|
||||||
|
endianness
|
||||||
euxo
|
euxo
|
||||||
msys
|
msys
|
||||||
noninteractive
|
noninteractive
|
||||||
@@ -127,5 +149,11 @@ objdump
|
|||||||
pipefail
|
pipefail
|
||||||
powerset
|
powerset
|
||||||
proto
|
proto
|
||||||
|
ranlib
|
||||||
readelf
|
readelf
|
||||||
|
shellcheckrc
|
||||||
|
SIGABRT
|
||||||
|
SIGILL
|
||||||
|
SIGINT
|
||||||
|
SIGTERM
|
||||||
tlsv
|
tlsv
|
||||||
|
|||||||
7
.github/.cspell/project-dictionary.txt
vendored
7
.github/.cspell/project-dictionary.txt
vendored
@@ -1,5 +1,4 @@
|
|||||||
binstall
|
binstall
|
||||||
bytecodealliance
|
|
||||||
coreutils
|
coreutils
|
||||||
distro
|
distro
|
||||||
doas
|
doas
|
||||||
@@ -7,21 +6,15 @@ dprint
|
|||||||
enablerepo
|
enablerepo
|
||||||
epel
|
epel
|
||||||
grcov
|
grcov
|
||||||
jfrimmel
|
|
||||||
koalaman
|
|
||||||
libc
|
libc
|
||||||
linkcheck
|
linkcheck
|
||||||
mdbook
|
mdbook
|
||||||
microdnf
|
microdnf
|
||||||
mvdan
|
|
||||||
nextest
|
nextest
|
||||||
protobuf
|
|
||||||
protoc
|
protoc
|
||||||
protocolbuffers
|
|
||||||
pwsh
|
pwsh
|
||||||
quickinstall
|
quickinstall
|
||||||
rockylinux
|
rockylinux
|
||||||
rustwasm
|
|
||||||
shellcheck
|
shellcheck
|
||||||
shfmt
|
shfmt
|
||||||
udeps
|
udeps
|
||||||
|
|||||||
6
.github/workflows/ci.yml
vendored
6
.github/workflows/ci.yml
vendored
@@ -26,6 +26,10 @@ defaults:
|
|||||||
run:
|
run:
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|
||||||
|
concurrency:
|
||||||
|
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}
|
||||||
|
cancel-in-progress: true
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
tidy:
|
tidy:
|
||||||
uses: taiki-e/workflows/.github/workflows/tidy.yml@main
|
uses: taiki-e/workflows/.github/workflows/tidy.yml@main
|
||||||
@@ -160,7 +164,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
timeout-minutes: 60
|
timeout-minutes: 60
|
||||||
permissions:
|
permissions:
|
||||||
contents: write # TODO test
|
contents: write
|
||||||
pull-requests: write
|
pull-requests: write
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
|
|||||||
8
.github/workflows/release.yml
vendored
8
.github/workflows/release.yml
vendored
@@ -1,8 +1,7 @@
|
|||||||
name: Release
|
name: Release
|
||||||
|
|
||||||
permissions:
|
permissions:
|
||||||
# TODO: once `releases: write` is supported, use it instead.
|
contents: read
|
||||||
contents: write
|
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
@@ -18,13 +17,14 @@ jobs:
|
|||||||
if: github.repository_owner == 'taiki-e'
|
if: github.repository_owner == 'taiki-e'
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
timeout-minutes: 60
|
timeout-minutes: 60
|
||||||
|
permissions:
|
||||||
|
contents: write
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
with:
|
|
||||||
persist-credentials: false
|
|
||||||
- uses: taiki-e/create-gh-release-action@v1
|
- uses: taiki-e/create-gh-release-action@v1
|
||||||
with:
|
with:
|
||||||
changelog: CHANGELOG.md
|
changelog: CHANGELOG.md
|
||||||
title: $version
|
title: $version
|
||||||
branch: 'main|v[0-9]+'
|
branch: 'main|v[0-9]+'
|
||||||
token: ${{ secrets.GITHUB_TOKEN }}
|
token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
- run: ci/publish.sh
|
||||||
|
|||||||
126
CHANGELOG.md
126
CHANGELOG.md
@@ -10,6 +10,108 @@ Note: In this file, do not use the hard wrap in the middle of a sentence for com
|
|||||||
|
|
||||||
## [Unreleased]
|
## [Unreleased]
|
||||||
|
|
||||||
|
## [2.6.11] - 2023-04-11
|
||||||
|
|
||||||
|
- Update `dprint@latest` to 0.35.4.
|
||||||
|
|
||||||
|
## [2.6.10] - 2023-04-07
|
||||||
|
|
||||||
|
- Update `cargo-deny@latest` to 0.13.8.
|
||||||
|
|
||||||
|
## [2.6.9] - 2023-04-05
|
||||||
|
|
||||||
|
- Update `cargo-llvm-cov@latest` to 0.5.14.
|
||||||
|
|
||||||
|
## [2.6.8] - 2023-04-05
|
||||||
|
|
||||||
|
- Update `cargo-tarpaulin@latest` to 0.25.2.
|
||||||
|
|
||||||
|
## [2.6.7] - 2023-04-04
|
||||||
|
|
||||||
|
- Update `cargo-llvm-cov@latest` to 0.5.13.
|
||||||
|
|
||||||
|
## [2.6.6] - 2023-04-02
|
||||||
|
|
||||||
|
- Update `cargo-llvm-cov@latest` to 0.5.12.
|
||||||
|
|
||||||
|
## [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
|
## [2.4.2] - 2023-02-14
|
||||||
|
|
||||||
- Update `mdbook@latest` to 0.4.27.
|
- Update `mdbook@latest` to 0.4.27.
|
||||||
@@ -621,7 +723,29 @@ Note: This release is considered a breaking change because installing on version
|
|||||||
|
|
||||||
Initial release
|
Initial release
|
||||||
|
|
||||||
[Unreleased]: https://github.com/taiki-e/install-action/compare/v2.4.2...HEAD
|
[Unreleased]: https://github.com/taiki-e/install-action/compare/v2.6.11...HEAD
|
||||||
|
[2.6.11]: https://github.com/taiki-e/install-action/compare/v2.6.10...v2.6.11
|
||||||
|
[2.6.10]: https://github.com/taiki-e/install-action/compare/v2.6.9...v2.6.10
|
||||||
|
[2.6.9]: https://github.com/taiki-e/install-action/compare/v2.6.8...v2.6.9
|
||||||
|
[2.6.8]: https://github.com/taiki-e/install-action/compare/v2.6.7...v2.6.8
|
||||||
|
[2.6.7]: https://github.com/taiki-e/install-action/compare/v2.6.6...v2.6.7
|
||||||
|
[2.6.6]: https://github.com/taiki-e/install-action/compare/v2.6.5...v2.6.6
|
||||||
|
[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.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.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.4.0]: https://github.com/taiki-e/install-action/compare/v2.3.5...v2.4.0
|
||||||
|
|||||||
12
action.yml
12
action.yml
@@ -11,6 +11,14 @@ inputs:
|
|||||||
required: false
|
required: false
|
||||||
default: 'true'
|
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:
|
runs:
|
||||||
using: node16
|
using: composite
|
||||||
main: main.js
|
steps:
|
||||||
|
- run: bash --noprofile --norc "${GITHUB_ACTION_PATH:?}/main.sh"
|
||||||
|
shell: bash
|
||||||
|
env:
|
||||||
|
INPUT_TOOL: ${{ inputs.tool }}
|
||||||
|
INPUT_CHECKSUM: ${{ inputs.checksum }}
|
||||||
|
|||||||
@@ -1,8 +1,17 @@
|
|||||||
#!/bin/bash
|
#!/usr/bin/env bash
|
||||||
set -euxo pipefail
|
set -euxo pipefail
|
||||||
IFS=$'\n\t'
|
IFS=$'\n\t'
|
||||||
cd "$(dirname "$0")"/..
|
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.name "Taiki Endo"
|
||||||
git config user.email "te316e89@gmail.com"
|
git config user.email "te316e89@gmail.com"
|
||||||
|
|
||||||
@@ -15,6 +24,7 @@ for manifest in manifests/*.json; do
|
|||||||
git stash pop
|
git stash pop
|
||||||
new_version=$(jq -r '.latest.version' "${manifest}")
|
new_version=$(jq -r '.latest.version' "${manifest}")
|
||||||
if [[ "${old_version}" != "${new_version}" ]]; then
|
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}"
|
msg="Update \`${name}@latest\` to ${new_version}"
|
||||||
sed -i "s/^## \\[Unreleased\\]/## [Unreleased]\\n\\n- ${msg}./" CHANGELOG.md
|
sed -i "s/^## \\[Unreleased\\]/## [Unreleased]\\n\\n- ${msg}./" CHANGELOG.md
|
||||||
git add "${manifest}" CHANGELOG.md
|
git add "${manifest}" CHANGELOG.md
|
||||||
|
|||||||
74
ci/publish.sh
Executable file
74
ci/publish.sh
Executable 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
28
main.js
@@ -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();
|
|
||||||
2
main.sh
2
main.sh
@@ -1,4 +1,4 @@
|
|||||||
#!/bin/bash
|
#!/usr/bin/env bash
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
IFS=$'\n\t'
|
IFS=$'\n\t'
|
||||||
|
|
||||||
|
|||||||
16
manifests/cargo-binstall.json
generated
16
manifests/cargo-binstall.json
generated
@@ -20,26 +20,26 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"latest": {
|
"latest": {
|
||||||
"version": "0.20.1"
|
"version": "0.22.0"
|
||||||
},
|
},
|
||||||
"0.20.1": {
|
"0.22.0": {
|
||||||
"x86_64_linux_musl": {
|
"x86_64_linux_musl": {
|
||||||
"checksum": "4729eea4277f0cfb72dd983984ef7b3938f0af5f0e256ca6e6b90c6177decbb2"
|
"checksum": "2238080e5e2c4eae5993de478341af6348e10fd9763a95a77e654e6f28268266"
|
||||||
},
|
},
|
||||||
"x86_64_macos": {
|
"x86_64_macos": {
|
||||||
"checksum": "8b057687f4e367bd51c2feb7f9473d2fe50fa54273ec9ae61e4e0238044f4761"
|
"checksum": "3e87999ab63edf3cdd71a3839bd85661c5dea5d763718668b8b3b35b1ac5dbe0"
|
||||||
},
|
},
|
||||||
"x86_64_windows": {
|
"x86_64_windows": {
|
||||||
"checksum": "467b0abcabe9c0456f721d108c90b53ea050d121f7c9ae8b23a048d0f55bad16"
|
"checksum": "f656718d44ca4a09ff2231970edc7878a1aa33b6e15790a4884a758144008e27"
|
||||||
},
|
},
|
||||||
"aarch64_linux_musl": {
|
"aarch64_linux_musl": {
|
||||||
"checksum": "8f7b6f899de74110bf7426ca9d579d4981c67a13ada64907e7095a0cd1b3f116"
|
"checksum": "280fc36a0f565d76636aa3aff570c97d1e6fbd6aa08ef315af2cb968054e1d9b"
|
||||||
},
|
},
|
||||||
"aarch64_macos": {
|
"aarch64_macos": {
|
||||||
"checksum": "05a1cb0a1c779263f0173e351cc5e6aab0dfc49a7c1fa5152422c4e9d16b13c0"
|
"checksum": "abb87cb2ef23b552c62dc463777debb31be4a817ef9366509abb245d346e4410"
|
||||||
},
|
},
|
||||||
"aarch64_windows": {
|
"aarch64_windows": {
|
||||||
"checksum": "39e011c1e13b0f510c8c729de4bc4c93984f88c4d30cfa975e9672320ac7bd8a"
|
"checksum": "50108bd891a0b6a0044f71d11e09e886a3eec44f4163d44f79a3eed049a484c2"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
18
manifests/cargo-deny.json
generated
18
manifests/cargo-deny.json
generated
@@ -18,10 +18,24 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"latest": {
|
"latest": {
|
||||||
"version": "0.13.7"
|
"version": "0.13.8"
|
||||||
},
|
},
|
||||||
"0.13": {
|
"0.13": {
|
||||||
"version": "0.13.7"
|
"version": "0.13.8"
|
||||||
|
},
|
||||||
|
"0.13.8": {
|
||||||
|
"x86_64_linux_musl": {
|
||||||
|
"checksum": "95b2b7eacc1e93b918969e8d9f25dad49ce079511401308b548f5fceeafeb896"
|
||||||
|
},
|
||||||
|
"x86_64_macos": {
|
||||||
|
"checksum": "950f36ddbb08c0686305f97196b450a99efd3bbea3553746b4f1b9942a5ab2b7"
|
||||||
|
},
|
||||||
|
"x86_64_windows": {
|
||||||
|
"checksum": "5cae60df4ab5a9c949a59f56cf101562b7a962fb2750b5e6aeb47e0d8799e962"
|
||||||
|
},
|
||||||
|
"aarch64_macos": {
|
||||||
|
"checksum": "6eeedd852be234c5b27359e7ce6c7da665511afb5d643c7ce8db660e08ca7bc1"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"0.13.7": {
|
"0.13.7": {
|
||||||
"x86_64_linux_musl": {
|
"x86_64_linux_musl": {
|
||||||
|
|||||||
30
manifests/cargo-hack.json
generated
30
manifests/cargo-hack.json
generated
@@ -1,10 +1,36 @@
|
|||||||
{
|
{
|
||||||
"template": null,
|
"template": null,
|
||||||
"latest": {
|
"latest": {
|
||||||
"version": "0.5.27"
|
"version": "0.5.28"
|
||||||
},
|
},
|
||||||
"0.5": {
|
"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": {
|
"0.5.27": {
|
||||||
"x86_64_linux_musl": {
|
"x86_64_linux_musl": {
|
||||||
|
|||||||
89
manifests/cargo-llvm-cov.json
generated
89
manifests/cargo-llvm-cov.json
generated
@@ -17,10 +17,95 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"latest": {
|
"latest": {
|
||||||
"version": "0.5.9"
|
"version": "0.5.14"
|
||||||
},
|
},
|
||||||
"0.5": {
|
"0.5": {
|
||||||
"version": "0.5.9"
|
"version": "0.5.14"
|
||||||
|
},
|
||||||
|
"0.5.14": {
|
||||||
|
"x86_64_linux_musl": {
|
||||||
|
"checksum": "688e56f78611f7866842f5b86e27672225b28c8a536c75d6c0a3fd67082474ea"
|
||||||
|
},
|
||||||
|
"x86_64_macos": {
|
||||||
|
"checksum": "8d4a93175d5ba0710a46ccab007444cea4c53406b4c0b6c6ae6916d1192ac333"
|
||||||
|
},
|
||||||
|
"x86_64_windows": {
|
||||||
|
"checksum": "5773b119db63bbbcb975ecd3e0c71ae548506d85312248d6d3e94758cf88bba6"
|
||||||
|
},
|
||||||
|
"aarch64_linux_musl": {
|
||||||
|
"checksum": "61b22ff22d95ca6af9c668c780fe2a23a519a44d1fab3de01adadfbb36cea54d"
|
||||||
|
},
|
||||||
|
"aarch64_macos": {
|
||||||
|
"checksum": "f98c5d4bc2f7b67328a82028bb78f0a67436ae81a4e2a7911fd4f18f572c434b"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"0.5.13": {
|
||||||
|
"x86_64_linux_musl": {
|
||||||
|
"checksum": "e57875cba95527149d15d7f9c66b9d624d8154040f19aedbca96e2c6b7687ffb"
|
||||||
|
},
|
||||||
|
"x86_64_macos": {
|
||||||
|
"checksum": "f694bcaf714f352b76182b0aeec9626ca5280ceca275f949caa762a561030350"
|
||||||
|
},
|
||||||
|
"x86_64_windows": {
|
||||||
|
"checksum": "642046071c3c221748a3a6a08b5c7d71d7644928d4d7707fa30b38da8357f074"
|
||||||
|
},
|
||||||
|
"aarch64_linux_musl": {
|
||||||
|
"checksum": "d9173b2aae99f29276cd7d84ffdea9eb29f8831acd3f9d9de1c2af4366d917df"
|
||||||
|
},
|
||||||
|
"aarch64_macos": {
|
||||||
|
"checksum": "b9bb4d03065c4d7e52ed4148d71d36a4c890dee37108addfa9ba19771e46fa1d"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"0.5.12": {
|
||||||
|
"x86_64_linux_musl": {
|
||||||
|
"checksum": "998b1d9e630295459743fe7051a7e3d04e82836456171493eb5983dde710b07e"
|
||||||
|
},
|
||||||
|
"x86_64_macos": {
|
||||||
|
"checksum": "77faedad91c300b51d2d40040a6c61903a555da319047983ec56c81598cbea9b"
|
||||||
|
},
|
||||||
|
"x86_64_windows": {
|
||||||
|
"checksum": "5d0d3df674a431272f75e77dd2c07fdbc5ee83ade11c0839bbd0fdae35480351"
|
||||||
|
},
|
||||||
|
"aarch64_linux_musl": {
|
||||||
|
"checksum": "87c54166055d2d486620ceb27440442d34d71b364fdd6f6da57a210ae5f75e33"
|
||||||
|
},
|
||||||
|
"aarch64_macos": {
|
||||||
|
"checksum": "05c8f8e2210a3218b167dce33477785a0bc0c718fac7b15d2f4a428791234f03"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"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": {
|
"0.5.9": {
|
||||||
"x86_64_linux_musl": {
|
"x86_64_linux_musl": {
|
||||||
|
|||||||
38
manifests/cargo-nextest.json
generated
38
manifests/cargo-nextest.json
generated
@@ -17,10 +17,44 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"latest": {
|
"latest": {
|
||||||
"version": "0.9.49"
|
"version": "0.9.51"
|
||||||
},
|
},
|
||||||
"0.9": {
|
"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": {
|
"0.9.49": {
|
||||||
"x86_64_linux_gnu": {
|
"x86_64_linux_gnu": {
|
||||||
|
|||||||
24
manifests/cargo-no-dev-deps.json
generated
24
manifests/cargo-no-dev-deps.json
generated
@@ -20,10 +20,30 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"latest": {
|
"latest": {
|
||||||
"version": "0.2.1"
|
"version": "0.2.2"
|
||||||
},
|
},
|
||||||
"0.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": {
|
"0.2.1": {
|
||||||
"x86_64_linux_musl": {
|
"x86_64_linux_musl": {
|
||||||
|
|||||||
38
manifests/cargo-tarpaulin.json
generated
38
manifests/cargo-tarpaulin.json
generated
@@ -17,10 +17,44 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"latest": {
|
"latest": {
|
||||||
"version": "0.25.0"
|
"version": "0.25.2"
|
||||||
},
|
},
|
||||||
"0.25": {
|
"0.25": {
|
||||||
"version": "0.25.0"
|
"version": "0.25.2"
|
||||||
|
},
|
||||||
|
"0.25.2": {
|
||||||
|
"x86_64_linux_musl": {
|
||||||
|
"checksum": "89f0f28baa818f445336da35c204206544b5e1160892ca0d5f50fe034abff771"
|
||||||
|
},
|
||||||
|
"x86_64_macos": {
|
||||||
|
"checksum": "fac48ad01a87435b35a0d04dbb5452929c72e3e28633ab0fb5740a50d113bf64"
|
||||||
|
},
|
||||||
|
"x86_64_windows": {
|
||||||
|
"checksum": "36cf0c7fcf1c1d589720e7409673535e46d734f9abf89ff179c964dbf24f56cc"
|
||||||
|
},
|
||||||
|
"aarch64_linux_musl": {
|
||||||
|
"checksum": "2600c6a6e8f6cdaf374fa492284ade31c4582f40f9c5ede1f726b743e144f9b6"
|
||||||
|
},
|
||||||
|
"aarch64_macos": {
|
||||||
|
"checksum": "3f615f38c18c32d10fdf85b73e5c5ee05c0308566d00d0b117c10175f659c504"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"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": {
|
"0.25.0": {
|
||||||
"x86_64_linux_musl": {
|
"x86_64_linux_musl": {
|
||||||
|
|||||||
73
manifests/dprint.json
generated
73
manifests/dprint.json
generated
@@ -20,7 +20,78 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"latest": {
|
"latest": {
|
||||||
"version": "0.34.5"
|
"version": "0.35.4"
|
||||||
|
},
|
||||||
|
"0.35": {
|
||||||
|
"version": "0.35.4"
|
||||||
|
},
|
||||||
|
"0.35.4": {
|
||||||
|
"x86_64_linux_musl": {
|
||||||
|
"checksum": "a061268da99878970993d988b42de6324aea4cdce437fc1ca46ec51add4162dd"
|
||||||
|
},
|
||||||
|
"x86_64_macos": {
|
||||||
|
"checksum": "179234c542ffc1f26e2dffc62884809d1fd0e781b49f95b938410b1b6450c20c"
|
||||||
|
},
|
||||||
|
"x86_64_windows": {
|
||||||
|
"checksum": "50ac0366c5c20ace37fa2bef11f8826a5f68c1a28412b7751d89e38d7ce6c709"
|
||||||
|
},
|
||||||
|
"aarch64_linux_gnu": {
|
||||||
|
"checksum": "1a810a4c28934b6e281686ae53fe0e1eba973caec245df8004d4452ffc61d306"
|
||||||
|
},
|
||||||
|
"aarch64_macos": {
|
||||||
|
"checksum": "be2a5b698a0a4837a76a7626288a16e1c1f4153463f630845f9def43057f79e2"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"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": {
|
"0.34": {
|
||||||
"version": "0.34.5"
|
"version": "0.34.5"
|
||||||
|
|||||||
18
manifests/mdbook.json
generated
18
manifests/mdbook.json
generated
@@ -17,10 +17,24 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"latest": {
|
"latest": {
|
||||||
"version": "0.4.27"
|
"version": "0.4.28"
|
||||||
},
|
},
|
||||||
"0.4": {
|
"0.4": {
|
||||||
"version": "0.4.27"
|
"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": {
|
"0.4.27": {
|
||||||
"x86_64_linux_musl": {
|
"x86_64_linux_musl": {
|
||||||
|
|||||||
73
manifests/protoc.json
generated
73
manifests/protoc.json
generated
@@ -1,10 +1,79 @@
|
|||||||
{
|
{
|
||||||
"template": null,
|
"template": null,
|
||||||
"latest": {
|
"latest": {
|
||||||
"version": "3.21.12"
|
"version": "3.22.2"
|
||||||
},
|
},
|
||||||
"3": {
|
"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": {
|
"3.21": {
|
||||||
"version": "3.21.12"
|
"version": "3.21.12"
|
||||||
|
|||||||
19
manifests/wasm-pack.json
generated
19
manifests/wasm-pack.json
generated
@@ -18,7 +18,24 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"latest": {
|
"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": {
|
"0.10": {
|
||||||
"version": "0.10.3"
|
"version": "0.10.3"
|
||||||
|
|||||||
65
manifests/wasmtime.json
generated
65
manifests/wasmtime.json
generated
@@ -22,7 +22,70 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"latest": {
|
"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": {
|
"5": {
|
||||||
"version": "5.0.0"
|
"version": "5.0.0"
|
||||||
|
|||||||
38
manifests/zola.json
generated
38
manifests/zola.json
generated
@@ -11,7 +11,43 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"latest": {
|
"latest": {
|
||||||
"version": "0.16.1"
|
"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": {
|
"0.16": {
|
||||||
"version": "0.16.1"
|
"version": "0.16.1"
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#!/bin/bash
|
#!/usr/bin/env bash
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
IFS=$'\n\t'
|
IFS=$'\n\t'
|
||||||
cd "$(dirname "$0")"/..
|
cd "$(dirname "$0")"/..
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#!/bin/bash
|
#!/usr/bin/env bash
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
IFS=$'\n\t'
|
IFS=$'\n\t'
|
||||||
cd "$(dirname "$0")"/..
|
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:
|
# Note: This script requires the following tools:
|
||||||
# - parse-changelog <https://github.com/taiki-e/parse-changelog>
|
# - parse-changelog <https://github.com/taiki-e/parse-changelog>
|
||||||
|
|
||||||
|
x() {
|
||||||
|
local cmd="$1"
|
||||||
|
shift
|
||||||
|
(
|
||||||
|
set -x
|
||||||
|
"${cmd}" "$@"
|
||||||
|
)
|
||||||
|
}
|
||||||
bail() {
|
bail() {
|
||||||
echo >&2 "error: $*"
|
echo >&2 "error: $*"
|
||||||
exit 1
|
exit 1
|
||||||
@@ -40,6 +48,7 @@ if gh release view "${tag}" &>/dev/null; then
|
|||||||
bail "tag '${tag}' has already been created and pushed"
|
bail "tag '${tag}' has already been created and pushed"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Make sure that the release was created from an allowed branch.
|
||||||
if ! git branch | grep -q '\* main$'; then
|
if ! git branch | grep -q '\* main$'; then
|
||||||
bail "current branch is not 'main'"
|
bail "current branch is not 'main'"
|
||||||
fi
|
fi
|
||||||
@@ -88,57 +97,11 @@ echo "======================================="
|
|||||||
|
|
||||||
if [[ -n "${tags}" ]]; then
|
if [[ -n "${tags}" ]]; then
|
||||||
# Create a release commit.
|
# Create a release commit.
|
||||||
git add "${changelog}"
|
x git add "${changelog}"
|
||||||
git commit -m "Release ${version}"
|
x git commit -m "Release ${version}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
tools=()
|
x git tag "${tag}"
|
||||||
for tool in tools/codegen/base/*.json; do
|
# TODO: the following still assumes admin permissions
|
||||||
tools+=("$(basename "${tool%.*}")")
|
x git push origin main
|
||||||
done
|
x git push origin --tags
|
||||||
# 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
|
|
||||||
|
|||||||
110
tools/tidy.sh
110
tools/tidy.sh
@@ -1,4 +1,5 @@
|
|||||||
#!/bin/bash
|
#!/usr/bin/env bash
|
||||||
|
# SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||||
# shellcheck disable=SC2046
|
# shellcheck disable=SC2046
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
IFS=$'\n\t'
|
IFS=$'\n\t'
|
||||||
@@ -14,7 +15,7 @@ trap 's=$?; echo >&2 "$0: Error on line "${LINENO}": ${BASH_COMMAND}"; exit ${s}
|
|||||||
# - shfmt
|
# - shfmt
|
||||||
# - shellcheck
|
# - shellcheck
|
||||||
# - npm
|
# - npm
|
||||||
# - jq and yq (if this repository uses bors)
|
# - jq and yq
|
||||||
# - rustup (if Rust code exists)
|
# - rustup (if Rust code exists)
|
||||||
# - clang-format (if C/C++ code exists)
|
# - clang-format (if C/C++ code exists)
|
||||||
#
|
#
|
||||||
@@ -33,6 +34,9 @@ check_diff() {
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
info() {
|
||||||
|
echo >&2 "info: $*"
|
||||||
|
}
|
||||||
warn() {
|
warn() {
|
||||||
if [[ -n "${GITHUB_ACTIONS:-}" ]]; then
|
if [[ -n "${GITHUB_ACTIONS:-}" ]]; then
|
||||||
echo "::warning::$*"
|
echo "::warning::$*"
|
||||||
@@ -41,6 +45,14 @@ warn() {
|
|||||||
fi
|
fi
|
||||||
should_fail=1
|
should_fail=1
|
||||||
}
|
}
|
||||||
|
error() {
|
||||||
|
if [[ -n "${GITHUB_ACTIONS:-}" ]]; then
|
||||||
|
echo "::error::$*"
|
||||||
|
else
|
||||||
|
echo >&2 "error: $*"
|
||||||
|
fi
|
||||||
|
should_fail=1
|
||||||
|
}
|
||||||
|
|
||||||
if [[ $# -gt 0 ]]; then
|
if [[ $# -gt 0 ]]; then
|
||||||
cat <<EOF
|
cat <<EOF
|
||||||
@@ -70,6 +82,11 @@ if [[ -n "$(git ls-files '*.rs')" ]]; then
|
|||||||
else
|
else
|
||||||
warn "'rustup' is not installed"
|
warn "'rustup' is not installed"
|
||||||
fi
|
fi
|
||||||
|
cast_without_turbofish=$(grep -n -E '\.cast\(\)' $(git ls-files '*.rs') || true)
|
||||||
|
if [[ -n "${cast_without_turbofish}" ]]; then
|
||||||
|
error "please replace \`.cast()\` with \`.cast::<type_name>()\`:"
|
||||||
|
echo "${cast_without_turbofish}"
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# C/C++ (if exists)
|
# C/C++ (if exists)
|
||||||
@@ -95,26 +112,39 @@ if [[ -n "$(git ls-files '*.yml')$(git ls-files '*.js')$(git ls-files '*.json')"
|
|||||||
else
|
else
|
||||||
warn "'npm' is not installed"
|
warn "'npm' is not installed"
|
||||||
fi
|
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
|
if type -P jq &>/dev/null && type -P yq &>/dev/null; then
|
||||||
# shellcheck disable=SC2207
|
for workflow in .github/workflows/*.yml; do
|
||||||
jobs_actual=($(yq '.jobs' .github/workflows/ci.yml | jq -r 'keys_unsorted[]'))
|
# The top-level permissions must be weak as they are referenced by all jobs.
|
||||||
unset 'jobs_actual[${#jobs_actual[@]}-1]'
|
permissions=$(yq '.permissions' "${workflow}" | jq -c)
|
||||||
# shellcheck disable=SC2207
|
case "${permissions}" in
|
||||||
jobs_expected=($(yq -r '.jobs."ci-success".needs[]' .github/workflows/ci.yml))
|
'{"contents":"read"}' | '{"contents":"none"}' | '{}') ;;
|
||||||
if [[ "${jobs_actual[*]}" != "${jobs_expected[*]+"${jobs_expected[*]}"}" ]]; then
|
null) error "${workflow}: top level permissions not found; it must be 'contents: read' or weaker permissions" ;;
|
||||||
printf -v jobs '%s, ' "${jobs_actual[@]}"
|
*) error "${workflow}: only 'contents: read' and weaker permissions are allowed at top level; if you want to use stronger permissions, please set job-level permissions" ;;
|
||||||
sed -i "s/needs: \[.*\] # tidy:needs/needs: [${jobs%, }] # tidy:needs/" .github/workflows/ci.yml
|
esac
|
||||||
check_diff .github/workflows/ci.yml
|
# Make sure the 'needs' section is not out of date.
|
||||||
warn "please update 'needs' section in 'ci-success' job"
|
if grep -q '# tidy:needs' "${workflow}" && ! grep -Eq '# *needs: \[' "${workflow}"; then
|
||||||
fi
|
# 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}"
|
||||||
|
error "${workflow}: please update 'needs' section in 'ci-success' job"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done
|
||||||
else
|
else
|
||||||
warn "'jq' or 'yq' is not installed"
|
warn "'jq' or 'yq' is not installed"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
if [[ -n "$(git ls-files '*.yaml')" ]]; then
|
if [[ -n "$(git ls-files '*.yaml')" ]]; then
|
||||||
warn "please use '.yml' instead of '.yaml' for consistency"
|
error "please use '.yml' instead of '.yaml' for consistency"
|
||||||
git ls-files '*.yaml'
|
git ls-files '*.yaml'
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -145,7 +175,9 @@ fi
|
|||||||
# Spell check (if config exists)
|
# Spell check (if config exists)
|
||||||
if [[ -f .cspell.json ]]; then
|
if [[ -f .cspell.json ]]; then
|
||||||
if type -P npm &>/dev/null; then
|
if type -P npm &>/dev/null; then
|
||||||
|
has_rust=''
|
||||||
if [[ -n "$(git ls-files '*Cargo.toml')" ]]; then
|
if [[ -n "$(git ls-files '*Cargo.toml')" ]]; then
|
||||||
|
has_rust='1'
|
||||||
dependencies=''
|
dependencies=''
|
||||||
for manifest_path in $(git ls-files '*Cargo.toml'); do
|
for manifest_path in $(git ls-files '*Cargo.toml'); do
|
||||||
if [[ "${manifest_path}" != "Cargo.toml" ]] && ! grep -Eq '\[workspace\]' "${manifest_path}"; then
|
if [[ "${manifest_path}" != "Cargo.toml" ]] && ! grep -Eq '\[workspace\]' "${manifest_path}"; then
|
||||||
@@ -153,47 +185,65 @@ if [[ -f .cspell.json ]]; then
|
|||||||
fi
|
fi
|
||||||
metadata=$(cargo metadata --format-version=1 --all-features --no-deps --manifest-path "${manifest_path}")
|
metadata=$(cargo metadata --format-version=1 --all-features --no-deps --manifest-path "${manifest_path}")
|
||||||
for id in $(jq <<<"${metadata}" '.workspace_members[]'); do
|
for id in $(jq <<<"${metadata}" '.workspace_members[]'); do
|
||||||
dependencies+=$'\n'
|
dependencies+="$(jq <<<"${metadata}" ".packages[] | select(.id == ${id})" | jq -r '.dependencies[].name')"$'\n'
|
||||||
dependencies+=$(jq <<<"${metadata}" ".packages[] | select(.id == ${id})" | jq -r '.dependencies[].name')
|
|
||||||
done
|
done
|
||||||
done
|
done
|
||||||
words=''
|
|
||||||
# shellcheck disable=SC2001
|
# shellcheck disable=SC2001
|
||||||
for word in $(sed <<<"${dependencies}" 's/[0-9_-]/\n/g' | LC_ALL=C sort -f -u | (grep -E '.{4,}' || true)); do
|
dependencies=$(sed <<<"${dependencies}" 's/[0-9_-]/\n/g' | LC_ALL=C sort -f -u)
|
||||||
# Skip if the word is contained in other dictionaries.
|
|
||||||
if ! npx cspell trace "${word}" 2>/dev/null | (grep -v -E '/(project-dictionary|rust-dependencies)\.txt' || true) | grep -Eq "^${word} \* [0-9A-Za-z_-]+\* "; then
|
|
||||||
words+=$'\n'
|
|
||||||
words+="${word}"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
fi
|
fi
|
||||||
|
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
|
||||||
|
if [[ -n "${has_rust}" ]]; then
|
||||||
|
dependencies_words=$(npx <<<"${dependencies}" cspell stdin --no-progress --no-summary --words-only --unique || true)
|
||||||
|
fi
|
||||||
|
all_words=$(npx cspell --no-progress --no-summary --words-only --unique $(git ls-files | (grep -v '\.github/\.cspell/project-dictionary\.txt' || true)) || true)
|
||||||
|
# TODO: handle SIGINT
|
||||||
|
echo "${config_old}" >.cspell.json
|
||||||
cat >.github/.cspell/rust-dependencies.txt <<EOF
|
cat >.github/.cspell/rust-dependencies.txt <<EOF
|
||||||
// This file is @generated by $(basename "$0").
|
// This file is @generated by $(basename "$0").
|
||||||
// It is not intended for manual editing.
|
// It is not intended for manual editing.
|
||||||
EOF
|
EOF
|
||||||
if [[ -n "${words:-}" ]]; then
|
if [[ -n "${dependencies_words:-}" ]]; then
|
||||||
echo "${words}" >>.github/.cspell/rust-dependencies.txt
|
echo $'\n'"${dependencies_words}" >>.github/.cspell/rust-dependencies.txt
|
||||||
fi
|
fi
|
||||||
check_diff .github/.cspell/rust-dependencies.txt
|
check_diff .github/.cspell/rust-dependencies.txt
|
||||||
if ! grep -Eq "^\.github/\.cspell/rust-dependencies.txt linguist-generated" .gitattributes; then
|
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"
|
echo "warning: you may want to mark .github/.cspell/rust-dependencies.txt linguist-generated"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "+ npx cspell --no-progress \$(git ls-files)"
|
echo "+ npx cspell --no-progress --no-summary \$(git ls-files)"
|
||||||
npx cspell --no-progress $(git ls-files)
|
if ! npx cspell --no-progress --no-summary $(git ls-files); then
|
||||||
|
error "spellcheck failed: please fix uses of above words or add to .github/.cspell/project-dictionary.txt if correct"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Make sure the project-specific dictionary does not contain duplicated words.
|
||||||
for dictionary in .github/.cspell/*.txt; do
|
for dictionary in .github/.cspell/*.txt; do
|
||||||
if [[ "${dictionary}" == .github/.cspell/project-dictionary.txt ]]; then
|
if [[ "${dictionary}" == .github/.cspell/project-dictionary.txt ]]; then
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
dup=$(sed '/^$/d' .github/.cspell/project-dictionary.txt "${dictionary}" | LC_ALL=C sort -f | uniq -d -i | (grep -v '//.*' || true))
|
dup=$(sed '/^$/d' .github/.cspell/project-dictionary.txt "${dictionary}" | LC_ALL=C sort -f | uniq -d -i | (grep -v '//.*' || true))
|
||||||
if [[ -n "${dup}" ]]; then
|
if [[ -n "${dup}" ]]; then
|
||||||
warn "duplicated words in dictionaries; please remove the following words from .github/.cspell/project-dictionary.txt"
|
error "duplicated words in dictionaries; please remove the following words from .github/.cspell/project-dictionary.txt"
|
||||||
echo "======================================="
|
echo "======================================="
|
||||||
echo "${dup}"
|
echo "${dup}"
|
||||||
echo "======================================="
|
echo "======================================="
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
|
# Make sure the project-specific dictionary does not contain unused words.
|
||||||
|
unused=''
|
||||||
|
for word in $(grep -v '//.*' .github/.cspell/project-dictionary.txt || true); do
|
||||||
|
if ! grep <<<"${all_words}" -Eq -i "^${word}$"; then
|
||||||
|
unused+="${word}"$'\n'
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
if [[ -n "${unused}" ]]; then
|
||||||
|
error "unused words in dictionaries; please remove the following words from .github/.cspell/project-dictionary.txt"
|
||||||
|
echo "======================================="
|
||||||
|
echo -n "${unused}"
|
||||||
|
echo "======================================="
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
warn "'npm' is not installed"
|
warn "'npm' is not installed"
|
||||||
fi
|
fi
|
||||||
|
|||||||
Reference in New Issue
Block a user