Mattermost, Inc.

Make workflow on OSX

I’ve never developed in Go before, but when I make changes to the Go files it seems that I have to run make stop, which stops my docker machine, then spin that up again (docker-machine start mattermost), which takes maybe half a minute, then make run to see the changes. Obviously this isn’t a very efficient workflow, am I doing something wrong? I can’t seem to figure out what command to run in order to simply recompile the Go files. Does anyone have advice?

Edit: I should note my docker machine and instance aren’t actually called “mattermost”, it’s something else for work purposes. Maybe that’s messing with the workflow?

Ah, looks like I figured it out. The Makefile is a bit overzealous and was killing my VirtualBox process (I’d named the docker-machine a string that started with matterm), so I added a grep exclusion to the line so that the virtualbox process didn’t get killed.

In case anyone else needs it, the new line is:

@for PID in $$(ps -ef | grep [m]atterm | grep -v VirtualBox | awk '{ print $$2 }'); do \

(I added | grep -v VirtualBox)