Skip to content

testscript fails on i686 #781

@newbluemoon

Description

@newbluemoon

Describe the bug
I’m trying to build soft-serve 0.11.3 on Void Linux with its packaging system xbps-src. On i686 the testscript fails (x86_64 succeeds).
With enabled -race flag there is no error message whatsoever, just 'fail'. Setting SOFT_SERVE_DISABLE_RACE_CHECKS yields:

--- FAIL: TestScript (0.02s)
    --- FAIL: TestScript/repo-create (2.32s)
        testscript.go:584: # vi: set ft=conf
            # convert crlf to lf on windows (0.000s)
            # start soft serve (0.001s)
            # wait for SSH server to start (0.060s)
            # create a repo (0.084s)
            # clone repo (0.117s)
            # create some files, commits, tags... (0.539s)
            # create lfs files, use ssh git-lfs-transfer (1.494s)
            > git -C repo1 lfs install --local
            [stdout]
            Updated Git hooks.
            Git LFS initialized.
            
            > git -C repo1 lfs track '*.png'
            [stdout]
            Tracking "*.png"
            
            > git -C repo1 lfs track '*.mp4'
            [stdout]
            Tracking "*.mp4"
            
            > mkfile ./repo1/foo.png 'foo'
            > mkfile ./repo1/bar.png 'bar'
            > git -C repo1 add -A
            > git -C repo1 commit -m 'lfs'
            [stdout]
            [master 7c28c69] lfs
             3 files changed, 8 insertions(+)
             create mode 100644 .gitattributes
             create mode 100644 bar.png
             create mode 100644 foo.png
            
            > git -C repo1 push origin HEAD
            [stderr]
            Remote "origin" does not support the Git LFS locking API. Consider disabling it with:
              $ git config lfs.https://localhost/repo1.git/info/lfs.locksverify false
            batch request: json: cannot unmarshal number 300000000000 into Go struct field sshAuthResponse.expires_in of type int
            error: failed to push some refs to 'ssh://localhost:45737/repo1'
            
            FAIL: testdata/repo-create.txtar:45: exit status 1
            [background] soft serve: exit status 0
            [stderr]
            warning: GOCOVERDIR not set, no coverage data emitted
            2026-02-02 21:18:35 INFO migrate: running migration 1. create tables
            2026-02-02 21:18:35 INFO migrate: running migration 2. webhooks
            2026-02-02 21:18:35 INFO migrate: running migration 3. migrate_lfs_objects
            2026-02-02 21:18:35 server: Starting HTTP server addr=localhost:35597
            2026-02-02 21:18:35 server: Starting Git daemon addr=localhost:44861
            2026-02-02 21:18:35 server: Starting Stats server addr=localhost:40735
            2026-02-02 21:18:35 server: Starting SSH server addr=localhost:45737
            
FAIL
FAIL	github.com/charmbracelet/soft-serve/testscript	5.353s
FAIL
=> ERROR: soft-serve-0.11.3_1: do_check: '${make_check_pre} go test -p "$XBPS_MAKEJOBS" -tags "${go_build_tags}" -ldflags "${go_ldflags}" ${make_check_args} ${make_check_target}' exited with 1
=> ERROR:   in do_check() at common/build-style/go.sh:66

The command line above expands to: go test -p "16" -tags "" -ldflags "-X main.Version=0.11.3" ./...
(Note: same with -p "1")

The problem seems to be that 300000000000 is too large for 32 bit, but I couldn’t find out where the number comes from.

To Reproduce
Steps to reproduce the behavior:
Build soft-serve 0.11.3 on i686 and run the test suite.

Expected behavior
The test suite succeeds without any failure.

Environment (please complete the following information):

  • OS: Void Linux
  • Version 0.11.3 but probably earlier versions, too

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions