nandi/nimstaticpublic Fork 0
main
Commits
Clone
git clone https://git.rickub.com/nandi/nimstatic.git
git clone ssh://git@rickub.com/nandi/nimstatic.git

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

failure

Release #1

push · v0.1.1 · 548fdd3eran in 31s · 231 lines of output
queued <1s ran 31s total 31s
1 jobs
1 failed
31s duration
tests
0 artifacts
failurerelease → Build the static binary with itself View log
Unclassified failure The failure didn't match a known signature. Open the log — and this is a signal our classifier needs a new pattern.
release
failurerelease
successSet up job
cloning nandi/nimstatic @ 548fdd3ec1e0e585539e537d9193a2c072616e6baction actions/cache@v4: node20 (_actions/actions/cache/v4)action actions/upload-artifact@v4: node20 (_actions/actions/upload-artifact/v4)
successactions/checkout@v4 1s
(checkout already performed by the runner — delivered as the read-only work disk)
successInstall Nim and zig 5s
Run
set -euo pipefail
mkdir -p "$HOME/toolchains"
curl -sSfL "https://nim-lang.org/download/nim-${NIM_VERSION}-linux_x64.tar.xz" \
  | tar -xJ -C "$HOME/toolchains"
curl -sSfL "https://ziglang.org/download/${ZIG_VERSION}/zig-x86_64-linux-${ZIG_VERSION}.tar.xz" \
  | tar -xJ -C "$HOME/toolchains"
