https://bugzilla.wikimedia.org/show_bug.cgi?id=40025

--- Comment #11 from Krinkle <[email protected]> ---
(See also comment #5, comment #6)

For each of the sync scrips, ensure:

[OK] In version control
[  ] Checks SSH_AUTH_SOCK
[  ] Checks dsh
[  ] Checks existence of file or directory
[  ] Recursively lint php files
[  ] Have consistency in parameters to dsh and rsync
[  ] notify dologmsg
[  ] notify deploy2graphite

* scap, sync-common-file and sync-wikiversions check SSH_AUTH_SOCK
* scap-1skins, scap-2, sync-common-file, sync-dblist,
  sync-docroot and sync-wikiversions call rsync with parameters
* scap, sync-common-file, sync-dblist, sync-docroot and
  sync-wikiversions call dologmsg
* sync-dir and sync-file use sync-common-file internally


In I9d315c4cb937389fb8 Tim centralised a lot of information already (though not
everything, it did make it a lot easier). That change introduced a similar
pattern as Ori proposed in I702777b4ada8706b653, namely
"/usr/local/lib/mw-deployment-vars.sh" which sets the variables.

Depending on how much variance is needed between all the various scripts, I
think it should be possible to do all of the above in 1 common function that
takes only a path as argument. Pretty much what sync-common-file is now (except
that it is oddly named "-file", where in fact "sync-common-path" would be a
better name).

Current state:
(
  scap,
  * loads vars
  * checks SSH_AUTH_SOCK
  * lint-php
  * !! does not check dsh
  * dsh -F30 -cM -o -oSetupTimeout=10
  * > sync-common > scap-1 > scap-2
    * rsync -a --delete --exclude=svn,git --no-perms
  * notifies dologmsg
  * notifies deploy2graphite

  scap-1skins
  scap-1
  scap-2
  * used by scap

  sync-common > scap-1

  sync-common-all > scap

  sync-common-file
  * loads vars
  * checks SSH_AUTH_SOCK
  * checks existence
  * checks dsh
  * !! does not lint-php, but callers (sync-dir, sync-file) do
  * notifies dologmsg, deploy2graphite
  * dsh -cM -o -oSetupTimeout=30 -F30
  * rsync -a --delete --exclude=svn,git --exclude=cache/l10n --no-perms
  * notifies dologmsg
  * notifies deploy2graphite

  sync-dblist
  * loads vars
  * !! does not check SSH_AUTH_SOCK
  * !! does not check dsh
  * dsh -cM -o -oSetupTimeout=30 -F30
  * rsync -a # doesn't pass --delete, --no-perms and --exclude
    # though --exclude does seem (harmlessly) redundant in this case
  * notifies dologmsg
  * !! does not notify deploy2graphite

  sync-docroot
  * loads vars
  * !! does not check SSH_AUTH_SOCK
  * !! does not check dsh
  * !! does not lint-php
  * dsh -cM -o -oSetupTimeout=30 -F30
  * rsync -a --no-perms  # doesn't pass --delete
  * notifies dologmsg
  * notifies deploy2graphite

  sync-dir
  * loads vars
  * checks existence
  * lint-php
  * > sync-common-file

  sync-file
  * loads vars
  * checks existence
  * lint-php
  * > sync-common-file

  sync-wikiversions
  * loads vars
  * checks SSH_AUTH_SOCK
  * checks dsh
  * dsh -cM -o -oSetupTimeout=30 -F30
  * rsync -l 
  * notifies dologmsg
  * notifies deploy2graphite
)

-- 
You are receiving this mail because:
You are the assignee for the bug.
You are on the CC list for the bug.
_______________________________________________
Wikibugs-l mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/wikibugs-l

Reply via email to