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)
Attachment:
pgp7ZVBQhJ2O_.pgp
Description: PGP signature
-- websites mailing list websites@xxxxxxxxxxxxxxxxxxxxxxx https://admin.fedoraproject.org/mailman/listinfo/websites