Workload Automation System
Java JavaScript Python Shell Ruby Makefile Other
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
.circleci Improve .circle/config.yml and deploy_doc task should not require tes… Aug 13, 2018
ci Change a way to push document with https:// instead of git://` Aug 17, 2018
config unit tests use PostgreSQL if DIGDAG_TEST_POSTGRESQL is set Mar 25, 2016
digdag-cli Bump version to 0.9.27 Jun 30, 2018
digdag-client Solve library dpendency conflicts with td-client-java Aug 16, 2018
digdag-core Fix the several typos detected by Aug 8, 2018
digdag-docs Update document Aug 21, 2018
digdag-guice-rs-server-undertow show log message right after stop() is called for ease of debug Jul 10, 2017
digdag-guice-rs-server Fix the several typos detected by Aug 8, 2018
digdag-guice-rs Fix admin port restriction when server listens on Apr 5, 2017
digdag-plugin-utils Refacotr and move simple test util to digdag-plugin-utils as well Jun 27, 2018
digdag-server fixed 'Not in transaction' Jan 20, 2018
digdag-spi Fix typo Jul 12, 2017
digdag-standards Implement TDResultExportOperatorFactory Aug 20, 2018
digdag-storage-s3 Fix the several typos detected by Aug 8, 2018
digdag-tests Add TdResultExportIT Aug 20, 2018
digdag-ui Try to upgrade dependencies of digdag-ui by node v8 Jun 19, 2018
docker Install and docker-compose in digdag-build image Aug 10, 2018
examples Use --local option Feb 8, 2017
gradle/wrapper update gradle wrapper Jun 10, 2018
.gitignore Ignore */target/ directory Aug 16, 2018
.travis.yml Use digdag/digdag-build:20180629T182056-57453625881ad5b75c430cd04f128… Jun 30, 2018
LICENSE Apply Apache License, Version 2.0 Jun 8, 2016
NOTICE Bundle Moment.js Sep 27, 2016 Minor change to replace hyperlinks in documentation section… Jun 27, 2018
appveyor.yml fixed npm build on Windows Dec 6, 2016
build.gradle Solve library dpendency conflicts with td-client-java Aug 16, 2018
gradlew update gradle wrapper Jun 10, 2018
gradlew.bat Upgrade gradle to 3.2.1 Dec 6, 2016
settings.gradle fix deprations for publishing Jun 10, 2018


Circle CI

Travis CI


Please check and for installation & user manual.



  • JDK 8
  • Node.js 8.x

Installing Node.js using nodebrew:

$ curl -L | perl - setup
$ echo 'export PATH=$HOME/.nodebrew/current/bin:$PATH' >> ~/.bashrc
$ source ~/.bashrc
$ nodebrew install-binary v8.x
$ nodebrew use v8.x

Installing Node.js using Homebrew on Mac OS X:

$ brew install node
  • Python 3
    • sphinx
    • sphinx_rtd_theme
    • recommonmark

Running tests

$ ./gradlew check

Test coverage report is generated at didgag-*/build/reports/jacoco/test/html/index.html. Findbugs report is generated at digdag-*/build/reports/findbugs/main.html.

Testing with PostgreSQL

Test uses in-memory H2 database by default. To use PostgreSQL, set following environment variables:

$ export DIGDAG_TEST_POSTGRESQL="$(cat config/"

Building CLI executables

$ ./gradlew cli
$ ./gradlew cli -PwithoutUi  # build without integrated UI

(If the command fails during building UI due to errors from node command, you can try to add -PwithoutUi argument to exclude the UI from the package).

It makes an executable in pkg/, e.g. pkg/digdag-$VERSION.jar.

Releasing a new version

You need to set Bintray user name and API key in BINTRAY_USER and BINTRAY_KEY environment variables.

  1. run git pull origin --tags.
  2. run ./gradlew setVersion -Pto=<version> command.
  3. write release notes to releases/release-<version>.rst file. It must include at least version (the first line) and release date (the last line).
  4. run ./gradlew clean cli site check releaseCheck.
  5. if it succeeded, run ./gradlew release.

If major version is incremented, also update version = and release = at digdag-docs/src/

Releasing a SNAPSHOT version

./gradlew releaseSnapshot

Develop digdag-ui

Node.js development server is useful because it reloads changes of digdag-ui source code automatically.

First, put following lines to ~/.config/digdag/config and start digdag server:

server.http.headers.access-control-allow-origin = http://localhost:9000
server.http.headers.access-control-allow-headers = origin, content-type, accept, authorization, x-td-account-override, x-xsrf-token, cookie
server.http.headers.access-control-allow-credentials = true
server.http.headers.access-control-allow-methods = GET, POST, PUT, DELETE, OPTIONS, HEAD
server.http.headers.access-control-max-age = 1209600

Then, start digdag-ui development server:

$ cd digdag-ui/
$ npm install
$ npm run dev    # starts dev server on http://localhost:9000/

Updating documents

Documents are in digdag-docs/src directory. They're built using Sphinx.

Website is hosted on using Github Pages. Pages are built using deployment step of circle.yml and automatically pushed to gh-pages branch of digdag-docs repository.

To build the pages and check them locally, run following command:

$ ./gradlew site

This might not always update all necessary files (Sphinx doesn't manage update dependencies well). In this case, run ./gradlew clean first.

It builds index.html at digdag-docs/build/html/index.html.

Release Notes

The list of release note is here.