Introducing changes on the Workflow

shaiton at fedoraproject.org shaiton at fedoraproject.org
Sat Mar 30 08:33:01 UTC 2013


Hi Fedora webmasters,

We already discussed this during last winter, and are going to apply the
new workflow, starting now.

Here is the major changes:

- Production should always be against the "master" branch. If you have a
  quick fix to make, that's where it should go. For every websites.

- Preparing the websites for a new release is made on an fXX-Alpha,
  fXX-Beta or fXX branch. The current one should be built on staging. At
  release day, we just merge this branch into master to go live in prod.
  We should not forget to tag this commit.

- Enhencements or test could be made on the "stg" branch. That way we
  always have a developing branch.

[skip the following point if you don't need to read about translation
management]

- Please don't push a new POT unless you know what you are doing. We know
  have only one Transifex resource per website, without duplicates as
  before (fpo-master, fpo-f18-alpha...) Therefore, from one branch you can
  break the translations on the other branch. It won't cause too much
  damage as Transifex keep an history of the translations (pushing back
  the right POT restore it), but the strings won't be translated for the
  other branch. I introduced an any way to block pulling translation
  during the build by keeping a file named "PO_FREEZE" at the top of the
  website directory. This file is tested on Makefile.in.
  The usual workflow is to share the same POs files (not locking pulling)
  during Alpha and Beta, while we will probably want to lock it during the
  Beta stage in order to let translators work for the new release
  (translating the new slideshow, features page if needed, and other new
  change). At release day we should check that "PO_FREEZE is deleted on
  master in order to pull again the translations.
  This translation things is hidden here, it works on our builder with
  syncTranslations.sh script on puppet aside with syncStatic (puppet). The
  first script pulls the translations from Transifex twice a day (or so)
  while the usual syncStatic script hourly calls the "syncpos" Makefile.in
  target in order to sync the POs from the pulled POs. "PO_FREEZE" just
  lock the "syncpos" target.
  There was no need to (force) pull hourly all translations. We should
  probably pull hourly few days before GA, if asked by translators. But
  it is now separated from our builds.

Therefore, we will need the infrastructure help only to manually build the
websites at the right time and to change the redirect (as get-prerelease).
And to change the PO pulling cron.
Anyone from our team would be able to push the new website for the
release. It is now easier to understand, easier to handle if for any
reasons we need someone else to do the task for GA, you have full power!!
Of course, the best is to let those doing it everytimes to do it the next
time... :)
We are quite ready for Alpha (#196), we will see then if it works nice or
if we should go back to our shadow workflow.

This is basically all, with Robert we also wrote the following pages in
order to make it easier for new contributors to understand our
workflow/tasks.


https://fedoraproject.org/wiki/Websites/workflow
https://fedoraproject.org/wiki/Websites/workflow/checklist

I also updated our following SOP, please comment:
http://infrastructure.fedoraproject.org/infra/docs/fedorawebsites.txt


-- 
Kévin Raymond
(Shaiton)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
URL: <http://lists.fedoraproject.org/pipermail/websites/attachments/20130330/dd8f52ee/attachment.sig>


More information about the websites mailing list