Skip to content

build process is unfriendly #409

@slingamn

Description

@slingamn
  1. make requires goreleaser, which it uses to build for every platform. Most people don't have goreleaser or need builds for foreign platforms. This cross-compilation process is also quite slow.
  2. bogdomania reports that even with git submodule update --init, dependencies are missing until he does go get ./... --- it should be clearer that go get is not required to build oragono, so we should figure out why this happens
  3. We've had incidents (like with the emoji branch) where people try to build the software, but it fails in confusing ways because the clone is not at the expected location ${GOPATH}/src/github.com/oragono

This is a *nix-only solution, but I think a better alternative to the current build system would be a script like this:

#!/bin/bash

set -eux
set -o pipefail

export GOPATH=${HOME}/go
mkdir -p ${GOPATH}/src/github.com/oragono
cd ${GOPATH}/src/github.com/oragono
git clone https://github.com/oragono/oragono
cd oragono
git submodule update --init
go install -v
echo successfully installed as ${GOPATH}/bin/oragono

except it would somehow respect the location of the current clone, like it would compare readlink -f . and readlink -f ${GOPATH}/src/github.com/oragono/oragono and error if they are not the same, rather than trying to reclone every time.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions