360 Commits

Author SHA1 Message Date
Preetha
781408bbf4 Merge branch 'master' into 0.8 2018-01-03 16:06:38 -06:00
Michael Lange
bd23d4989b Lock down nodejs version
The new Travis Trusty image uses node 8 (latest LTS) as the default.
Node 8 is incompatible with some modules used for the UI.
2017-12-15 10:50:06 -08:00
Preetha Appan
9abe84824d Merge branch 'master' into 0.8 2017-12-12 15:49:47 -06:00
Michael Schurter
255b899a45 chown $GOPATH for vagrant user 2017-12-11 17:06:07 -08:00
Preetha Appan
805ade7d34 Makes tests on travis not run in verbose mode. 2017-12-06 13:30:31 -06:00
Alex Dadgar
e6df21b621 bump go 2017-11-14 15:06:41 -08:00
Alex Dadgar
5ee8609655 Run linters 2017-11-02 16:37:46 -07:00
Alex Dadgar
0aa838d48f show env 2017-11-02 16:24:15 -07:00
Alex Dadgar
7fab0e1c9e seperate linting from testing 2017-10-24 10:52:26 -07:00
Alex Dadgar
1654d20a4d bump vault and install on darwin 2017-10-21 17:23:42 -07:00
Alex Dadgar
c231089cfd Only check scripts on linux and don't double lint 2017-10-19 16:49:58 -07:00
Alex Dadgar
34af514b3c install to local bin 2017-10-19 16:49:58 -07:00
Alex Dadgar
089312ddd4 Rm upgrading go 2017-10-19 16:49:58 -07:00
Alex Dadgar
015fe02116 split privilidged calls to two scripts 2017-10-19 16:49:58 -07:00
Alex Dadgar
a00636e355 travis 2017-10-19 16:49:58 -07:00
Michael Schurter
ab862b06d9 Bump Consul to 1.0.0 in vagrant/travis 2017-10-16 14:10:39 -07:00
Lasse Dalegaard
5cd1d19cc8 Add rkt default network to Travis
The current Travis setup scripts copy in rkt, but do not set up a
default container network.

Here we copy the container network setup over from the vagrant setup
scripts.
2017-09-26 22:20:01 +02:00
Lasse Dalegaard
dd934a60a7 Bump minimum rkt version to 1.27.0.
The changes introduces in #3256 require at least rkt 1.27.0 because of
a bug in the JSON output of `rkt status` in previous versions.

Here we upgrade all references to rkt's minimum version, and also make
travis and vagrant use this version when running tests.

Finally we add a CHANGELOG notice.
2017-09-26 19:15:43 +02:00
Michael Schurter
9c87332b71 Fix shellcheck's complaints about find loop 2017-09-19 17:41:20 -05:00
Alex Dadgar
fd57773121 Release v0.7.0-beta1 2017-09-19 12:56:28 -05:00
Alex Dadgar
ddc2efa4ac sync 2017-09-19 10:08:23 -05:00
Michael Schurter
7e3d975b71 Fix permissions of $GOPATH in Vagrantfile
Technically just the true->false is needed. The `chown -R` was a first
attempt that didn't fix the bug, but it's a nice simplification.
2017-09-11 22:38:10 -07:00
James Nugent
e8c17e2aba build: Lint shell scripts, and make all shell scripts lint cleanly 2017-09-08 19:50:39 -05:00
James Nugent
9ec82bc545 build: Install Go in Vagrant from official release 2017-09-08 19:46:07 -05:00
James Nugent
ea50afc4a5 build: Fix Travis following Vagrant changes 2017-09-08 19:45:41 -05:00
James Nugent
f8ff0463b0 build: Rework Vagrant to support multiple OS boxes
This commit reworks the Vagrantfile for Nomad in order to support
straightforward testing on more than one operating system, whilst
retaining the ability to stand up a test cluster running Ubuntu.

The following changes are made:

- Scripts have been extracted from the Vagrantfile into their own shell
  script files, in order that editors lint them.

- All scripts have been edited to lint with no warnings or errors for
  their respective shells.

- Scripts are named according to the operating system and privilege
  level which they run. We prefer to run a whole shell script as root
  versus prefixing (essentially) every command with `sudo` or an
  equivalent.

- The Linux development box has been separated from the test cluster,
  removing some of the more gnarly (and less portable) logic. The Linux
  development box is still primary and autostarts.

- A FreeBSD target has been added. The base box works for both
  Virtualbox and VMWare Fusion.

- A target is added to the GNUmakefile to stand up a test cluster, using
  the default provider, or overriding the provider by setting the PROVIDER
  variable in make:
	- `make testcluster`
	- `make testcluster PROVIDER=vmware_fusion`

- Machines in the test cluster have Avahi configured for zeroconf
  discovery. Each machine can ping each other machine at `hostname.local`
  - for example `nomad-server02.local`, `nomad-client03.local`.
2017-09-08 19:45:38 -05:00
Alex Dadgar
2010b636c8 bump consul version 2017-08-23 10:45:54 -07:00
James Nugent
dcdc91fb6b build: Replace shell scripts with GNUmakefile
This commit replaces the shell script-driven build process for Nomad
with one based around GNU Make (note we _do_ use GNU-specific
constructs), requiring no additional scripts for common cases of
development. The following targets are implemented:

