rickub/clipublic Fork
⑂ main
Commits
⬇ Clone ▾
git clone https://git.rickub.com/rickub/cli.git
git clone ssh://git@rickub.com/rickub/cli.git

Host key fingerprint (ed25519): SHA256:iycHnxEyq0Q7uyVpB7JlznP0G7JrTPXLYRcAU5CSLhc — verify it before your first connect.

Download ZIP
success

Release #56

workflow_dispatch · main · a97c085dran in 14m35s · 373 lines of output
queued 12m46s ran 1m49s total 14m35s
1 jobs
0 failed
14m35s duration
— tests
1 artifacts
build and publish release
successbuild and publish release 1m49s

Annotations

  • WARNING VERSION file says '0.1.0' but you are releasing '0.2.0'. Open a PR bumping VERSION to '0.2.0' so future RCs are numbered from it.
successSet up job
cloning rickub/cli @ a97c085d5a4fe84de6f5a799ab6f3895658eda66action actions/setup-go@v5: node20 (_actions/actions/setup-go/v5)action actions/upload-artifact@v4: node20 (_actions/actions/upload-artifact/v4)action softprops/action-gh-release@v2: node20 (_actions/softprops/action-gh-release/v2)
successCheckout <1s
(checkout already performed by the runner — delivered as the read-only work disk)
successValidate inputs 2s
Run
set -euo pipefail

version="$(printf '%s' "${VERSION_INPUT}" | tr -d ' \t\r\n')"
if [ -z "${version}" ]; then
  echo "::error::version input is empty"
  exit 1
fi
if [ "${version#v}" != "${version}" ]; then
  echo "::error::Do not include the leading 'v'. Pass '${version#v}', not '${version}'."
  exit 1
fi
if ! printf '%s' "${version}" | grep -Eq '^[0-9]+\.[0-9]+\.[0-9]+$'; then
  echo "::error::version must be MAJOR.MINOR.PATCH (e.g. 1.2.3), got '${version}'"
  exit 1
fi
tag="v${version}"

# Normalise the boolean input to an unambiguous string output;
# step outputs are always strings, so `!= 'true'` is safe downstream.
dry_run=false
case "$(printf '%s' "${DRY_RUN_INPUT}" | tr '[:upper:]' '[:lower:]')" in
  true|1|yes|on) dry_run=true ;;
esac

# Cross-check the VERSION file. A mismatch is usually a forgotten bump
# PR; it is a warning, not a hard failure, so hotfixes stay possible.
if [ -f VERSION ]; then
  base="$(tr -d ' \t\r\n' < VERSION)"
  if [ "${base}" != "${version}" ]; then
    echo "::warning::VERSION file says '${base}' but you are releasing '${version}'." \
         "Open a PR bumping VERSION to '${version}' so future RCs are numbered from it."
  fi
else
  echo "::warning::No VERSION file at the repository root."
fi

{
  echo "version=${version}"
  echo "tag=${tag}"
  echo "dry_run=${dry_run}"
} >> "$GITHUB_OUTPUT"

echo "Releasing ${tag} at ${GITHUB_SHA} (dry_run=${dry_run})"
ciguest: network up (172.30.0.42/30 via 172.30.0.41)ciguest: starting dockerd (overlay2, data-root on scratch)ciguest: dockerd is readyciguest: loaded baked image postgres_16-alpine.tar.gz: Loaded image: postgres:16-alpineciguest: 1 baked image archive(s) loaded (no per-job registry pull needed)ciguest: logged into registry registry.rickub.com as rickubVERSION file says '0.1.0' but you are releasing '0.2.0'. Open a PR bumping VERSION to '0.2.0' so future RCs are numbered from it.Releasing v0.2.0 at a97c085d5a4fe84de6f5a799ab6f3895658eda66 (dry_run=false)
successRefuse to overwrite an existing release <1s
Run
set -euo pipefail

