49 lines
1.4 KiB
Bash
Executable File
49 lines
1.4 KiB
Bash
Executable File
#!/bin/bash
|
|
# Copyright (c) HashiCorp, Inc.
|
|
# SPDX-License-Identifier: BUSL-1.1
|
|
|
|
set -e
|
|
|
|
# Install Go
|
|
wget -qO go.tar.gz https://go.dev/dl/go1.17.6.linux-amd64.tar.gz
|
|
tar -xzf go.tar.gz --directory /usr/local
|
|
export PATH=$PATH:/usr/local/go/bin
|
|
go version
|
|
|
|
# Install Ruby
|
|
curl -sSL https://rvm.io/pkuczynski.asc | sudo gpg --import -
|
|
curl -sSL https://get.rvm.io | bash -s stable
|
|
source /usr/local/rvm/scripts/rvm
|
|
rvm install ruby-2.7.2
|
|
rvm --default use ruby-2.7.2
|
|
|
|
# Remove RVM's automatically installed bundler integration, which messes w/
|
|
# Vagrant's ruby binary invocation
|
|
gem uninstall -i /usr/local/rvm/rubies/ruby-2.7.2/lib/ruby/gems/2.7.0 rubygems-bundler
|
|
|
|
pushd /vagrant
|
|
|
|
# Get vagrant-plugin-sdk repo
|
|
git config --global url."https://${HASHIBOT_USERNAME}:${HASHIBOT_TOKEN}@github.com".insteadOf "https://github.com"
|
|
|
|
# Build Vagrant artifacts
|
|
gem install bundler -v "$(grep -A 1 "BUNDLED WITH" Gemfile.lock | tail -n 1)"
|
|
make
|
|
bundle install
|
|
gem build -o /tmp/vagrant.gem vagrant.gemspec
|
|
gem install /tmp/vagrant.gem
|
|
|
|
popd
|
|
|
|
# Install vagrant-spec
|
|
git clone https://github.com/hashicorp/vagrant-spec.git
|
|
pushd vagrant-spec
|
|
|
|
# TEMP: We are using a branch of vagrant-spec while we stabilize the changes
|
|
# necessary. Once this branch lands we can remove this line and build from main.
|
|
git checkout vagrant-ruby
|
|
|
|
gem build -o /tmp/vagrant-spec.gem vagrant-spec.gemspec
|
|
gem install /tmp/vagrant-spec.gem
|
|
popd
|