Per-OS/arch combinations:

    Binaries (Host - Mac OS X):
	pkg/darwin_amd64/nomad

    Binaries (Host - Linux):
	pkg/linux_386/nomad
	pkg/linux_amd64/nomad
	pkg/linux_amd64-lxc/nomad
	pkg/linux_arm/nomad
	pkg/linux_arm64/nomad
	pkg/windows_386/nomad
	pkg/windows_amd64/nomad

    Packages (Host - Mac OS X):
	pkg/darwin_amd64.zip

    Packages (Host - Linux):
	pkg/linux_386.zip
	pkg/linux_amd64.zip
	pkg/linux_amd64-lxc.zip
	pkg/linux_arm.zip
	pkg/linux_arm64.zip
	pkg/windows_386.zip
	pkg/windows_amd64.zip

Phony targets:

	dev - Builds for the current host GOOS/GOARCH (unless overriden
	      in the environment)

	release - Builds all appropriate release packages for the
	          current host GOOS/GOARCH (i.e. Windows and Linux
		  packages on a Linux host, Darwin packages on an OSX
		  host)

	generate - Generate code for the current host architecture using
	           `go generate`.

	test - Runs the Nomad test suite

	clean - Removes build artifacts

	travis - Runs `make test` with the wrapper script to prevent
	         Travis CI from timing out.

	help - Displays usage information about commonly used targets.

Note that there are some semantic differences from the previous version.

1. `generate` is no longer a dependency of `dev` builds. This is because
   it causes a rebuild every time, even when no code has changed, since
   `go generate` does not appear to leave file timestamps alone.
   Regardless, it is insufficient to generate on one host OS - it needs
   to be run on each target to ensure everything is generated correctly.

2. `gofmt` is no longer checked. This should be enabled as a linter once
   the `gofmt -s` refactoring will pass on the whole code base, in order
   to avoid special cased checks versus using go-metalinter.

Example Usages:

Make a development build for the current GOOS/GOARCH:

	make dev

Make release build packages appropriate for the host OS:

	make release

Update generated code for the host OS:

	make generate

Run linting checks:

	make check

Build a specific alternative GOOS/GOARCH/tags combination:

	make pkg/linux_amd64-pkg/nomad
	make pkg/linux_amd64-pkg.zip
2017-08-18 06:29:26 +01:00
Alex Dadgar
c26ecb7092 Add version package
This PR adds a version package and consolidates version strings into a
Version struct.
2017-08-16 15:44:21 -07:00
Alex Dadgar
296f1ee5cf reset travis script 2017-07-22 22:25:20 -07:00
Alex Dadgar
9e114d41cc whats going on 2017-07-22 21:44:53 -07:00
Alex Dadgar
08c2ba9bc6 Parallel client tests (#2890)
* alloc_runner

* Random tests

* parallel task_runner and no exec compatible check

* Parallel client

* Fail fast and use random ports

* Fix docker port mapping

* Make concurrent pull less timing dependant

* up parallel

* Fixes

* don't build chroots in parallel on travis

* Reduce parallelism on travis with lxc/rkt

* make java test app not run forever

* drop parallelism a little

* use docker ports that are out of the os's ephemeral port range

* Limit even more on travis

* rkt deadline
2017-07-22 19:04:36 -07:00
Alex Dadgar
3cb16aa9a8 small fixes 2017-07-22 12:25:02 -07:00
Alex Dadgar
9bf9f59f8f Force parallelism on travis 2017-07-20 22:47:10 -07:00
Alex Dadgar
57e34b66ea Undo verbose and parallel on tests 2017-07-20 20:28:31 -07:00
Alex Dadgar
e44da4272b verbose and parallel 2017-07-20 09:57:39 -07:00
Michael Schurter
8a9926c6ae Start consul in getting started vagrant
Sneak a version bump to consul in as well
2017-07-03 16:45:13 -07:00
Michael Schurter
fe3bb07e80 Fixup example 2017-06-21 17:19:08 -07:00
Michael Schurter
e6552e149a Add script to demo weave in vagrant 2017-06-21 17:19:08 -07:00
Michael Schurter
8ed23d4b28 Fix lxc tests 2017-06-21 17:19:08 -07:00
Michael Schurter
990de0f32c Update go-winio to remove cgo on Windows
Thanks to Microsoft/go-winio#51
2017-05-08 15:43:48 -07:00
Michael Schurter
234d734745 go-winio now requires cgo which requires mingw 2017-05-03 17:09:12 -07:00
Alex Dadgar
2620a3bd63 bump vault 2017-03-27 10:10:42 -07:00
Lev Walkin
fda40fada4 ensuring bin directory exists before copying 2017-03-17 17:23:15 -07:00
Michael Schurter
34ab77a636 Fix overriding build targets 2017-03-14 10:47:29 -07:00
Michael Schurter
1097113f83 make bin creates a release binary for the host arch
make dev properly copies the binary into bin/ again.

make release still creates binaries for as many archs as possible.

Fixes #2407
2017-03-08 17:42:28 -08:00
Michael Schurter
a9e3f2cf3e Replace "-" in env var keys with "_"
Fixes #2405
2017-03-06 19:57:44 -08:00
Alex Dadgar
15c53b1a0e auto release 2017-03-03 16:06:31 -08:00
Alex Dadgar
f6c67535d1 Fix docs and script 2017-03-03 16:00:39 -08:00
Jonathan Wright
5112eee9ff Fix spelling error for CGO_ENABLED variable in build script 2017-03-01 19:21:46 +00:00