-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathnotes.txt
More file actions
76 lines (64 loc) · 2.63 KB
/
Copy pathnotes.txt
File metadata and controls
76 lines (64 loc) · 2.63 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
when a new issue is filed:
if (gatekeeper_mode):
mark issue as 'awaiting moderation'
give user instructions on how to set up push hook
store name of their repos but indicate that we don't automatically build yet
send email to devteam with links to moderate (accept or reject) the package
when the accept or reject link is clicked:
if 'moderated_ok' or 'rejected' label is present in issue:
just report that package has already been dealt with
else:
apply appropriate label, save state
if the package has been approved:
start a build
in the issue, mention that we have started a build
but that in the future they will need to set up the push hook
to trigger builds on commits
else: # not gatekeeper mode
mark issue as 'new issue'
save repos in db and flag it as ok to build (this can be done via a label)
tell contributor how to set up push hook, mention that further
builds will require the push hook be set up
start a build
on build completion:
post to issue with link to build report, add label with build status
(remove statuses that no longer apply)
on push hook:
if we know about the repos (db lookup) and have ok'd builds (label): #
(issue must be open unless the 'testing' label is present)
start a build
else:
post to issue saying sorry, we can't build. you can remove your hook
to stop seeing these messages.
labels:
build_permitted
testing (allows building on closed issues)
awaiting_build_permission
OK
ERROR
TIMEOUT
WARNINGS
abnormal
sent-back
preview-in-progress
modified-package
pre-accepted
accepted (close issue when applying this label)
remove canned labels if not relevant (most are not)
separate logic from web app
unit tests?
factor out (dev/prod beta/live):
repo to post to
email address to send gatekeeper emails to
stomp broker host/port
persistent state (db or text file?)
list of known repos (conceivably could use github for this...)
hashed "pw"
Questions:
how do we protect against the same package being submitted twice?
how do we deal with multiple related packages?
what about large data packages?
should we rename the issue to the name of the package (if not already named thusly)
write code to initialize repos? (with issue labels, new issue template, etc.
requires that bioc issue bot be a collaborator on the repos)
deployment / chef