# 1. Local/remote git tag — authoritative and always available.
git fetch --tags --force --quiet || true
if git rev-parse -q --verify "refs/tags/${TAG}" >/dev/null 2>&1; then
  echo "::error::Tag ${TAG} already exists. Bump the version instead of re-releasing."
  exit 1
fi
if git ls-remote --exit-code --tags origin "refs/tags/${TAG}" >/dev/null 2>&1; then
  echo "::error::Tag ${TAG} already exists on the remote."
  exit 1
fi

# 2. Release API — best effort. $GITHUB_API_URL already carries the
#    /gh prefix of the rickub REST shim. Anything other than a clear
#    200 is treated as "cannot tell" so a shim/proxy hiccup does not
#    block a legitimate release (the git tag check above is the gate).
code="$(curl -sS -o /tmp/release-probe.json -w '%{http_code}' \
  -H "Authorization: Bearer ${GH_TOKEN}" \
  -H "Accept: application/vnd.github+json" \
  "${GITHUB_API_URL}/repos/${GITHUB_REPOSITORY}/releases/tags/${TAG}" || echo 000)"
case "${code}" in
  200)
    echo "::error::A release for ${TAG} already exists (API returned 200)."
    exit 1
    ;;
  404)
    echo "No existing release for ${TAG}."
    ;;
  *)
    echo "::warning::Could not check for an existing ${TAG} release (HTTP ${code});" \
         "relying on the git tag check. A 403 here means the CI proxy still blocks" \
         "/gh paths — see RELEASING.md."
    ;;
esac
No existing release for v0.2.0.
successSet up Go 4s
Setup go version spec 1.26isExplicit: explicit? falseevaluating 0 versionsmatch not foundAttempting to download 1.26...No manifest cachedGetting manifest from actions/go-versions@main(node:581) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.(Use `node --trace-deprecation ...` to show where the warning was created)matching 1.26...check 1.27.2 satisfies 1.26check 1.27.1 satisfies 1.26check 1.27.0 satisfies 1.26check 1.26.9 satisfies 1.26arm64===x64 && darwin===linuxx64===x64 && darwin===linuxarm64===x64 && linux===linuxx64===x64 && linux===linuxmatched 1.26.9Acquiring 1.26.9 from https://github.com/actions/go-versions/releases/download/1.26.9-37875104533/go-1.26.9-linux-x64.tar.gzDownloading https://github.com/actions/go-versions/releases/download/1.26.9-37875104533/go-1.26.9-linux-x64.tar.gzDestination /tmp/64f9b47f-c820-4e4d-9c93-ce840b71b879download completeExtracting Go...Checking tar --versiontar (GNU tar) 1.34Copyright (C) 2021 Free Software Foundation, Inc.License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.This is free software: you are free to change and redistribute it.There is NO WARRANTY, to the extent permitted by law.Written by John Gilmore and Jay Fenlason.[command]/usr/bin/tar xz --warning=no-unknown-keyword --overwrite -C /tmp/f8f60e27-7073-43d9-83fa-67f5afb5b84f -f /tmp/64f9b47f-c820-4e4d-9c93-ce840b71b879Successfully extracted go to /tmp/f8f60e27-7073-43d9-83fa-67f5afb5b84fAdding to the cache ...Caching tool go 1.26.9 x64source dir: /tmp/f8f60e27-7073-43d9-83fa-67f5afb5b84fdestination /tmp/hostedtoolcache/go/1.26.9/x64finished caching toolSuccessfully cached go to /tmp/hostedtoolcache/go/1.26.9/x64Added go to the pathSuccessfully set up Go version 1.26which go :/tmp/hostedtoolcache/go/1.26.9/x64/bin/go:go env GOPATH :/tmp/home/go:creating /tmp/home/gocreating /tmp/home/go/binadd bin true[command]/tmp/hostedtoolcache/go/1.26.9/x64/bin/go env GOMODCACHE[command]/tmp/hostedtoolcache/go/1.26.9/x64/bin/go env GOCACHE/tmp/home/go/pkg/mod/tmp/home/.cache/go-buildfollowSymbolicLinks 'true'followSymbolicLinks 'true'implicitDescendants 'true'matchDirectories 'true'omitBrokenSymbolicLinks 'true'excludeHiddenFiles 'false'Search path '/workspace/cli/go.sum'/workspace/cli/go.sumFound 1 files to hash.primary key is setup-go-Linux-x64-ubuntu22-go-1.26.9-e83b8c1f582e6d931577fc73618a9a9b192b6857b1971d1da5ce8a7a9b35f205Cache service version: v2Resolved Keys:["setup-go-Linux-x64-ubuntu22-go-1.26.9-e83b8c1f582e6d931577fc73618a9a9b192b6857b1971d1da5ce8a7a9b35f205"]Checking zstd --quiet --version1.5.4zstd version: 1.5.4[Request] GetCacheEntryDownloadURL http://172.30.255.1:8888/twirp/github.actions.results.api.v1.CacheService/GetCacheEntryDownloadURL[Response] - 200Headers: { "content-length": "13", "content-security-policy": "default-src 'self'; img-src 'self' data:; style-src 'self'; script-src 'self'; base-uri 'none'; frame-ancestors 'none'; object-src 'none'; form-action 'self' https://payment.stancer.com", "content-type": "application/json", "date": "Sun, 11 Oct 2026 04:21:06 GMT", "permissions-policy": "accelerometer=(), autoplay=(), camera=(), display-capture=(), encrypted-media=(), fullscreen=(self), geolocation=(), gyroscope=(), magnetometer=(), microphone=(), midi=(), payment=(), usb=()", "referrer-policy": "strict-origin-when-cross-origin", "strict-transport-security": "max-age=31536000; includeSubDomains", "x-content-type-options": "nosniff", "x-request-id": "0ea57ce0-504a-4b9a-a40b-73f8eff400a9"}Body: { "ok": false}Cache not found for version 2ba34da42fb93060f8b28272c48240c4b76165e1c6289ee9dd2b884514a58d3d of keys: setup-go-Linux-x64-ubuntu22-go-1.26.9-e83b8c1f582e6d931577fc73618a9a9b192b6857b1971d1da5ce8a7a9b35f205Cache is not found##[add-matcher]/workspace/_actions/actions/setup-go/v5/matchers.jsongo version go1.26.9 linux/amd64
go env
AR='ar'CC='gcc'CGO_CFLAGS='-O2 -g'CGO_CPPFLAGS=''CGO_CXXFLAGS='-O2 -g'CGO_ENABLED='1'CGO_FFLAGS='-O2 -g'CGO_LDFLAGS='-O2 -g'CXX='g++'GCCGO='gccgo'GO111MODULE=''GOAMD64='v1'GOARCH='amd64'GOAUTH='netrc'GOBIN=''GOCACHE='/tmp/home/.cache/go-build'GOCACHEPROG=''GODEBUG=''GOENV='/tmp/home/.config/go/env'GOEXE=''GOEXPERIMENT=''GOFIPS140='off'GOFLAGS=''GOGCCFLAGS='-fPIC -m64 -pthread -Wl,--no-gc-sections -fmessage-length=0 -ffile-prefix-map=/tmp/go-build1617032712=/tmp/go-build -gno-record-gcc-switches'GOHOSTARCH='amd64'GOHOSTOS='linux'GOINSECURE=''GOMOD='/workspace/cli/go.mod'GOMODCACHE='/tmp/home/go/pkg/mod'GONOPROXY=''GONOSUMDB=''GOOS='linux'GOPATH='/tmp/home/go'GOPRIVATE=''GOPROXY='https://proxy.golang.org,direct'GOROOT='/tmp/hostedtoolcache/go/1.26.9/x64'GOSUMDB='sum.golang.org'GOTELEMETRY='local'GOTELEMETRYDIR='/tmp/home/.config/go/telemetry'GOTMPDIR=''GOTOOLCHAIN='auto'GOTOOLDIR='/tmp/hostedtoolcache/go/1.26.9/x64/pkg/tool/linux_amd64'GOVCS=''GOVERSION='go1.26.9'GOWORK=''PKG_CONFIG='pkg-config'
successgo vet 16s
Run
go vet ./...
go: downloading github.com/spf13/cobra v1.10.2go: downloading github.com/spf13/pflag v1.0.9go: downloading gopkg.in/yaml.v3 v3.0.1
successgo test 6s
Run
go test ./... -count=1
? rickub.com/rickub/cli [no test files]ok rickub.com/rickub/cli/cmd 2.088sok rickub.com/rickub/cli/internal/api 0.006sok rickub.com/rickub/cli/internal/config 0.003s
successBuild distribution 56s
Run
bash scripts/build-dist.sh "${{ steps.check.outputs.version }}"
==> building rickub 0.2.0 ldflags: -s -w -X rickub.com/rickub/cli/cmd.Version=0.2.0go version go1.26.9 linux/amd64==> linux/amd64 -> dist/rickub_0.2.0_linux_amd64.tar.gz==> linux/arm64 -> dist/rickub_0.2.0_linux_arm64.tar.gz==> darwin/amd64 -> dist/rickub_0.2.0_darwin_amd64.tar.gz==> darwin/arm64 -> dist/rickub_0.2.0_darwin_arm64.tar.gz==> SHA256SUMS6d09bd381123b7faacfe135409e55b248536d3e3c05a06bc3e8c8c736b701c8f rickub_0.2.0_darwin_amd64.tar.gz561148a1053986d529f04fce1c878996f0c0b178e6eb3eb0c1ea243a75beec0d rickub_0.2.0_darwin_arm64.tar.gzd37cce1915e38cb0d3faeabd25422df0f0d81c75c0cafb5ffd38d1a5b8a881b9 rickub_0.2.0_linux_amd64.tar.gz292ed0712d8dace6d9399bb65383af75d8be782660b2ec2a18d95ff2d3331b58 rickub_0.2.0_linux_arm64.tar.gz==> done: 5 files in dist/
successRelease notes <1s
Run
set -euo pipefail
{
  echo "## rickub ${TAG}"
  echo
  echo "- Commit: \`${GITHUB_SHA}\` (\`${GITHUB_REF_NAME}\`)"
  echo "- Built by \`${WORKFLOW}\` run #${GITHUB_RUN_NUMBER}"
  echo
  echo '### Install'
  echo
  echo 'Download the archive for your platform, verify it, and drop the binary on your PATH:'
  echo
  echo '```sh'
  echo "v=${TAG#v}"
  echo "os=\$(uname -s | tr '[:upper:]' '[:lower:]')"
  echo "arch=\$(uname -m); case \"\$arch\" in x86_64) arch=amd64 ;; aarch64) arch=arm64 ;; esac"
  echo "base=\${RICKUB_GITHUB_SERVER_URL:-https://rickub.com}/${GITHUB_REPOSITORY}/releases/download/${TAG}"
  echo 'curl -fsSLO "$base/rickub_${v}_${os}_${arch}.tar.gz" && curl -fsSLO "$base/SHA256SUMS"'
  echo 'sha256sum -c SHA256SUMS --ignore-missing   # shasum -a 256 -c on macOS'
  echo 'tar -xzf "rickub_${v}_${os}_${arch}.tar.gz" rickub'
  echo 'install -m 0755 rickub /usr/local/bin/rickub'
  echo '```'
  echo
  echo '### Checksums'
  echo
  echo '```'
  cat dist/SHA256SUMS
  echo '```'
} > "${RUNNER_TEMP}/release-notes.md"
echo "path=${RUNNER_TEMP}/release-notes.md" >> "$GITHUB_OUTPUT"
successUpload build artifacts 5s
followSymbolicLinks 'true'implicitDescendants 'true'omitBrokenSymbolicLinks 'true'excludeHiddenFiles 'true'(node:10069) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.(Use `node --trace-deprecation ...` to show where the warning was created)followSymbolicLinks 'true'implicitDescendants 'true'matchDirectories 'true'omitBrokenSymbolicLinks 'true'excludeHiddenFiles 'true'Search path '/workspace/cli/dist'Removing /workspace/cli/dist from rawSearchResults because it is a directoryFile:/workspace/cli/dist/SHA256SUMS was found using the provided searchPathFile:/workspace/cli/dist/rickub_0.2.0_darwin_amd64.tar.gz was found using the provided searchPathFile:/workspace/cli/dist/rickub_0.2.0_darwin_arm64.tar.gz was found using the provided searchPathFile:/workspace/cli/dist/rickub_0.2.0_linux_amd64.tar.gz was found using the provided searchPathFile:/workspace/cli/dist/rickub_0.2.0_linux_arm64.tar.gz was found using the provided searchPathWith the provided path, there will be 5 files uploadedRoot artifact directory is /workspace/cli/distArtifact name is valid!Root directory input is valid!Workflow Run Backend ID: dce83302-79a6-4419-9835-d15c6902ea18Workflow Job Run Backend ID: ab658f56-c527-46ce-bd08-b7d39fd46d9d[Request] CreateArtifact http://172.30.255.1:8888/twirp/github.actions.results.api.v1.ArtifactService/CreateArtifact[Response] - 200Headers: { "content-length": "382", "content-security-policy": "default-src 'self'; img-src 'self' data:; style-src 'self'; script-src 'self'; base-uri 'none'; frame-ancestors 'none'; object-src 'none'; form-action 'self' https://payment.stancer.com", "content-type": "application/json", "date": "Sun, 11 Oct 2026 04:22:25 GMT", "permissions-policy": "accelerometer=(), autoplay=(), camera=(), display-capture=(), encrypted-media=(), fullscreen=(self), geolocation=(), gyroscope=(), magnetometer=(), microphone=(), midi=(), payment=(), usb=()", "referrer-policy": "strict-origin-when-cross-origin", "strict-transport-security": "max-age=31536000; includeSubDomains", "x-content-type-options": "nosniff", "x-request-id": "3196af3f-61ba-4720-9001-434274cbc61a"}Body: { "ok": true, "signedUploadUrl": "http://172.30.255.1:8888/twirp/_blob/upload?sig=***"}Creating Artifact archive with compressionLevel: 6Zip write high watermark value 8388608Zip read high watermark value 8388608Uploading artifact zip to blob storage with maxConcurrency: 5, bufferSize: 8388608Beginning upload of artifact content to blob storage(node:10069) [DEP0169] DeprecationWarning: `url.parse()` behavior is not standardized and prone to errors that have security implications. Use the WHATWG URL API instead. CVEs are not issued for `url.parse()` vulnerabilities.Zip stream for upload has ended.Zip stream for upload has finished.Uploaded bytes 8388608Uploaded bytes 14446841Finished uploading artifact content to blob storage!SHA256 digest of uploaded artifact zip is 7d9510f30ec4f4fb47abe8b158ad688226ccf3095174b5f134ddacd366183441Finalizing artifact upload[Request] FinalizeArtifact http://172.30.255.1:8888/twirp/github.actions.results.api.v1.ArtifactService/FinalizeArtifact[Response] - 200Headers: { "content-length": "32", "content-security-policy": "default-src 'self'; img-src 'self' data:; style-src 'self'; script-src 'self'; base-uri 'none'; frame-ancestors 'none'; object-src 'none'; form-action 'self' https://payment.stancer.com", "content-type": "application/json", "date": "Sun, 11 Oct 2026 04:22:30 GMT", "permissions-policy": "accelerometer=(), autoplay=(), camera=(), display-capture=(), encrypted-media=(), fullscreen=(self), geolocation=(), gyroscope=(), magnetometer=(), microphone=(), midi=(), payment=(), usb=()", "referrer-policy": "strict-origin-when-cross-origin", "strict-transport-security": "max-age=31536000; includeSubDomains", "x-content-type-options": "nosniff", "x-request-id": "123d8bcf-50ab-40c2-9fb1-c27a83c4be81"}Body: { "artifactId": "3503", "ok": true}Artifact rickub-0.2.0.zip successfully finalized. Artifact ID 3503Artifact rickub-0.2.0 has been successfully uploaded! Final size is 14446841 bytes. Artifact ID is 3503Artifact download URL: https://rickub.com/rickub/cli/actions/runs/56/artifacts/3503
successPublish release 3s
👩‍🏭 Creating new GitHub release for tag v0.2.0 using commit "a97c085d5a4fe84de6f5a799ab6f3895658eda66"...⬆️ Uploading rickub_0.2.0_linux_arm64.tar.gz...⬆️ Uploading rickub_0.2.0_linux_amd64.tar.gz...⬆️ Uploading rickub_0.2.0_darwin_arm64.tar.gz...⬆️ Uploading rickub_0.2.0_darwin_amd64.tar.gz...⬆️ Uploading SHA256SUMS...✅ Uploaded SHA256SUMS✅ Uploaded rickub_0.2.0_linux_amd64.tar.gz✅ Uploaded rickub_0.2.0_darwin_arm64.tar.gz✅ Uploaded rickub_0.2.0_linux_arm64.tar.gz✅ Uploaded rickub_0.2.0_darwin_amd64.tar.gzFinalizing release...Getting assets list...🎉 Release ready at https://rickub.com/rickub/cli/releases/v0.2.0
skippedDry run summary
Run
set -euo pipefail
echo "::notice::Dry run — ${{ steps.check.outputs.tag }} was NOT published."
echo "Artifacts that would have been released:"
ls -l dist/
(skipped: step if: condition evaluated to false)
Post Set up Go
(node:10094) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.(Use `node --trace-deprecation ...` to show where the warning was created)[command]/tmp/hostedtoolcache/go/1.26.9/x64/bin/go env GOMODCACHE[command]/tmp/hostedtoolcache/go/1.26.9/x64/bin/go env GOCACHE/tmp/home/go/pkg/mod/tmp/home/.cache/go-buildCache service version: v2Checking zstd --quiet --version1.5.4zstd version: 1.5.4implicitDescendants 'false'followSymbolicLinks 'true'implicitDescendants 'false'omitBrokenSymbolicLinks 'true'Search path '/tmp/home/go/pkg/mod'Search path '/tmp/home/.cache/go-build'Matched: ../../tmp/home/go/pkg/modMatched: ../../tmp/home/.cache/go-buildCache Paths:["../../tmp/home/go/pkg/mod","../../tmp/home/.cache/go-build"]Archive Path: /tmp/7e721cac-0fef-4fbc-9222-f88e04774436/cache.tzst[command]/usr/bin/tar --posix -cf cache.tzst --exclude cache.tzst -P -C /workspace/cli --files-from manifest.txt --use-compress-program zstdmtFile Size: 129789919Reserving Cache[Request] CreateCacheEntry http://172.30.255.1:8888/twirp/github.actions.results.api.v1.CacheService/CreateCacheEntry[Response] - 200Headers: { "content-length": "772", "content-security-policy": "default-src 'self'; img-src 'self' data:; style-src 'self'; script-src 'self'; base-uri 'none'; frame-ancestors 'none'; object-src 'none'; form-action 'self' https://payment.stancer.com", "content-type": "application/json", "date": "Sun, 11 Oct 2026 04:22:34 GMT", "permissions-policy": "accelerometer=(), autoplay=(), camera=(), display-capture=(), encrypted-media=(), fullscreen=(self), geolocation=(), gyroscope=(), magnetometer=(), microphone=(), midi=(), payment=(), usb=()", "referrer-policy": "strict-origin-when-cross-origin", "strict-transport-security": "max-age=31536000; includeSubDomains", "x-content-type-options": "nosniff", "x-request-id": "4d6de271-48bd-44fb-81dc-f5ae9b33d97d"}Body: { "ok": true, "signedUploadUrl": "http://172.30.255.1:8888/twirp/_blob/upload?sig=***", "signed_upload_url": "http://172.30.255.1:8888/twirp/_blob/upload?sig=***"}Attempting to upload cache located at: /tmp/7e721cac-0fef-4fbc-9222-f88e04774436/cache.tzstUse Azure SDK: trueUpload concurrency: 8Upload chunk size: 67108864BlobClient: upload:twirp:_blob(node:10094) [DEP0169] DeprecationWarning: `url.parse()` behavior is not standardized and prone to errors that have security implications. Use the WHATWG URL API instead. CVEs are not issued for `url.parse()` vulnerabilities.Sent 16908288 of 129789919 (13.0%), 16.1 MBs/secSent 27197440 of 129789919 (21.0%), 13.0 MBs/secSent 38993920 of 129789919 (30.0%), 12.4 MBs/secSent 50659328 of 129789919 (39.0%), 12.1 MBs/secSent 61145088 of 129789919 (47.1%), 11.7 MBs/secSent 72876032 of 129789919 (56.1%), 11.6 MBs/secSent 83165184 of 129789919 (64.1%), 11.3 MBs/secSent 90505216 of 129789919 (69.7%), 10.8 MBs/secSent 102236160 of 129789919 (78.8%), 10.8 MBs/secSent 112459776 of 129789919 (86.6%), 10.7 MBs/secSent 124190720 of 129789919 (95.7%), 10.8 MBs/secSent 129789919 of 129789919 (100.0%), 10.3 MBs/sec[Request] FinalizeCacheEntryUpload http://172.30.255.1:8888/twirp/github.actions.results.api.v1.CacheService/FinalizeCacheEntryUpload[Response] - 200Headers: { "content-length": "47", "content-security-policy": "default-src 'self'; img-src 'self' data:; style-src 'self'; script-src 'self'; base-uri 'none'; frame-ancestors 'none'; object-src 'none'; form-action 'self' https://payment.stancer.com", "content-type": "application/json", "date": "Sun, 11 Oct 2026 04:22:47 GMT", "permissions-policy": "accelerometer=(), autoplay=(), camera=(), display-capture=(), encrypted-media=(), fullscreen=(self), geolocation=(), gyroscope=(), magnetometer=(), microphone=(), midi=(), payment=(), usb=()", "referrer-policy": "strict-origin-when-cross-origin", "strict-transport-security": "max-age=31536000; includeSubDomains", "x-content-type-options": "nosniff", "x-request-id": "b606620b-d7db-48b6-81ac-29a35cb491fe"}Body: { "entryId": "4414", "entry_id": "4414", "ok": true}FinalizeCacheEntryUploadResponse: trueCache saved with the key: setup-go-Linux-x64-ubuntu22-go-1.26.9-e83b8c1f582e6d931577fc73618a9a9b192b6857b1971d1da5ce8a7a9b35f205
Annotations
VERSION file says '0.1.0' but you are releasing '0.2.0'. Open a PR bumping VERSION to '0.2.0' so future RCs are numbered from it.

No test reports for this run.

Tell a job where its test runner writes its report and this tab fills in: how many tests passed, failed and were skipped, a bar of the result at a glance, then every failure first — with the assertion that failed and the output around it — over a per-suite list of cases and their durations. No scrolling a log for the word FAIL.

It is one reports: key on the job — a job key, not a step, so the report is collected whatever the job concluded. JUnit XML and go test -json are both understood, and most runners already emit one of them. reports: is a rickub extension and works only in .rickub/workflows/; in .github/workflows/ it is a parse error on purpose, because those files are also meant to run on github.com.