Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[alf-dev] SCM vocab - Kelly's use cases

I didn't my homework and properly break down Kelly Shaw's Scenerios over this past week, but here's a first crack at it. The goal here is to break down the scenerios into a series of ALF events and actions.

I'm going to work off of a hybrid of scenerio's A and B with some labels thrown in for good measure. One of the requirements is to: "Provide a diff report of every change to every code asset associated with the logical name." The key question here is "since when?" For now, I'm going to assume that the build system has the answer to that question since it definately could. I imagine it could come from other places as well. There is every possibility that I've massively misunderstood how service flows should be put together. Please correct me in that case.

I'm also leaving off some of the details. For instance, when a check-in is requested, a check-in message should probably be passed in to humor the SCM systems. I'm ignoring that kind of thing for now.

Trigger: Unknown

1) ALF requests a clean workspace from the Workspace Service with
 - Server identifier

2) Workspace Service notifies ALF of completion with
- Workspace location.

3) Get the source code by name (label/baseline/stream)
- ALF messages SCM service 1 with
 - Get
 - A configuration
 - Location of the workspace.

4) SCM Service 1 notifies ALF of completion.

5) Scan the Code
- ALF messages Code Scan service with:
 - Workspace Location

6) Code Scan service messages ALF as complete.

5) Do the build
- ALF messages Build Service with:
 - 'Force Build'
 - Workspace Location
 - Name/Id of project / build profile

6) Build Service Requests SCM change log from ALF with
 - Workspace location (implies configuration)
 - Date or Name to resolve changes since

7) ALF requests change log from SCM Service 1 with
 - Configuration (might just be workspace)
 - Changes since name or date
 - Changes up to name or date
 - Flag to get full diffs (for Kelly's requirement)

8) ALF notifies interested parties of the change log results (build is one, I'm sure there are others).

9) Build notifies ALF of completion with:
 - Status (success/fail/other)
 - List of new versions / stamps.

10) ALF requests baseline from the SCM Service 1 with:
 - A logical name
 - workspace location OR
 - Configuration and a date

11) SCM Service 1 notifies ALF of baseline completion.

12) ALF requests a check-in from SCM Service 2 with:
 - Location of generated artifacts


Back to the top