Skip to content

Instantly share code, notes, and snippets.

@pjvds
Last active December 25, 2015 16:19
Show Gist options
  • Save pjvds/7005171 to your computer and use it in GitHub Desktop.
Save pjvds/7005171 to your computer and use it in GitHub Desktop.

Here is a list of things I would love to see on every box at wercker:

Packages

Most package managers depend on source version control software, and I frequently retrieve code from external locations next to in a build.

  • git
  • mercurial
  • svn
  • bzr

To build packages, the minimal requirement is often:

  • build-essential
  • libssl-dev
  • libxslt-dev
  • libxml2-dev

I don't think we should have many package in the bare minimum, but one package I see in almost all of my projects:

  • readline

Configuration

Source controll packages configured with wercker user, e.q.:

git config --global user.email "pleasemailus@wercker.com"
git config --global user.name "wercker"

Header files

Especially in Ruby and Go projects I see my builds failing due missing header files. I am not sure if those headers should make it into the bare minimum, because it seems to be an infinitive list that depends on project context too much.

##
# A shell script that install the bare minimum in an ubuntu environment
##
# Regular packages
sudo apt-get update
sudo apt-get install libssl-dev build-essential \
libxslt-dev libxml2-dev -y
# git
if ! hash git 2>/dev/null ; then
echo "Installing git"
sudo apt-get install git -y
fi
# Bazaar
if ! hash bzr 2>/dev/null ; then
echo "Installing bzr"
sudo apt-get install bzr -y
fi
# Mercurial (hg)
if ! hash hg 2>/dev/null ; then
echo "Installing mercurial"
sudo apt-get install mercurial -y
fi
# Subversion
if ! hash svn 2>/dev/null ; then
echo "Installing subversion"
sudo apt-get install subversion -y
fi
# Configure git
print '[user]\n\temail = pleasemailus@wercker.com\n\tname = wercker' > $HOME/.gitconfig
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment