A worker for TaskCluster, written in go.
This is our next generation worker, that has a pluggable architecture for adding support for new engines (think Docker™ engine, Windows™ native engine, OS X™ native engine, KVM™/Xen™ engine) and adding engine-independent plugins (think livelogs, caches/volumes, auth proxies, interactive ssh/vnc).
Installing From Binary
Installing From Source
- Install go 1.8 or higher
go get -u -t -d github.com/taskclustertaskcluster-worker/...
go get -u github.com/kardianos/govendor
Certain tests are disabled by default because they are:
- only runs under certain conditions (e.g. requires root credentials),
- requires special configuration (for example secret tokens),
- have system-wide side-effects (like deleting the $HOME folder), or,
- very slow, noisy or needs fixing.
Tests that fall into one or more of these categories are enabled with build tags. Below is a list of such build tags and description of what they test and why these tests are disabled by default.
localtunnel, tests a
WebHookServerimplementation based on localtunnel.me, tests are somewhat buggy and due to the nature of using a remote service this isn't reliable.
native, tests the native-engine, disabled because tests cleans up system folders such as HOME.
qemu, tests qemu-engine, disabled because it requires QEMU installed and needs to run as root (run tests with
network, tests network configuration for qemu-engine, disabled because it can leave the system in a dirty state and requires root (run tests with
monitor, tests sentry reporting, statsum submission and logging, requires credentials to run successfully.
Simply create a tag, and push to github.
git tag v1.0.3 git push --tags
You need govendor to manage vendor dependencies.
go get <package> govendor add +external git add vendor/vendor.json git commit -m 'My new package.'
go get -u -t ./... # update versions govendor update
We welcome Pull Requests and Issues!
Find us in