dynostore
Dynamo db wrapper for the jepso-ci schema
Sample Usage
var u = 'api';var r = 'foo';var t = 'master'; { console; return v;}
Sample Output:
buildID=1
{ user: 'api',
repo: 'foo',
currentBuildInProgress: '1',
latestBuild: null }
{ tag: 'master',
repoID: 'api/foo',
'BrowserA-pending': true,
buildID: 1,
pending: 2,
BrowserA: 'queued',
'BrowserB-pending': true,
BrowserB: 'queued' }
updateBuild(u, r, buildID, 'BrowserA', 'started', false)
{ user: 'api',
repo: 'foo',
currentBuildInProgress: '1',
latestBuild: null }
{ tag: 'master',
repoID: 'api/foo',
'BrowserA-pending': true,
buildID: 1,
pending: 2,
BrowserA: 'started',
'BrowserB-pending': true,
BrowserB: 'queued' }
updateBuild(u, r, buildID, 'BrowserB', 'started', false)
{ user: 'api',
repo: 'foo',
currentBuildInProgress: '1',
latestBuild: null }
{ tag: 'master',
repoID: 'api/foo',
'BrowserA-pending': true,
buildID: 1,
pending: 2,
BrowserA: 'started',
'BrowserB-pending': true,
BrowserB: 'started' }
updateBuild(u, r, buildID, 'BrowserA', 'finished', true)
{ user: 'api',
repo: 'foo',
currentBuildInProgress: '1',
latestBuild: null }
{ tag: 'master',
repoID: 'api/foo',
'BrowserA-pending': false,
buildID: 1,
pending: 1,
BrowserA: 'finished',
'BrowserB-pending': true,
BrowserB: 'started' }
updateBuild(u, r, buildID, 'BrowserB', 'finished', true)
{ user: 'api',
repo: 'foo',
currentBuildInProgress: null,
latestBuild: '1' }
{ tag: 'master',
repoID: 'api/foo',
'BrowserA-pending': false,
buildID: 1,
pending: 0,
BrowserA: 'finished',
'BrowserB-pending': false,
BrowserB: 'finished' }