Include user-agent header in requests to crates.io

Based on 3f363be7b6 by Joe Birr-Pixton.

Fix the underlying cause of https://github.com/taiki-e/install-action/issues/1005.

Co-authored-by: Joe Birr-Pixton <jpixton@gmail.com>
This commit is contained in:
Taiki Endo
2025-06-18 22:55:40 +09:00
parent d12e869b89
commit d92059b082
2 changed files with 2 additions and 1 deletions

View File

@@ -49,3 +49,4 @@ runs:
INPUT_CHECKSUM: ${{ inputs.checksum }}
INPUT_FALLBACK: ${{ inputs.fallback }}
DEFAULT_GITHUB_TOKEN: ${{ github.token }}
ACTION_USER_AGENT: ${{ github.action_repository }} (${{ github.action_ref }})

View File

@@ -220,7 +220,7 @@ read_manifest() {
# TODO: don't hardcode tool name and use 'immediate_yank_reflection' field in base manifest.
case "${tool}" in
cargo-nextest | nextest)
crate_info=$(curl --proto '=https' --tlsv1.2 -fsSL --retry 10 "https://crates.io/api/v1/crates/${rust_crate}" || true)
crate_info=$(curl -v --user-agent "${ACTION_USER_AGENT}" --proto '=https' --tlsv1.2 -fsSL --retry 10 "https://crates.io/api/v1/crates/${rust_crate}" || true)
if [[ -n "${crate_info}" ]]; then
while true; do
yanked=$(jq -r ".versions[] | select(.num == \"${exact_version}\") | .yanked" <<<"${crate_info}")