$ /nix/store/9ypz3flqsrl5xl495mm8h645gadjsxi1-coreutils-9.11/bin/timeout --kill-after=15s 7200s /nix/store/23zk8sgzamrbmj1fday15szf7f2279s8-nix-2.34.7/bin/nix --extra-experimental-features nix-command --extra-experimental-features flakes --log-format internal-json build --no-link --print-out-paths git+https://codeberg.org/mtlynch/little-moments?ref=about-header&rev=e238fe01c1a98a5afcd51a89e0b23e8502e774fa#packages.x86_64-linux.go-tests --print-build-logs error (ignored): SQLite database '/var/cache/nix-ci-worker/eval-cache-v6/dc175ae9b62711fa112a16f515f7efeda3f24d9aa36537e6c60d2323c8d1fb72.sqlite' is busy  Building /nix/store/1vcmfik3cbjbisc8bzj1vxf5raq1vf3r-go-tests-0.0.0.drv [go-tests] Phase: unpackPhase [go-tests] unpacking source archive /nix/store/3r7nmmsn6pajj1pjfyb5pacmlsy08adp-source [go-tests] source root is source [go-tests] Phase: patchPhase [go-tests] Phase: updateAutotoolsGnuConfigScriptsPhase [go-tests] Phase: configurePhase [go-tests] no configure script, doing nothing [go-tests] Phase: buildPhase [go-tests] patching script interpreter paths in ./dev-scripts [go-tests] ./dev-scripts/run-go-tests: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" [go-tests] ./dev-scripts/check-go-formatting: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" [go-tests] ./dev-scripts/serve: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" [go-tests] ./dev-scripts/upload-prod-db: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" [go-tests] ./dev-scripts/run-e2e-tests: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" [go-tests] ./dev-scripts/download-prod-db: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" [go-tests] ./dev-scripts/populate-db: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" [go-tests] ./dev-scripts/build-backend: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" [go-tests] ./dev-scripts/check-trailing-whitespace: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" [go-tests] ./dev-scripts/serve-docker: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" [go-tests] ./dev-scripts/check-frontend: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" [go-tests] ./dev-scripts/run-single-go-test: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" [go-tests] ./dev-scripts/render-design-doc: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" [go-tests] ./dev-scripts/check-bash: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" [go-tests] ./dev-scripts/enable-git-hooks: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" [go-tests] ./dev-scripts/check-go-test-packages: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" [go-tests] ./dev-scripts/enable-multiarch-docker: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" [go-tests] ./dev-scripts/lint-sql: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" [go-tests] ./dev-scripts/package-binaries: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" [go-tests] ./dev-scripts/reset-db: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" [go-tests] ./dev-scripts/check-trailing-newline: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" [go-tests] ./dev-scripts/git-hooks/pre-commit: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" [go-tests] + set -o pipefail [go-tests] + full_test= [go-tests] + go_test_flags=("-tags=netgo,osusergo") [go-tests] + go_test_flags+=("-fullpath") [go-tests] + readonly COVERAGE_FILE_RAW=.coverage.out [go-tests] + COVERAGE_FILE_RAW=.coverage.out [go-tests] + readonly COVERAGE_FILE_HTML=.coverage.html [go-tests] + COVERAGE_FILE_HTML=.coverage.html [go-tests] + [[ '' = \-\-full ]] [go-tests] + set -u [go-tests] +++ dirname ./dev-scripts/run-go-tests [go-tests] ++ cd ./dev-scripts [go-tests] ++ pwd [go-tests] + SCRIPT_DIR=/build/source/dev-scripts [go-tests] + readonly SCRIPT_DIR [go-tests] + cd /build/source/dev-scripts/.. [go-tests] + go test -tags=netgo,osusergo -fullpath ./... [go-tests] ? codeberg.org/mtlynch/little-moments/build [no test files] [go-tests] ? codeberg.org/mtlynch/little-moments/cmd/app [no test files] [go-tests] ? codeberg.org/mtlynch/little-moments/cmd/import-from-tinybeans [no test files] [go-tests] ? codeberg.org/mtlynch/little-moments/convert [no test files] [go-tests] 2026/06/22 17:30:35 reading DB from file:/TestAboutPageIncludesVersionMetadata_0x60e6bcf8488?vfs=memdb [go-tests] 2026/06/22 17:30:36 CSP media origin: "" [go-tests] 2026/06/22 17:30:36 cleaning expired auth sessions from store [go-tests] --- FAIL: TestAboutPageIncludesVersionMetadata (0.98s) [go-tests]  /build/source/handlers/about_test.go:74: about heading not found [go-tests] 2026/06/22 17:30:36 failed to read auth session from context: session backend unavailable [go-tests] 2026/06/22 17:30:36 reading DB from file:/TestAuthFlow_0x60e6ea99208?vfs=memdb [go-tests] 2026/06/22 17:30:36 inserting magic login token for user 11111111-1111-4111-8111-111111111111 [go-tests] 2026/06/22 17:30:36 cleaning expired auth sessions from store [go-tests] 2026/06/22 17:30:36 login confirm: consumed token for user 11111111-1111-4111-8111-111111111111 [go-tests] 2026/06/22 17:30:36 reading DB from file:/TestLoginPostRejectsOpenRedirectNextURL_0x60e6ea998c8?vfs=memdb [go-tests] 2026/06/22 17:30:36 cleaning expired auth sessions from store [go-tests] 2026/06/22 17:30:36 reading DB from file:/TestLoginConfirmPost/missing_token_returns_400_0x60e6ea99d48?vfs=memdb [go-tests] 2026/06/22 17:30:36 cleaning expired auth sessions from store [go-tests] 2026/06/22 17:30:36 reading DB from file:/TestLoginConfirmPost/malformed_token_returns_400_0x60e6f4de008?vfs=memdb [go-tests] 2026/06/22 17:30:36 cleaning expired auth sessions from store [go-tests] 2026/06/22 17:30:36 login confirm: invalid token format: invalid login token: must be 32 alphanumeric characters [go-tests] 2026/06/22 17:30:36 reading DB from file:/TestLoginConfirmPost/well-formed_token_that%27s_not_in_store_returns_401_0x60e6f4de248?vfs=memdb [go-tests] 2026/06/22 17:30:36 inserting magic login token for user 11111111-1111-4111-8111-111111111111 [go-tests] 2026/06/22 17:30:36 cleaning expired auth sessions from store [go-tests] 2026/06/22 17:30:36 login confirm: invalid token attempt [go-tests] 2026/06/22 17:30:36 reading DB from file:/TestLoginConfirmPost/valid_token_that%27s_expired_returns_401_0x60e6f4de488?vfs=memdb [go-tests] 2026/06/22 17:30:36 inserting magic login token for user 11111111-1111-4111-8111-111111111111 [go-tests] 2026/06/22 17:30:36 cleaning expired auth sessions from store [go-tests] 2026/06/22 17:30:36 login confirm: expired token attempt [go-tests] 2026/06/22 17:30:36 reading DB from file:/TestLoginConfirmPost/valid_token_that%27s_already_used_returns_401_0x60e6f4de6c8?vfs=memdb [go-tests] 2026/06/22 17:30:36 inserting magic login token for user 11111111-1111-4111-8111-111111111111 [go-tests] 2026/06/22 17:30:36 cleaning expired auth sessions from store [go-tests] 2026/06/22 17:30:36 login confirm: already-used token attempt [go-tests] 2026/06/22 17:30:36 reading DB from file:/TestLoginConfirmPost/valid_token_with_session_creation_failure_returns_500_0x60e6f4de908?vfs=memdb [go-tests] 2026/06/22 17:30:36 inserting magic login token for user 11111111-1111-4111-8111-111111111111 [go-tests] 2026/06/22 17:30:36 cleaning expired auth sessions from store [go-tests] 2026/06/22 17:30:36 login confirm: consumed token for user 11111111-1111-4111-8111-111111111111 [go-tests] 2026/06/22 17:30:36 login confirm: failed to confirm login: create auth session: session broken [go-tests] 2026/06/22 17:30:36 reading DB from file:/TestLoginConfirmPost/valid_token_with_successful_session_creation_redirects_to_stored_next_path_0x60e6f4ded88?vfs=memdb [go-tests] 2026/06/22 17:30:36 inserting magic login token for user 11111111-1111-4111-8111-111111111111 [go-tests] 2026/06/22 17:30:36 cleaning expired auth sessions from store [go-tests] 2026/06/22 17:30:36 login confirm: consumed token for user 11111111-1111-4111-8111-111111111111 [go-tests] 2026/06/22 17:30:36 reading DB from file:/TestLoginPostRejectsMalformedFormBody_0x60e6f4defc8?vfs=memdb [go-tests] 2026/06/22 17:30:36 cleaning expired auth sessions from store [go-tests] 2026/06/22 17:30:36 reading DB from file:/TestLoginPostRendersCheckEmailPageRegardlessOfRegistration/registered_email_shows_check-email_page_0x60e6f4df448?vfs=memdb [go-tests] 2026/06/22 17:30:36 cleaning expired auth sessions from store [go-tests] 2026/06/22 17:30:36 inserting magic login token for user 11111111-1111-4111-8111-111111111111 [go-tests] 2026/06/22 17:30:36 reading DB from file:/TestLoginPostRendersCheckEmailPageRegardlessOfRegistration/unregistered_email_shows_check-email_page_0x60e6f4dfb08?vfs=memdb [go-tests] 2026/06/22 17:30:36 cleaning expired auth sessions from store [go-tests] 2026/06/22 17:30:36 login attempt from unregistered email: unregistered@example.com [go-tests] 2026/06/22 17:30:36 reading DB from file:/TestLoginPostDoesNotLeakTokenInProdMode_0x60e6fc70248?vfs=memdb [go-tests] 2026/06/22 17:30:36 cleaning expired auth sessions from store [go-tests] 2026/06/22 17:30:36 inserting magic login token for user 11111111-1111-4111-8111-111111111111 [go-tests] 2026/06/22 17:30:36 reading DB from file:/TestLoginPostRejectsInvalidNextPath/protocol-relative_next_path_is_invalid_0x60e6fc70b48?vfs=memdb [go-tests] 2026/06/22 17:30:36 cleaning expired auth sessions from store [go-tests] 2026/06/22 17:30:36 reading DB from file:/TestLoginPostRejectsInvalidNextPath/next_path_without_leading_slash_is_invalid_0x60e6fc70d88?vfs=memdb [go-tests] 2026/06/22 17:30:36 cleaning expired auth sessions from store [go-tests] 2026/06/22 17:30:36 reading DB from file:/TestLoginPostRejectsInvalidNextPath/malformed_next_path_is_invalid_0x60e6fc70fc8?vfs=memdb [go-tests] 2026/06/22 17:30:36 cleaning expired auth sessions from store [go-tests] 2026/06/22 17:30:36 reading DB from file:/TestLoginPostRejectsInvalidNextPath/http_next_path_is_invalid_0x60e6fc71208?vfs=memdb [go-tests] 2026/06/22 17:30:36 cleaning expired auth sessions from store [go-tests] 2026/06/22 17:30:36 reading DB from file:/TestLoginPostRejectsInvalidNextPath/https_next_path_is_invalid_0x60e6fc71448?vfs=memdb [go-tests] 2026/06/22 17:30:36 cleaning expired auth sessions from store [go-tests] 2026/06/22 17:30:36 reading DB from file:/TestLoginPostRejectsInvalidNextPath/non-http_absolute_next_path_is_invalid_0x60e6fc71688?vfs=memdb [go-tests] 2026/06/22 17:30:36 cleaning expired auth sessions from store [go-tests] 2026/06/22 17:30:36 reading DB from file:/TestLoginPostRejectsInvalidEmail_0x60e6fc718c8?vfs=memdb [go-tests] 2026/06/22 17:30:36 cleaning expired auth sessions from store [go-tests] 2026/06/22 17:30:36 reading DB from file:/TestLoginPostReturnsTooManyRequestsAfterIPv4Limit_0x60e6fc70008?vfs=memdb [go-tests] 2026/06/22 17:30:36 cleaning expired auth sessions from store [go-tests] 2026/06/22 17:30:36 reading DB from file:/TestLoginPostDoesNotApplyIPv4LimitToIPv6_0x60e6fc706c8?vfs=memdb [go-tests] 2026/06/22 17:30:36 cleaning expired auth sessions from store [go-tests] 2026/06/22 17:30:36 reading DB from file:/TestLoginPostReturnsTooManyRequestsWhenRateLimited_0x60e6fc70d88?vfs=memdb [go-tests] 2026/06/22 17:30:36 cleaning expired auth sessions from store [go-tests] 2026/06/22 17:30:36 reading DB from file:/TestLoginPostReturnsErrorWhenTokenCreationFails_0x60e6fc70fc8?vfs=memdb [go-tests] 2026/06/22 17:30:36 cleaning expired auth sessions from store [go-tests] 2026/06/22 17:30:36 failed to create login token: database unavailable [go-tests] 2026/06/22 17:30:36 reading DB from file:/TestUploadGetRequiresOwner/unauthenticated_user_is_redirected_to_login_0x60e6bcf98c8?vfs=memdb [go-tests] 2026/06/22 17:30:36 cleaning expired auth sessions from store [go-tests] 2026/06/22 17:30:36 reading DB from file:/TestUploadGetRequiresOwner/subscriber_is_forbidden_0x60e6bcf9b08?vfs=memdb [go-tests] 2026/06/22 17:30:36 cleaning expired auth sessions from store [go-tests] 2026/06/22 17:30:36 reading DB from file:/TestUploadGetRequiresOwner/owner_sees_the_upload_form_0x60e6bcf9d48?vfs=memdb [go-tests] 2026/06/22 17:30:36 cleaning expired auth sessions from store [go-tests] FAIL [go-tests] FAIL codeberg.org/mtlynch/little-moments/handlers 1.068s [go-tests] ok codeberg.org/mtlynch/little-moments/imagepipe 0.020s [go-tests] ? codeberg.org/mtlynch/little-moments/images [no test files] [go-tests] ok codeberg.org/mtlynch/little-moments/importers 0.015s [go-tests] ok codeberg.org/mtlynch/little-moments/importers/tinybeans 0.007s [go-tests] ok codeberg.org/mtlynch/little-moments/importers/tinybeans/parse 0.004s [go-tests] ok codeberg.org/mtlynch/little-moments/little_moments 0.007s [go-tests] ok codeberg.org/mtlynch/little-moments/little_moments/login_token 0.007s [go-tests] ok codeberg.org/mtlynch/little-moments/magiclogin 0.008s [go-tests] ok codeberg.org/mtlynch/little-moments/magiclogin/loginmail 0.008s [go-tests] ok codeberg.org/mtlynch/little-moments/magiclogin/loginmail/smtp 0.013s [go-tests] ok codeberg.org/mtlynch/little-moments/mediastore 0.006s [go-tests] ? codeberg.org/mtlynch/little-moments/random [no test files] [go-tests] ok codeberg.org/mtlynch/little-moments/ratelimit 0.009s [go-tests] ? codeberg.org/mtlynch/little-moments/s3 [no test files] [go-tests] ok codeberg.org/mtlynch/little-moments/s3config 0.006s [go-tests] ? codeberg.org/mtlynch/little-moments/store [no test files] [go-tests] ok codeberg.org/mtlynch/little-moments/store/sqlite 0.963s [go-tests] ? codeberg.org/mtlynch/little-moments/store/test_sqlite [no test files] [go-tests] FAIL Progress: 0 of 1 built (1 failed) Cannot build '/nix/store/1vcmfik3cbjbisc8bzj1vxf5raq1vf3r-go-tests-0.0.0.drv'. Reason: builder failed with exit code 1. Output paths: /nix/store/706c0p0q7h66nzgy69lj936w2zycnfb6-go-tests-0.0.0 Last 151 log lines: > Running phase: unpackPhase > unpacking source archive /nix/store/3r7nmmsn6pajj1pjfyb5pacmlsy08adp-source > source root is source > Running phase: patchPhase > Running phase: updateAutotoolsGnuConfigScriptsPhase > Running phase: configurePhase > no configure script, doing nothing > Running phase: buildPhase > patching script interpreter paths in ./dev-scripts > ./dev-scripts/run-go-tests: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" > ./dev-scripts/check-go-formatting: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" > ./dev-scripts/serve: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" > ./dev-scripts/upload-prod-db: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" > ./dev-scripts/run-e2e-tests: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" > ./dev-scripts/download-prod-db: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" > ./dev-scripts/populate-db: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" > ./dev-scripts/build-backend: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" > ./dev-scripts/check-trailing-whitespace: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" > ./dev-scripts/serve-docker: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" > ./dev-scripts/check-frontend: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" > ./dev-scripts/run-single-go-test: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" > ./dev-scripts/render-design-doc: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" > ./dev-scripts/check-bash: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" > ./dev-scripts/enable-git-hooks: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" > ./dev-scripts/check-go-test-packages: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" > ./dev-scripts/enable-multiarch-docker: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" > ./dev-scripts/lint-sql: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" > ./dev-scripts/package-binaries: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" > ./dev-scripts/reset-db: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" > ./dev-scripts/check-trailing-newline: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" > ./dev-scripts/git-hooks/pre-commit: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" > + set -o pipefail > + full_test= > + go_test_flags=("-tags=netgo,osusergo") > + go_test_flags+=("-fullpath") > + readonly COVERAGE_FILE_RAW=.coverage.out > + COVERAGE_FILE_RAW=.coverage.out > + readonly COVERAGE_FILE_HTML=.coverage.html > + COVERAGE_FILE_HTML=.coverage.html > + [[ '' = \-\-full ]] > + set -u > +++ dirname ./dev-scripts/run-go-tests > ++ cd ./dev-scripts > ++ pwd > + SCRIPT_DIR=/build/source/dev-scripts > + readonly SCRIPT_DIR > + cd /build/source/dev-scripts/.. > + go test -tags=netgo,osusergo -fullpath ./... > ? codeberg.org/mtlynch/little-moments/build [no test files] > ? codeberg.org/mtlynch/little-moments/cmd/app [no test files] > ? codeberg.org/mtlynch/little-moments/cmd/import-from-tinybeans [no test files] > ? codeberg.org/mtlynch/little-moments/convert [no test files] > 2026/06/22 17:30:35 reading DB from file:/TestAboutPageIncludesVersionMetadata_0x60e6bcf8488?vfs=memdb > 2026/06/22 17:30:36 CSP media origin: "" > 2026/06/22 17:30:36 cleaning expired auth sessions from store > --- FAIL: TestAboutPageIncludesVersionMetadata (0.98s) > /build/source/handlers/about_test.go:74: about heading not found > 2026/06/22 17:30:36 failed to read auth session from context: session backend unavailable > 2026/06/22 17:30:36 reading DB from file:/TestAuthFlow_0x60e6ea99208?vfs=memdb > 2026/06/22 17:30:36 inserting magic login token for user 11111111-1111-4111-8111-111111111111 > 2026/06/22 17:30:36 cleaning expired auth sessions from store > 2026/06/22 17:30:36 login confirm: consumed token for user 11111111-1111-4111-8111-111111111111 > 2026/06/22 17:30:36 reading DB from file:/TestLoginPostRejectsOpenRedirectNextURL_0x60e6ea998c8?vfs=memdb > 2026/06/22 17:30:36 cleaning expired auth sessions from store > 2026/06/22 17:30:36 reading DB from file:/TestLoginConfirmPost/missing_token_returns_400_0x60e6ea99d48?vfs=memdb > 2026/06/22 17:30:36 cleaning expired auth sessions from store > 2026/06/22 17:30:36 reading DB from file:/TestLoginConfirmPost/malformed_token_returns_400_0x60e6f4de008?vfs=memdb > 2026/06/22 17:30:36 cleaning expired auth sessions from store > 2026/06/22 17:30:36 login confirm: invalid token format: invalid login token: must be 32 alphanumeric characters > 2026/06/22 17:30:36 reading DB from file:/TestLoginConfirmPost/well-formed_token_that%27s_not_in_store_returns_401_0x60e6f4de248?vfs=memdb > 2026/06/22 17:30:36 inserting magic login token for user 11111111-1111-4111-8111-111111111111 > 2026/06/22 17:30:36 cleaning expired auth sessions from store > 2026/06/22 17:30:36 login confirm: invalid token attempt > 2026/06/22 17:30:36 reading DB from file:/TestLoginConfirmPost/valid_token_that%27s_expired_returns_401_0x60e6f4de488?vfs=memdb > 2026/06/22 17:30:36 inserting magic login token for user 11111111-1111-4111-8111-111111111111 > 2026/06/22 17:30:36 cleaning expired auth sessions from store > 2026/06/22 17:30:36 login confirm: expired token attempt > 2026/06/22 17:30:36 reading DB from file:/TestLoginConfirmPost/valid_token_that%27s_already_used_returns_401_0x60e6f4de6c8?vfs=memdb > 2026/06/22 17:30:36 inserting magic login token for user 11111111-1111-4111-8111-111111111111 > 2026/06/22 17:30:36 cleaning expired auth sessions from store > 2026/06/22 17:30:36 login confirm: already-used token attempt > 2026/06/22 17:30:36 reading DB from file:/TestLoginConfirmPost/valid_token_with_session_creation_failure_returns_500_0x60e6f4de908?vfs=memdb > 2026/06/22 17:30:36 inserting magic login token for user 11111111-1111-4111-8111-111111111111 > 2026/06/22 17:30:36 cleaning expired auth sessions from store > 2026/06/22 17:30:36 login confirm: consumed token for user 11111111-1111-4111-8111-111111111111 > 2026/06/22 17:30:36 login confirm: failed to confirm login: create auth session: session broken > 2026/06/22 17:30:36 reading DB from file:/TestLoginConfirmPost/valid_token_with_successful_session_creation_redirects_to_stored_next_path_0x60e6f4ded88?vfs=memdb > 2026/06/22 17:30:36 inserting magic login token for user 11111111-1111-4111-8111-111111111111 > 2026/06/22 17:30:36 cleaning expired auth sessions from store > 2026/06/22 17:30:36 login confirm: consumed token for user 11111111-1111-4111-8111-111111111111 > 2026/06/22 17:30:36 reading DB from file:/TestLoginPostRejectsMalformedFormBody_0x60e6f4defc8?vfs=memdb > 2026/06/22 17:30:36 cleaning expired auth sessions from store > 2026/06/22 17:30:36 reading DB from file:/TestLoginPostRendersCheckEmailPageRegardlessOfRegistration/registered_email_shows_check-email_page_0x60e6f4df448?vfs=memdb > 2026/06/22 17:30:36 cleaning expired auth sessions from store > 2026/06/22 17:30:36 inserting magic login token for user 11111111-1111-4111-8111-111111111111 > 2026/06/22 17:30:36 reading DB from file:/TestLoginPostRendersCheckEmailPageRegardlessOfRegistration/unregistered_email_shows_check-email_page_0x60e6f4dfb08?vfs=memdb > 2026/06/22 17:30:36 cleaning expired auth sessions from store > 2026/06/22 17:30:36 login attempt from unregistered email: unregistered@example.com > 2026/06/22 17:30:36 reading DB from file:/TestLoginPostDoesNotLeakTokenInProdMode_0x60e6fc70248?vfs=memdb > 2026/06/22 17:30:36 cleaning expired auth sessions from store > 2026/06/22 17:30:36 inserting magic login token for user 11111111-1111-4111-8111-111111111111 > 2026/06/22 17:30:36 reading DB from file:/TestLoginPostRejectsInvalidNextPath/protocol-relative_next_path_is_invalid_0x60e6fc70b48?vfs=memdb > 2026/06/22 17:30:36 cleaning expired auth sessions from store > 2026/06/22 17:30:36 reading DB from file:/TestLoginPostRejectsInvalidNextPath/next_path_without_leading_slash_is_invalid_0x60e6fc70d88?vfs=memdb > 2026/06/22 17:30:36 cleaning expired auth sessions from store > 2026/06/22 17:30:36 reading DB from file:/TestLoginPostRejectsInvalidNextPath/malformed_next_path_is_invalid_0x60e6fc70fc8?vfs=memdb > 2026/06/22 17:30:36 cleaning expired auth sessions from store > 2026/06/22 17:30:36 reading DB from file:/TestLoginPostRejectsInvalidNextPath/http_next_path_is_invalid_0x60e6fc71208?vfs=memdb > 2026/06/22 17:30:36 cleaning expired auth sessions from store > 2026/06/22 17:30:36 reading DB from file:/TestLoginPostRejectsInvalidNextPath/https_next_path_is_invalid_0x60e6fc71448?vfs=memdb > 2026/06/22 17:30:36 cleaning expired auth sessions from store > 2026/06/22 17:30:36 reading DB from file:/TestLoginPostRejectsInvalidNextPath/non-http_absolute_next_path_is_invalid_0x60e6fc71688?vfs=memdb > 2026/06/22 17:30:36 cleaning expired auth sessions from store > 2026/06/22 17:30:36 reading DB from file:/TestLoginPostRejectsInvalidEmail_0x60e6fc718c8?vfs=memdb > 2026/06/22 17:30:36 cleaning expired auth sessions from store > 2026/06/22 17:30:36 reading DB from file:/TestLoginPostReturnsTooManyRequestsAfterIPv4Limit_0x60e6fc70008?vfs=memdb > 2026/06/22 17:30:36 cleaning expired auth sessions from store > 2026/06/22 17:30:36 reading DB from file:/TestLoginPostDoesNotApplyIPv4LimitToIPv6_0x60e6fc706c8?vfs=memdb > 2026/06/22 17:30:36 cleaning expired auth sessions from store > 2026/06/22 17:30:36 reading DB from file:/TestLoginPostReturnsTooManyRequestsWhenRateLimited_0x60e6fc70d88?vfs=memdb > 2026/06/22 17:30:36 cleaning expired auth sessions from store > 2026/06/22 17:30:36 reading DB from file:/TestLoginPostReturnsErrorWhenTokenCreationFails_0x60e6fc70fc8?vfs=memdb > 2026/06/22 17:30:36 cleaning expired auth sessions from store > 2026/06/22 17:30:36 failed to create login token: database unavailable > 2026/06/22 17:30:36 reading DB from file:/TestUploadGetRequiresOwner/unauthenticated_user_is_redirected_to_login_0x60e6bcf98c8?vfs=memdb > 2026/06/22 17:30:36 cleaning expired auth sessions from store > 2026/06/22 17:30:36 reading DB from file:/TestUploadGetRequiresOwner/subscriber_is_forbidden_0x60e6bcf9b08?vfs=memdb > 2026/06/22 17:30:36 cleaning expired auth sessions from store > 2026/06/22 17:30:36 reading DB from file:/TestUploadGetRequiresOwner/owner_sees_the_upload_form_0x60e6bcf9d48?vfs=memdb > 2026/06/22 17:30:36 cleaning expired auth sessions from store > FAIL > FAIL codeberg.org/mtlynch/little-moments/handlers 1.068s > ok codeberg.org/mtlynch/little-moments/imagepipe 0.020s > ? codeberg.org/mtlynch/little-moments/images [no test files] > ok codeberg.org/mtlynch/little-moments/importers 0.015s > ok codeberg.org/mtlynch/little-moments/importers/tinybeans 0.007s > ok codeberg.org/mtlynch/little-moments/importers/tinybeans/parse 0.004s > ok codeberg.org/mtlynch/little-moments/little_moments 0.007s > ok codeberg.org/mtlynch/little-moments/little_moments/login_token 0.007s > ok codeberg.org/mtlynch/little-moments/magiclogin 0.008s > ok codeberg.org/mtlynch/little-moments/magiclogin/loginmail 0.008s > ok codeberg.org/mtlynch/little-moments/magiclogin/loginmail/smtp 0.013s > ok codeberg.org/mtlynch/little-moments/mediastore 0.006s > ? codeberg.org/mtlynch/little-moments/random [no test files] > ok codeberg.org/mtlynch/little-moments/ratelimit 0.009s > ? codeberg.org/mtlynch/little-moments/s3 [no test files] > ok codeberg.org/mtlynch/little-moments/s3config 0.006s > ? codeberg.org/mtlynch/little-moments/store [no test files] > ok codeberg.org/mtlynch/little-moments/store/sqlite 0.963s > ? codeberg.org/mtlynch/little-moments/store/test_sqlite [no test files] > FAIL For full logs, run: nix log /nix/store/1vcmfik3cbjbisc8bzj1vxf5raq1vf3r-go-tests-0.0.0.drv Build failed.