Task or Resource | Client | How provided now | Future |
---|---|---|---|
Release build binaries | L1 | Built by RM, available from SLAC filesystem | |
User | SLAC filesystem for local users; Installer for remote users | ||
Externals for a particular build | L1 | Available from SLAC filesystem | |
SLAC user | SLAC filesystem | ||
Remote user | Externals are stashed by RM and locations recorded in db. Installer looks them up | ||
Source for a particular build | Super User | Developer tar ball (created by RM as part of build) or check out from CVS by tag | Dev tarball if available. Also Repoman: Invoke for particular tag? subrepo: Clone or update from git, checkout tag |
Bleeding edge source | Developer | Check out or update from CVS | Repoman: Invoke for HEAD? subrepo: Clone or update from git |
Tag a package | Developer | Use stag program. (Note CVS tagger hook disallows certain tag operations by unprivileged users) | |
Tag a container (release or release candidate) | Developer | User tagCollector python script. Requires presence of packageList.txt in container | |
Tag a container (LATEST builds) | Continuous integration | RM daemon periodically invoked, searches repository for new package tags. | |
Create publicly-available builds | Continuous integration | RM daemon periodically invoked, searches for new container tags | |
Display build output |
The Clients, defined
L1 - needs no introduction
User - may be local to SLAC or remote. Runs ST or GR code but does not modify or develop
Superuser - same as user but may have reason to build from source, e.g. to support alternate platform
Developer - modifies or adds to code
Continuous integration - isn't really a client so much as a purpose. Developer and, to some extent, users are the real clients