From cf6bc6987e455311f2d00f4a23052657cbc13628 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Balv=C3=ADn?= Date: Tue, 22 Sep 2026 01:31:49 +0200 Subject: [PATCH] fix(ci): pass the upload file to curl, not its interpolation --- .gitea/workflows/release.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml index 1bf69cc..7a72f0b 100644 --- a/.gitea/workflows/release.yml +++ b/.gitea/workflows/release.yml @@ -342,7 +342,10 @@ jobs: my @cmd = (q{curl}, q{-sS}, q{-o}, q{/dev/null}, q{-w}, q{%{http_code}}, q{-H}, qq{Authorization: token $ENV{GITEA_TOKEN}}, q{-H}, q{Content-Type: application/octet-stream}, - q{-X}, q{POST}, q{--data-binary}, qq{@$path}, + # The @ must not sit inside a qq{} string: there it starts an + # array interpolation and the upload body collapses to empty, + # which Gitea stores as a 201-created zero-byte attachment. + q{-X}, q{POST}, q{--data-binary}, q{@} . $path, qq{$ENV{GITEA_SERVER_URL}/api/v1/repos/$ENV{GITEA_REPOSITORY}/releases/$id/assets?name=$name}); open(my $curl, q{-|}, @cmd) or die qq{curl: $!}; my $code = <$curl>;