Skip to main content

TaskCluster Script Worker

Project description

https://travis-ci.org/mozilla-releng/scriptworker.svg?branch=master https://coveralls.io/repos/github/mozilla-releng/scriptworker/badge.svg?branch=master Documentation Status

Scriptworker implements the TaskCluster worker model, then launches a pre-defined script.

This worker was designed for Releng processes that need specific, limited, and pre-defined capabilities.

Free software: MPL2 license

Usage

Credentials can live in ./scriptworker.yaml, ./secrets.json, ~/.scriptworker, or in environment variables: TASKCLUSTER_ACCESS_TOKEN, TASKCLUSTER_CLIENT_ID, and TASKCLUSTER_CERTIFICATE.

  • Launch: scriptworker [config_path]

Testing

Note: GPG tests require gpg 2.0.x!

Without integration tests,

NO_TESTS_OVER_WIRE=1 python setup.py test

With integration tests, first create a client with the assume:project:taskcluster:worker-test-scopes scope.

Then create a ./secrets.json or ~/.scriptworker that looks like:

{
    "integration_credentials": {
        "clientId": "...",
        "accessToken": "...",
        "certificate": "..."
    }
}

(certificate is only specified if using temp creds)

then

python setup.py test

It’s also possible to create a ./secrets.json as above, then:

cp docker/Dockerfile.test Dockerfile
docker build -t scriptworker-test . && docker run scriptworker-test tox

GPG Homedir testing

Sometimes it’s nice to be able to test things like rebuild_gpg_homedirs. To do so:

cp docker/Dockerfile.gnupg Dockerfile
docker build -t scriptworker-gpg . && docker run -i scriptworker-gpg bash -il
# in the docker shell,
rebuild_gpg_homedirs scriptworker.yaml

Project details


Release history Release notifications

This version
History Node

3.1.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
scriptworker-3.1.0.tar.gz (171.5 kB) Copy SHA256 hash SHA256 Source None Apr 5, 2017

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page