Scriptworker Readme 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


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]

Building a docker image

First, create a secrets.json. For integration testing, you’ll need to define the integration_credentials; to do any other authenticated work, you’ll need to define credentials.


PY_DOT_VERSION=3.7  # or 3.6
docker build -t scriptworker-test-$PY_DOT_VERSION --build-arg PY_DOT_VERSION=$PY_DOT_VERSION  --file docker/Dockerfile.test .


Without integration tests, install tox, then

NO_TESTS_OVER_WIRE=1 tox -e py36

With integration tests, first create a client with the scopes:


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

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

(certificate is only specified if using temp creds)



It’s also possible to test in docker. First, build the docker image, making sure to add integration credentials to secrets.json. Then:

docker run -i scriptworker-test-$PY_DOT_VERSION

Table of Contents

Indices and tables