From 9cbdd70c176b7ab11eea795a60c12caebe5ece9c Mon Sep 17 00:00:00 2001 From: Nick White Date: Mon, 7 Sep 2020 13:38:32 +0100 Subject: Switch from using 'go get -u' to git pull & go install I didn't realise that 'go get -u' caused all dependencies to be updated to their latest versions! This is clearly a very bad thing to do for reproducibility. Both the initial setup and the update script were affected. --- roles/pipeliner/tasks/pipeline.yml | 4 ++-- roles/pipeliner/templates/updatepipeline.j2 | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) (limited to 'roles') diff --git a/roles/pipeliner/tasks/pipeline.yml b/roles/pipeliner/tasks/pipeline.yml index 9eaa5b9..61becfb 100644 --- a/roles/pipeliner/tasks/pipeline.yml +++ b/roles/pipeliner/tasks/pipeline.yml @@ -36,7 +36,7 @@ - name: Get and build bookpipeline and dependencies shell: - cmd: GOPATH=/home/{{ ansible_user }}/src/go GO111MODULE=on go get -u rescribe.xyz/bookpipeline/... + cmd: GOPATH=/home/{{ ansible_user }}/src/go GO111MODULE=on go install rescribe.xyz/bookpipeline/... chdir: /home/{{ ansible_user }}/src/go/src/rescribe.xyz/bookpipeline become: no # command fails because of a strange error with environment, resulting in @@ -45,7 +45,7 @@ # we should be able to revert back to command once using a more recent # go version where GO111MODULE is not required. # command: -# cmd: go get -u rescribe.xyz/bookpipeline/... +# cmd: go install rescribe.xyz/bookpipeline/... # chdir: /home/{{ ansible_user }}/src/go/src/rescribe.xyz/bookpipeline # environment: # GOPATH: /home/{{ ansible_user }}/src/go diff --git a/roles/pipeliner/templates/updatepipeline.j2 b/roles/pipeliner/templates/updatepipeline.j2 index aabfa1a..5b76f9a 100644 --- a/roles/pipeliner/templates/updatepipeline.j2 +++ b/roles/pipeliner/templates/updatepipeline.j2 @@ -5,8 +5,8 @@ t="/home/{{ ansible_user }}/trainings" # The extra go install step ensures that go modules are used # (they don't work for the go get stage in go 1.11) export GOPATH="$g" -cd "$g/src/rescribe.xyz/bookpipeline" # this is allowed to fail if a module dependency changed -GO111MODULE=on go get -u rescribe.xyz/bookpipeline/... && \ +cd "$g/src/rescribe.xyz/bookpipeline" && \ +git pull && \ GO111MODULE=on go install ./... && \ sudo cp "$g/bin/bookpipeline" /usr/local/bin/ || exit 1 -- cgit v1.2.1-24-ge1ad