- List of all multiverse services
- Property on each service saying whether it's starred by the current user
- Endpoint to star/unstar services
- Recent activity across all services (last 5?)
- List of my starred services
- Recent activity across my services (last 5?)
- Active note, if any
- Endpoint to CRUD notes (see below)
- Last-deployed branch
- Status of all active branches (see below)
- Status of branch
- Active note, if any
- Endpoint to CRUD notes
- Endpoint to manually mark/unmark branches "Verified"
- i.e. toggle them between stages 4 and 5 (see below)
- Endpoint to trigger a new build/stage/test process
- Endpoint to just rerun tests?
- Thor URL, if any
- Pull request URL and content, if any
- Build status, if any
- Test status, if any
- Recent activity (last 5)
This will be a new page that just displays a paginated list of activity items. Defaults to all activity across all services, but can accept params for service and branch as well and filters by those. E.g.:
/activity/ /activity/recruit/ /activity/recruit/rec_somthingbranch
This view would power the 'All ->' links for the activity area throughout the app.
Might be interesting to also be able to pass it a user and see all their actions.
I imagine a branch moving through its lifecycle in 6 stages. Within each stage, the branch has a status.
- Built
success
: build succeeded, move automatically to stage 2warning
: build in progresserror
: build failed
- Staged
success
: deployed to Thor, move automatically to stage 3warning
: deploy in progresserror
: deployment error
- Tested
success
: tests passed, move automatically to stage 4warning
: tests in progresserror
: tests failed
- Ready for QA
success
: everything up to datewarning
: Thor/repo not on same revisionerror
: n/a
- Verified
success
: automerge possiblewarning
: new commit since verified?error
: cannot automerge
- Merged
success
: branch tip deployed to prodwarning
: branch tip not yet deployederror
: build/deploy error
A branch that's been staged and is being actively developed will cycle between steps 1-4 regularly as new commits are made and then deployed.
So wherever I get branch info, I want to know its stage and its status:
name: REC_Whatever
stage: 4
status: success
Notes can be posted to a service or to a branch. We should have the following info for every note:
- Author
- Content
- Date
- Status
Status can be active
or inactive
. A branch or service can only have one active note at a time. Posting a new note deactivates any other active notes.
We probably just need a single endpoint for creating/editing notes. Users can only edit their own notes (but I can deactivate someone else's existing active note as a side effect of creating a new note of my own).
This is helpful. Questions: