distributable: url: https://github.com/bytebase/bytebase/archive/refs/tags/{{version.tag}}.tar.gz strip-components: 1 versions: github: bytebase/bytebase dependencies: nodejs.org: '>=20.10' platforms: - linux - darwin/aarch64 # this changed in 2.16.0: # case runtime.GOOS == "darwin" && runtime.GOARCH == "arm64": # tarName = "mongoutil-1.6.1-darwin-arm64.txz" # case runtime.GOOS == "linux" && runtime.GOARCH == "amd64": # tarName = "mongoutil-1.6.1-linux-amd64.txz" # case runtime.GOOS == "linux" && runtime.GOARCH == "arm64": # tarName = "mongoutil-1.6.1-linux-arm64.txz" # default: # return "", "", errors.Errorf("unsupported platform: %s/%s", runtime.GOOS, runtime.GOARCH) build: dependencies: go.dev: =1.21.6 pnpm.io: '*' linux: kerberos.org: 1 # added in 2.16.0 # error: invalid linker name in argument '-fuse-ld=gold' gnu.org/gcc: '*' script: # otherwise segfaults - run: sed -i 's/-ldflags "/-ldflags "-buildmode=pie /' build_bytebase.sh if: linux working-directory: scripts - ./scripts/build_bytebase.sh {{prefix}}/bin provides: - bin/bytebase test: dependencies: curl.se: '*' pkgx.sh: ^1 script: - bytebase version | grep {{version}} # we'd love to test this more on linux, but we have issues running initdb as root; # so, we'll satisfy ourselves with the above and testing on darwin - run: exit 0 if: linux - FREE_PORT=$(pkgx get-port | tail -n1) - bytebase --port $FREE_PORT > out.log 2>&1 & - PID=$! - sleep 35 - curl -L http://localhost:$FREE_PORT | grep 'Bytebase' || cat out.log - kill $PID - cat out.log | grep "has started on port $FREE_PORT"