Skip to content

Commit

Permalink
Merge pull request #603 from travis-ci/meat-preinstall-golang-libs
Browse files Browse the repository at this point in the history
Pre-install golang libs, gometalinter tools
  • Loading branch information
meatballhat committed Nov 20, 2015
2 parents 600f69a + f5e6e3e commit 50db719
Show file tree
Hide file tree
Showing 4 changed files with 41 additions and 2 deletions.
5 changes: 5 additions & 0 deletions cookbooks/travis_build_environment/attributes/default.rb
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,11 @@
'rvm_with_default_gems' => 'rake bundler',
'rvm_without_gems' => 'rubygems-bundler'
}
default['travis_build_environment']['golang_libraries'] = %w(
golang.org/x/tools/cmd/cover
github.com/alecthomas/gometalinter
)
default['travis_build_environment']['install_gometalinter_tools'] = true
default['travis_build_environment']['mysql']['password'] = 'travis'
default['travis_build_environment']['prerequisite_recipes'] = %w(
travis_timezone
Expand Down
1 change: 1 addition & 0 deletions cookbooks/travis_build_environment/metadata.rb
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
description 'Travis build environment'
long_description 'Travis build environment'

depends 'gimme'
depends 'iptables'
depends 'mysql'
depends 'openssh'
Expand Down
34 changes: 33 additions & 1 deletion cookbooks/travis_build_environment/recipes/ci_user.rb
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,9 @@
{ name: node['travis_build_environment']['home'] },
{ name: "#{node['travis_build_environment']['home']}/.ssh" },
{ name: "#{node['travis_build_environment']['home']}/builds", perms: 0755 },
{ name: "#{node['travis_build_environment']['home']}/.m2" }
{ name: "#{node['travis_build_environment']['home']}/.m2" },
{ name: "#{node['travis_build_environment']['home']}/gopath" },
{ name: "#{node['travis_build_environment']['home']}/gopath/bin" }
].each do |entry|
directory entry[:name] do
owner node['travis_build_environment']['user']
Expand Down Expand Up @@ -118,3 +120,33 @@
gems: node['travis_build_environment']['gems'],
user: node['travis_build_environment']['user']
)

include_recipe 'gimme::default'

gimme_default_version = node['gimme']['default_version'].to_s
gimme_versions = Array(node['gimme']['versions'])
gimme_versions += [gimme_default_version] unless gimme_default_version.empty?

gimme_versions.each do |version|
version = version.sub('go', '')
next if version < '1.4'

Array(node['travis_build_environment']['golang_libraries']).each do |lib|
bash "install #{lib} for go #{version}" do
code %{eval "$(gimme #{version})" && go get -u #{lib}}
flags '-l'
user node['travis_build_environment']['user']
group node['travis_build_environment']['group']
environment('HOME' => node['travis_build_environment']['home'])
end
end

bash "install gometalinter tools for #{version}" do
code %{eval "$(gimme #{version})" && gometalinter --install --update}
flags '-l'
user node['travis_build_environment']['user']
group node['travis_build_environment']['group']
environment('HOME' => node['travis_build_environment']['home'])
only_if { node['travis_build_environment']['install_gometalinter_tools'] }
end
end
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@
export LANG='en_US.UTF-8'
export LC_ALL='en_US.UTF-8'
export TZ='UTC'

export GOPATH="$HOME/gopath"
export PATH="$HOME/gopath/bin:$PATH"
export HISTCONTROL='ignoredups:ignorespace'
shopt -s histappend
export HISTSIZE='1000'
Expand Down

0 comments on commit 50db719

Please sign in to comment.