echo "$HOME/toolchains/nim-${NIM_VERSION}/bin" >> "$GITHUB_PATH"
echo "$HOME/toolchains/zig-x86_64-linux-${ZIG_VERSION}" >> "$GITHUB_PATH"
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 rickub
successVersions <1s
Run
nim --version | head -1
zig version
Nim Compiler Version 2.2.4 [Linux: amd64]0.15.1
successactions/cache@v4 <1s
Cache service version: v2Resolved Keys:["nimstatic-alpine-Linux-v3.21"]Checking zstd --quiet --version(node:564) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.(Use `node --trace-deprecation ...` to show where the warning was created)1.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, 20 Sep 2026 01:00:07 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": "3daeab86-ebab-4faa-9792-63958a2c68d7"}Body: { "ok": false}Cache not found for version 31e0b0750dc79fae80ee8c7b40914e543463c5fab35daa390e41b3c7472d6d84 of keys: nimstatic-alpine-Linux-v3.21Cache not found for input keys: nimstatic-alpine-Linux-v3.21
successTest 2s
Run
nim c -d:ssl --hints:off -r tests/test_nimstatic.nim
[Suite] index parsing [OK] records and fields [OK] provides are indexed [OK] version constraints are stripped [OK] conflicts are recognized[Suite] resolution [OK] dependencies come before dependents [OK] a package is visited once [OK] --no-deps stops at the request [OK] an unsatisfiable request names its requester [OK] merge lets a later repo shadow an earlier one[Suite] sysroot manifest [OK] record then read back [OK] re-recording replaces rather than duplicates [OK] static libs are found and sorted[Suite] flags [OK] plain sysroot [OK] openssl archives switch on the static-TLS workarounds [OK] cc flags and pkg-config env [OK] an override with no archive in the sysroot is dropped [OK] libssl links before libcrypto [OK] nimcfg carries the compiler and the flags [OK] zigcc script targets the right triple[Suite] remote [OK] urls are built from mirror, branch, repo and arch[Suite] detection [OK] sonames reduce to library names [OK] link libraries come off the link command, once each [OK] dynlib candidates are found in generated C [OK] inspect maps libraries to packages and flags the rest [OK] --map overrides the built-in table
successBootstrap nimstatic on the host 4s
Run
nim c -d:release -d:ssl --hints:off -o:nimstatic-host src/nimstatic.nim
failureBuild the static binary with itself 14s
Run
set -euo pipefail
VERSION="${GITHUB_REF_NAME#v}"
NAME="nimstatic-${VERSION}-x86_64-linux"
./nimstatic-host src/nimstatic.nim -o "$NAME" -- -d:ssl --passL:-s
file "$NAME"
ldd "$NAME" 2>&1 | grep -q "not a dynamic executable"
./"$NAME" --help > /dev/null
xz -9e -k "$NAME"
sha256sum "$NAME" "$NAME.xz" > SHA256SUMS
cat SHA256SUMS
echo "NAME=$NAME" >> "$GITHUB_ENV"
probing nimstatic.nim … ssl dlopen openssl-libs-static crypto dlopen openssl-libs-staticfetching index: main/x86_64fetching index: community/x86_64downloading openssl-libs-static 3.3.7-r1 (12734 KiB)building …Hint: used config file '/tmp/home/toolchains/nim-2.2.4/config/nim.cfg' [Conf]Hint: used config file '/tmp/home/toolchains/nim-2.2.4/config/config.nims' [Conf]Hint: used config file '/workspace/nimstatic/config.nims' [Conf]..........................................................................................................................................................................CC: ../../../tmp/home/toolchains/nim-2.2.4/lib/system/exceptions.nimCC: ../../../tmp/home/toolchains/nim-2.2.4/lib/std/private/digitsutils.nimCC: ../../../tmp/home/toolchains/nim-2.2.4/lib/std/assertions.nimCC: ../../../tmp/home/toolchains/nim-2.2.4/lib/system/dollars.nimCC: ../../../tmp/home/toolchains/nim-2.2.4/lib/std/syncio.nimCC: ../../../tmp/home/toolchains/nim-2.2.4/lib/system.nimCC: ../../../tmp/home/toolchains/nim-2.2.4/lib/pure/parseutils.nimCC: ../../../tmp/home/toolchains/nim-2.2.4/lib/pure/math.nimCC: ../../../tmp/home/toolchains/nim-2.2.4/lib/pure/algorithm.nimCC: ../../../tmp/home/toolchains/nim-2.2.4/lib/pure/unicode.nimCC: ../../../tmp/home/toolchains/nim-2.2.4/lib/pure/strutils.nimCC: ../../../tmp/home/toolchains/nim-2.2.4/lib/pure/pathnorm.nimCC: ../../../tmp/home/toolchains/nim-2.2.4/lib/std/oserrors.nimCC: ../../../tmp/home/toolchains/nim-2.2.4/lib/posix/posix.nimCC: ../../../tmp/home/toolchains/nim-2.2.4/lib/std/private/oscommon.nimCC: ../../../tmp/home/toolchains/nim-2.2.4/lib/std/private/ospaths2.nimCC: ../../../tmp/home/toolchains/nim-2.2.4/lib/std/private/ossymlinks.nimCC: ../../../tmp/home/toolchains/nim-2.2.4/lib/pure/times.nimCC: ../../../tmp/home/toolchains/nim-2.2.4/lib/std/private/osfiles.nimCC: ../../../tmp/home/toolchains/nim-2.2.4/lib/std/private/osdirs.nimCC: ../../../tmp/home/toolchains/nim-2.2.4/lib/std/envvars.nimCC: ../../../tmp/home/toolchains/nim-2.2.4/lib/std/private/osappdirs.nimCC: ../../../tmp/home/toolchains/nim-2.2.4/lib/std/cmdline.nimCC: ../../../tmp/home/toolchains/nim-2.2.4/lib/pure/os.nimCC: ../../../tmp/home/toolchains/nim-2.2.4/lib/pure/hashes.nimCC: ../../../tmp/home/toolchains/nim-2.2.4/lib/pure/strtabs.nimCC: ../../../tmp/home/toolchains/nim-2.2.4/lib/pure/streams.nimCC: ../../../tmp/home/toolchains/nim-2.2.4/lib/std/monotimes.nimCC: ../../../tmp/home/toolchains/nim-2.2.4/lib/pure/osproc.nimCC: ../../../tmp/home/toolchains/nim-2.2.4/lib/pure/collections/tables.nimCC: ../../../tmp/home/toolchains/nim-2.2.4/lib/pure/lexbase.nimCC: ../../../tmp/home/toolchains/nim-2.2.4/lib/pure/parsejson.nimCC: ../../../tmp/home/toolchains/nim-2.2.4/lib/pure/json.nimCC: ../../../tmp/home/toolchains/nim-2.2.4/lib/pure/collections/sets.nimCC: nimstatic/detect.nimCC: nimstatic/index.nimCC: nimstatic/sysroot.nimCC: nimstatic/flags.nimCC: ../../../tmp/home/toolchains/nim-2.2.4/lib/pure/nativesockets.nimCC: ../../../tmp/home/toolchains/nim-2.2.4/lib/wrappers/openssl.nimCC: ../../../tmp/home/toolchains/nim-2.2.4/lib/pure/ssl_certs.nimCC: ../../../tmp/home/toolchains/nim-2.2.4/lib/pure/net.nimCC: ../../../tmp/home/toolchains/nim-2.2.4/lib/pure/base64.nimCC: ../../../tmp/home/toolchains/nim-2.2.4/lib/pure/uri.nimCC: ../../../tmp/home/toolchains/nim-2.2.4/lib/pure/random.nimCC: ../../../tmp/home/toolchains/nim-2.2.4/lib/pure/httpcore.nimCC: ../../../tmp/home/toolchains/nim-2.2.4/lib/pure/asyncfutures.nimCC: ../../../tmp/home/toolchains/nim-2.2.4/lib/pure/asyncdispatch.nimCC: ../../../tmp/home/toolchains/nim-2.2.4/lib/pure/httpclient.nimCC: nimstatic/repo.nimCC: nimstatic/build.nimCC: nimstatic.nimHint: [Link]Hint: mm: orc; threads: on; opt: speed; options: -d:release93065 lines; 12.580s; 176.488MiB peakmem; proj: /workspace/nimstatic/src/nimstatic.nim; out: /workspace/nimstatic/nimstatic-0.1.1-x86_64-linux [SuccessX]wrote nimstatic-0.1.1-x86_64-linux (4989 KiB, static)bash: line 5: file: command not found
skippedAttach the binaries to the release
Run
set -euo pipefail
api() { curl -sSfL -H "Authorization: Bearer $GITHUB_TOKEN" \
             -H "Accept: application/vnd.github+json" "$@"; }
