docs/03-dev-howtos/06-repressing.md
The JSON output created by Facia-press that is ingested by Facia does not have the properties that Facia is expecting. You need to re-press the fronts to re-create the JSON. Read the Fronts architecture here.
Tests are failing because of mis pressed data committed. In the Teamcity PR build, you can see things like:
FaciaMetaDataTest.should Include item list metadataFaciaMetaDataTest.should Include organisation metadata FaciaControllerTest.should render fronts in mf2 formatFaciaControllerTest.should render fronts in mf2 format (no section provided)FaciaControllerTest.should render fronts with content that has been pre-fetched from facia-pressfacia.stage property in your frontend.conf file is pointing at DEV (not PROD!)PROD or CODE one.
aws-frontend-store. Add it to your frontend.conf like this: switches.key=DEV/config/switches-nbaltazar.propertiesfrontend.conf properties
frontpress.sqs.tool_queue_url and frontpress.sqs.cron_queue_url"https://sqs.eu-west-1.amazonaws.com/<id-here>/Frontend-TEST-page-presser-queue"Frontend-TEST-page-presser-queue and find the URL field in the details tabcontent.api.host in frontend.conf)data/pressedPage/admin project locally and turn on facia-press-on-demand and facia-inline-embeds switchfacia-press locallyhttp://localhost:9000 just to get the switches file warmed up, thencurl -v -X POST http://localhost:9000/press/live/music
curl -v -X POST http://localhost:9000/press/live/inline-embeds
curl -v -X POST http://localhost:9000/press/live/uk
curl -v -X POST http://localhost:9000/press/live/au/media
facia project and run test
data/pressedPage folder - you'll need to commit those files.This is more tricky especially if you are making a breaking change (i.e. new facia can't work with the old format and old facia can't work with the new)
If you just ship new facia without pressing things will break until the presser kicks in.
ssh onto the facia-press instances for CODE and PROD? No?CODE and PROD (via riff-raff)mainfacia-press-on-demand switch in CODE gutoolsfacia-press AWS auto scaling group desired value to 2SSH into the facia presser instance and post to http://localhost:9000/press/draft/all (have patience, it takes a couple of mins) to repress all the draft fronts (curl -v -X POST -H 'Content-Length: 0' http://localhost:9000/press/draft/all)
curling the ELB is because the curl request times out before the response.frontend.gutools go to /press and click Standard Frequency Fronts For Press, then wait a while for the most used CODE fronts to press
frontend-CODE-FrontPressCronJobQueue-*)http://<frontend-faciapre-elb>/pressed/live/uk/money to see the JSON formatfacia and check things still work (/uk etc)dotcomfacia-press-on-demand switch in PROD gutoolsSSH into the facia presser instance and post to http://localhost:9000/press/draft/all (have patience, it takes a couple of mins) to repress all the draft fronts (curl -v -X POST -H 'Content-Length: 0' http://localhost:9000/press/draft/all)frontend.gutools to /press them - if you do just click All Frequency Fronts For Press. This will be speedy due to multiple instances.facia.stage=PROD in frontend.conf and make sure everything is working before you deploy for realpreview and check it still worksfacia-press-on-demand switchesfacia-press AWS auto scaling group desired value back to what it wasFollow the above instructions, only deploy the new facia (that doesn't need the field) first, check it works, and then follow the presser steps to repress the fronts without the field.
This is a real pain because at the moment you just have to ship one change to add the new field, and another to remove the old field. If you hit this situation, you're going to need to think hard.
If you are seeing a 500 for a front and you can't re-press it try to access it via the elb (http://<frontend-faciapre-elb>/pressed/live/uk/money).
If it returns Not found:
/editorial/config
check on each of the backfills/editorial, find the sections that contain snaps, the titles are surrounded by { curly braces }/config find the collections associated with those snap sections and go to /config/<collection-id> for each onesnapUri values, where the path is a realtive tag path and snapType is latest, return a valid response from internal CAPI"snapUri": "lifeandstyle/series/modern-tribes" check http://<capi>/lifeandstyle/series/gardening-what-to-do-this-week