taskcluster-cli

command module
v0.9.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 1, 2019 License: MPL-2.0 Imports: 15 Imported by: 0

README

TaskCluster CLI Client

Task Status

Overview

TaskCluster CLI is a command-line client offering control and access to taskcluster from the comfort of your command-line. It provides utilities ranging from direct calls to the specific API endpoints to more complex and practical tasks like listing and cancelling scheduled runs.

Usage

For a list of all commands run taskcluster help, detailed information about each command is available with taskcluster help <command> [<sub-command> [...]]. You can also use the -h or --help parameter to get a command's help information.

Installation

To install, download the taskcluster binary for the latest release your platform, and run it! On POSIX platforms you will need to chmod +x of course.

Development

Requirements

We currently support Go versions starting at 1.8; the project may or may not build on earlier versions.

Please note that the default repositories for popular Linux distributions (e.g. Ubuntu) do not carry that version of Go. We recommend you download the latest version of the language from the official website.

Building

Getting the source is as simple as running the following command in your shell. Go will download the source and set up the repository in your $GOPATH.

go get -d github.com/taskcluster/taskcluster-cli

To actually build the application, simply run make in $GOPATH/github.com/taskcluster/taskcluster-cli which will generate the executable taskcluster in the root of the source.

Dependency vendoring

The dependencies are managed through the govendor tool, but its use should be transparent when building the project. After cloning the project, running govendor sync will download the various dependencies and ensure that they are at the version specified in the vendor/vendor.json file, so that everyone uses the same dependencies at the same version. The make process automatically runs that command before building.

To add a new dependency to the project, simply run govendor fetch <go-import-url> to add it to the list of dependencies. To update all dependencies to their latest version, run govendor fetch. More commands are described on the govendor project page.

APIs

The API-related commands (apis/) are generated from the TaskCluster reference data. When that data changes, the commands can be updated automatically:

make generate-apis
Commands

We are using cobra to manage the various commands and sub-commands that are implemented in taskcluster-cli.

Each command is a instance of the cobra.Command struct, and is dynamically registered at run-time in the command tree (in func init() {...}). Thus, commands are registered as an import side-effect. Commands are implemented in sub-packages.

To add a new command, create a new sub-package under cmds and add an import for that sub-package to subtree_import.go, keeping the imports in order.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
Package apis implements all the API endpoints.
Package apis implements all the API endpoints.
Package client contains integration code for taskcluster-client-go.
Package client contains integration code for taskcluster-client-go.
cmds
completions
Package completions implements command completion support.
Package completions implements command completion support.
config
Package configCmd implements the config subcommands.
Package configCmd implements the config subcommands.
from-now
Package fromNow implements the from-now command.
Package fromNow implements the from-now command.
group
Package group implements the group interaction subcommands.
Package group implements the group interaction subcommands.
pulse
Package pulse contains commands to interact with pulse..
Package pulse contains commands to interact with pulse..
root
Package root defines the root of the application command tree.
Package root defines the root of the application command tree.
shell
Package shell implements the shell command.
Package shell implements the shell command.
signin
Package signin implements the signin command.
Package signin implements the signin command.
slugid
Package slugid implements the slugid subcommands.
Package slugid implements the slugid subcommands.
status
Package status implements the status command.
Package status implements the status command.
task
Package task implements the task subcommands.
Package task implements the task subcommands.
version
Package version implements the version subcommand.
Package version implements the version subcommand.
Package config implements the configuration management system.
Package config implements the configuration management system.
pkg
docker-exec-ws
Package dockerExecWS provides a golang client implementation for the websocket protocol implemented in the npm package "docker-exec-websocket-server".
Package dockerExecWS provides a golang client implementation for the websocket protocol implemented in the npm package "docker-exec-websocket-server".
iopipes
Package iopipes provides implementation for a few new sets of pipes.
Package iopipes provides implementation for a few new sets of pipes.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL