turbo-editors/turbo-jspublic Fork 0
main
Commits
Clone
git clone https://git.rickub.com/turbo-editors/turbo-js.git
git clone ssh://git@rickub.com/turbo-editors/turbo-js.git

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

success

Release #2

push · v1.0.1 · 95b203acran in 1m06s · 382 lines of output
queued <1s ran 1m06s total 1m06s
1 jobs
0 failed
1m06s duration
tests
1 artifacts
publish ${{ github.ref_name }}
successpublish ${{ github.ref_name }}
successSet up job
cloning turbo-editors/turbo-js @ 95b203ac488744e32216db9231338b91e9c290a5action 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)
successSet up Go 5s
ciguest: network up (172.30.0.2/30 via 172.30.0.1)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 rickubSetup go version spec 1.26.1isExplicit: 1.26.1explicit? truechecking cache: /tmp/hostedtoolcache/go/1.26.1/x64not foundAttempting to download 1.26.1...No manifest cachedGetting manifest from actions/go-versions@main(node:549) [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.1...check 1.27.1 satisfies 1.26.1check 1.27.0 satisfies 1.26.1check 1.26.8 satisfies 1.26.1check 1.26.7 satisfies 1.26.1check 1.26.6 satisfies 1.26.1check 1.26.5 satisfies 1.26.1check 1.26.4 satisfies 1.26.1check 1.26.3 satisfies 1.26.1check 1.26.2 satisfies 1.26.1check 1.26.1 satisfies 1.26.1arm64===x64 && darwin===linuxx64===x64 && darwin===linuxarm64===x64 && linux===linuxx64===x64 && linux===linuxmatched 1.26.1Acquiring 1.26.1 from https://github.com/actions/go-versions/releases/download/1.26.1-22746851271/go-1.26.1-linux-x64.tar.gzDownloading https://github.com/actions/go-versions/releases/download/1.26.1-22746851271/go-1.26.1-linux-x64.tar.gzDestination /tmp/da9e6c64-bedf-4247-8773-6e73f1721968download 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/bef91bad-c65a-451b-896e-d736171f3816 -f /tmp/da9e6c64-bedf-4247-8773-6e73f1721968Successfully extracted go to /tmp/bef91bad-c65a-451b-896e-d736171f3816Adding to the cache ...Caching tool go 1.26.1 x64source dir: /tmp/bef91bad-c65a-451b-896e-d736171f3816destination /tmp/hostedtoolcache/go/1.26.1/x64finished caching toolSuccessfully cached go to /tmp/hostedtoolcache/go/1.26.1/x64Added go to the pathSuccessfully set up Go version 1.26.1which go :/tmp/hostedtoolcache/go/1.26.1/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.1/x64/bin/go env GOMODCACHE[command]/tmp/hostedtoolcache/go/1.26.1/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/turbo-js/go.sum'/workspace/turbo-js/go.sumFound 1 files to hash.primary key is setup-go-Linux-x64-ubuntu22-go-1.26.1-e08684be3c173e7c203804dd9ea712743c3f7adde290ebef1be34cc96a0f6d84Cache service version: v2Resolved Keys:["setup-go-Linux-x64-ubuntu22-go-1.26.1-e08684be3c173e7c203804dd9ea712743c3f7adde290ebef1be34cc96a0f6d84"]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": "Sat, 19 Sep 2026 11:37:04 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": "710527e2-c039-49e8-ad82-a8ea9fc7d2c6"}Body: { "ok": false}Cache not found for version 2ba34da42fb93060f8b28272c48240c4b76165e1c6289ee9dd2b884514a58d3d of keys: setup-go-Linux-x64-ubuntu22-go-1.26.1-e08684be3c173e7c203804dd9ea712743c3f7adde290ebef1be34cc96a0f6d84Cache is not found##[add-matcher]/workspace/_actions/actions/setup-go/v5/matchers.jsongo version go1.26.1 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-build3560070820=/tmp/go-build -gno-record-gcc-switches'GOHOSTARCH='amd64'GOHOSTOS='linux'GOINSECURE=''GOMOD='/workspace/turbo-js/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.1/x64'GOSUMDB='sum.golang.org'GOTELEMETRY='local'GOTELEMETRYDIR='/tmp/home/.config/go/telemetry'GOTMPDIR=''GOTOOLCHAIN='auto'GOTOOLDIR='/tmp/hostedtoolcache/go/1.26.1/x64/pkg/tool/linux_amd64'GOVCS=''GOVERSION='go1.26.1'GOWORK=''PKG_CONFIG='pkg-config'
successgo test 16s
Run
go test ./... -count=1
go: downloading rickub.com/turbo-editors/turbo-core v1.0.1go: downloading github.com/gdamore/tcell/v2 v2.13.10go: downloading github.com/BurntSushi/toml v1.6.0go: downloading github.com/gdamore/encoding v1.0.1go: downloading github.com/lucasb-eyer/go-colorful v1.3.0go: downloading github.com/rivo/uniseg v0.4.7go: downloading golang.org/x/sys v0.38.0go: downloading golang.org/x/term v0.37.0go: downloading golang.org/x/text v0.31.0ok rickub.com/turbo-editors/turbo-js 8.387sok rickub.com/turbo-editors/turbo-js/internal/jslang 0.019s
successBuild the release 21s
Run
bash ./02-build-releases.sh "${GITHUB_REF_NAME}"
🚀 Building Turbo JS v1.0.1 — Turbo JS v1.0.1🐹 go version go1.26.1 linux/amd64go build -ldflags "-X 'rickub.com/turbo-editors/turbo-core/version.stamp=v1.0.1' -X 'rickub.com/turbo-editors/turbo-core/version.commit=ff787dd' -X 'rickub.com/turbo-editors/turbo-core/version.built=2026-09-19T11:37:20Z'" -o bin/turbo-js .Turbo JS 1.0.1 (ff787dd, built 2026-09-19T11:37:20Z)🔨 Cross-compiling for 5 platforms... ✅ turbo-js-1.0.1-darwin-arm64 ✅ turbo-js-1.0.1-linux-amd64 ✅ turbo-js-1.0.1-linux-arm64 ✅ turbo-js-1.0.1-windows-amd64.exe ✅ turbo-js-1.0.1-windows-arm64.exe ✅ turbo-js-1.0.1-linux-amd64 reports Turbo JS 1.0.1 (ff787dd, built 2026-09-19T11:37:20Z) ✅ SHA256SUMS ✅ README.md✨ Build complete!total 33M-rw-r--r-- 1 root root 938 Sep 19 11:37 README.md-rw-r--r-- 1 root root 478 Sep 19 11:37 SHA256SUMS-rwxr-xr-x 1 root root 6.5M Sep 19 11:37 turbo-js-1.0.1-darwin-arm64-rwxr-xr-x 1 root root 6.8M Sep 19 11:37 turbo-js-1.0.1-linux-amd64-rwxr-xr-x 1 root root 6.4M Sep 19 11:37 turbo-js-1.0.1-linux-arm64-rwxr-xr-x 1 root root 6.8M Sep 19 11:37 turbo-js-1.0.1-windows-amd64.exe-rwxr-xr-x 1 root root 6.3M Sep 19 11:37 turbo-js-1.0.1-windows-arm64.exe💡 Nothing was published. The Release workflow runs this same script when ./01-release.tag.sh pushes v1.0.1, and attaches release/v1.0.1/ to the release page.
successRelease notes <1s
Run
set -euo pipefail
message="$(git for-each-ref "refs/tags/${GITHUB_REF_NAME}" --format='%(contents)' | sed '/^-----BEGIN PGP SIGNATURE-----/,$d')"
if [ -z "$(printf '%s' "${message}" | tr -d '[:space:]')" ]; then
  message="Turbo JS ${GITHUB_REF_NAME}"
fi
tree="${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}/blob/${GITHUB_REF_NAME}"
version="${GITHUB_REF_NAME#v}"
{
  printf '%s\n\n' "${message}"
  echo "Download the binary for your platform below, or install from the module proxy:"
  echo
  echo '```bash'
  echo "go install $(go list -m)@${GITHUB_REF_NAME}"
  echo '```'
  echo
  echo "Documentation: [English](${tree}/docs/en/README.md) · [Français](${tree}/docs/fr/README.md) · [how to install](${tree}/docs/en/how-to/install.md)"
  echo
  echo "- Commit: \`${GITHUB_SHA}\`"
  echo "- Published by the Release workflow, run #${GITHUB_RUN_NUMBER}, with $(go env GOVERSION)"
  echo
  echo '## Running a download'
  echo
  echo '```bash'
  echo "chmod +x turbo-js-${version}-<platform>"
  echo "./turbo-js-${version}-<platform> main.js"
  echo '```'
  echo
  echo "On macOS, an unsigned download is quarantined until you say otherwise: \`xattr -d com.apple.quarantine turbo-js-${version}-darwin-arm64\`."
  echo
  echo '## Checksums'
  echo
  echo 'Verify a download with `sha256sum -c SHA256SUMS --ignore-missing` (`shasum -a 256 -c` on macOS).'
  echo
  echo '```'
  cat "release/${GITHUB_REF_NAME}/SHA256SUMS"
  echo '```'
} > "${RUNNER_TEMP}/notes.md"
echo "path=${RUNNER_TEMP}/notes.md" >> "$GITHUB_OUTPUT"
successKeep the binaries as a run artifact 3s
followSymbolicLinks 'true'implicitDescendants 'true'omitBrokenSymbolicLinks 'true'excludeHiddenFiles 'true'(node:9628) [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/turbo-js/release/v1.0.1'Removing /workspace/turbo-js/release/v1.0.1 from rawSearchResults because it is a directoryFile:/workspace/turbo-js/release/v1.0.1/README.md was found using the provided searchPathFile:/workspace/turbo-js/release/v1.0.1/SHA256SUMS was found using the provided searchPathFile:/workspace/turbo-js/release/v1.0.1/turbo-js-1.0.1-darwin-arm64 was found using the provided searchPathFile:/workspace/turbo-js/release/v1.0.1/turbo-js-1.0.1-linux-amd64 was found using the provided searchPathFile:/workspace/turbo-js/release/v1.0.1/turbo-js-1.0.1-linux-arm64 was found using the provided searchPathFile:/workspace/turbo-js/release/v1.0.1/turbo-js-1.0.1-windows-amd64.exe was found using the provided searchPathFile:/workspace/turbo-js/release/v1.0.1/turbo-js-1.0.1-windows-arm64.exe was found using the provided searchPathWith the provided path, there will be 7 files uploadedRoot artifact directory is /workspace/turbo-js/release/v1.0.1Artifact name is valid!Root directory input is valid!Workflow Run Backend ID: 7ad11a33-2845-4eec-96cd-e3e33cbff147Workflow Job Run Backend ID: a7ece33c-35ec-4aeb-affe-d357e41b56ef[Request] CreateArtifact http://172.30.255.1:8888/twirp/github.actions.results.api.v1.ArtifactService/CreateArtifact[Response] - 200Headers: { "content-length": "316", "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": "Sat, 19 Sep 2026 11:37:42 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": "ee532778-cca4-4ee4-91c6-88771855c789"}Body: { "ok": true, "signedUploadUrl": "http://172.30.255.1:8888/twirp/_blob/upload?sig=eyJvcCI6InVwIiwia2V5IjoiY2ktYXJ0aWZhY3RzLzY2YzA2NmE1LWRhZmEtNDQ3Zi1hNmQwLWU3YjRhYzVmZjU0Ni83YWQxMWEzMy0yODQ1LTRlZWMtOTZjZC1lM2UzM2NiZmYxNDcvdHVyYm8tanMtdjEuMC4xLnppcCIsImV4cCI6MTc4OTgyMTQ2Mn0.Yyfx9aGTO1QfSzV-SWwLIWB1Rv7Rkgzt04rKunTm2k0"}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:9628) [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 16777216Uploaded bytes 18551198Finished uploading artifact content to blob storage!SHA256 digest of uploaded artifact zip is d5df843fb4407dd3703aaf8c3f72d71638e9f5914791f8f91cf6720816f9db2bFinalizing 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": "Sat, 19 Sep 2026 11:37:45 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": "b1524729-76d6-437b-8529-9d10e6f04ef7"}Body: { "artifactId": "1644", "ok": true}Artifact turbo-js-v1.0.1.zip successfully finalized. Artifact ID 1644Artifact turbo-js-v1.0.1 has been successfully uploaded! Final size is 18551198 bytes. Artifact ID is 1644Artifact download URL: https://rickub.com/turbo-editors/turbo-js/actions/runs/2/artifacts/1644
successPublish the release 3s
👩‍🏭 Creating new GitHub release for tag v1.0.1...⬆️ Uploading turbo-js-1.0.1-windows-arm64.exe...⬆️ Uploading turbo-js-1.0.1-windows-amd64.exe...⬆️ Uploading turbo-js-1.0.1-linux-arm64...⬆️ Uploading turbo-js-1.0.1-linux-amd64...⬆️ Uploading turbo-js-1.0.1-darwin-arm64...⬆️ Uploading SHA256SUMS...⬆️ Uploading README.md...✅ Uploaded README.md✅ Uploaded SHA256SUMS✅ Uploaded turbo-js-1.0.1-windows-arm64.exe✅ Uploaded turbo-js-1.0.1-linux-amd64✅ Uploaded turbo-js-1.0.1-windows-amd64.exe✅ Uploaded turbo-js-1.0.1-darwin-arm64✅ Uploaded turbo-js-1.0.1-linux-arm64Finalizing release...Getting assets list...🎉 Release ready at https://rickub.com/turbo-editors/turbo-js/releases/v1.0.1
Post Set up Go
(node:9653) [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.1/x64/bin/go env GOCACHE[command]/tmp/hostedtoolcache/go/1.26.1/x64/bin/go env GOMODCACHE/tmp/home/.cache/go-build/tmp/home/go/pkg/modCache 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/d0c1d550-5088-48aa-b61d-c2d5e79e9b47/cache.tzst[command]/usr/bin/tar --posix -cf cache.tzst --exclude cache.tzst -P -C /workspace/turbo-js --files-from manifest.txt --use-compress-program zstdmtFile Size: 134898081Reserving Cache[Request] CreateCacheEntry http://172.30.255.1:8888/twirp/github.actions.results.api.v1.CacheService/CreateCacheEntry[Response] - 200Headers: { "content-length": "632", "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": "Sat, 19 Sep 2026 11:37:48 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": "74ee1101-8725-4b2f-9cf8-73019b0dd986"}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/d0c1d550-5088-48aa-b61d-c2d5e79e9b47/cache.tzstUse Azure SDK: trueUpload concurrency: 8Upload chunk size: 67108864BlobClient: upload:twirp:_blob(node:9653) [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 680353 of 134898081 (0.5%), 0.6 MBs/secSent 680353 of 134898081 (0.5%), 0.3 MBs/secSent 680353 of 134898081 (0.5%), 0.2 MBs/secSent 680353 of 134898081 (0.5%), 0.2 MBs/secSent 680353 of 134898081 (0.5%), 0.1 MBs/secSent 680353 of 134898081 (0.5%), 0.1 MBs/secSent 680353 of 134898081 (0.5%), 0.1 MBs/secSent 680353 of 134898081 (0.5%), 0.1 MBs/secSent 680353 of 134898081 (0.5%), 0.1 MBs/secSent 134898081 of 134898081 (100.0%), 12.9 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": "Sat, 19 Sep 2026 11:38:04 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": "2a67b041-be47-4ba7-bff0-61a869751655"}Body: { "entryId": "2119", "entry_id": "2119", "ok": true}FinalizeCacheEntryUploadResponse: trueCache saved with the key: setup-go-Linux-x64-ubuntu22-go-1.26.1-e08684be3c173e7c203804dd9ea712743c3f7adde290ebef1be34cc96a0f6d84

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.