summaryrefslogtreecommitdiff
path: root/roles
diff options
context:
space:
mode:
authorNick White <git@njw.name>2020-09-07 13:38:32 +0100
committerNick White <git@njw.name>2020-09-07 13:38:32 +0100
commit9cbdd70c176b7ab11eea795a60c12caebe5ece9c (patch)
tree6f48274e0ff30cceaa8fe63445bd4cc771c2e5f7 /roles
parent00afe20fac63f48fbe48ff0136949d779c0d5237 (diff)
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.
Diffstat (limited to 'roles')
-rw-r--r--roles/pipeliner/tasks/pipeline.yml4
-rw-r--r--roles/pipeliner/templates/updatepipeline.j24
2 files changed, 4 insertions, 4 deletions
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