field() { python3 -c "import json,sys; print(json.load(sys.stdin).get(sys.argv[1],''))" "$1"; }

if ! api "$GITHUB_API_URL/repos/$GITHUB_REPOSITORY/releases/tags/$TAG" > release.json; then
  api -X POST "$GITHUB_API_URL/repos/$GITHUB_REPOSITORY/releases" \
      -d "{\"tag_name\":\"$TAG\",\"name\":\"nimstatic $TAG\"}" > release.json
fi

upload_url=$(field upload_url < release.json | cut -d'{' -f1)
echo "uploading to $upload_url"

for asset in "$NAME" "$NAME.xz" SHA256SUMS; do
  # Replace an asset of the same name, so a re-run is idempotent.
  existing=$(python3 -c "import json,sys; print(next((a['url'] for a in (json.load(open('release.json')).get('assets') or []) if a['name']==sys.argv[1]),''))" "$asset")
  if [ -n "$existing" ]; then
    api -X DELETE "$existing" > /dev/null
  fi
  api -X POST "$upload_url?name=$asset" \
      -H "Content-Type: application/octet-stream" \
      --data-binary "@$asset" > /dev/null
  echo "uploaded $asset"
done
(skipped: step if: condition evaluated to false)
skippedactions/upload-artifact@v4
(skipped: step if: condition evaluated to false)
Post actions/cache@v4
Cache service version: v2Checking zstd --quiet --version(node:2820) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.(Use `node --trace-deprecation ...` to show where the warning was created)1.5.4zstd version: 1.5.4implicitDescendants 'false'followSymbolicLinks 'true'implicitDescendants 'false'omitBrokenSymbolicLinks 'true'Search path '/tmp/home/.cache/nimstatic'Matched: ../../tmp/home/.cache/nimstaticCache Paths:["../../tmp/home/.cache/nimstatic"]Archive Path: /tmp/f5899007-6e3f-477d-bcf9-e757d5b19c13/cache.tzst[command]/usr/bin/tar --posix -cf cache.tzst --exclude cache.tzst -P -C /workspace/nimstatic --files-from manifest.txt --use-compress-program zstdmtFile Size: 17909469Reserving 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": "Sun, 20 Sep 2026 01:00:27 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": "4904c88d-20f6-44dc-9726-9f9e16b24f7d"}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/f5899007-6e3f-477d-bcf9-e757d5b19c13/cache.tzstUse Azure SDK: trueUpload concurrency: 8Upload chunk size: 67108864BlobClient: upload:twirp:_blob(node:2820) [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 14483456 of 17909469 (80.9%), 13.8 MBs/secSent 17909469 of 17909469 (100.0%), 8.5 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, 20 Sep 2026 01:00:31 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": "55c309ed-e528-488c-8c76-77c6e95f7db0"}Body: { "entryId": "2224", "entry_id": "2224", "ok": true}FinalizeCacheEntryUploadResponse: trueCache saved with key: nimstatic-alpine-Linux-v3.21step failed: exit code 127 — Build the static binary with itself

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.