Communities Deployment Hell

so
Communities
they are split into multiple things in the backend
a Network
a Site
and some other free floating shit like the gues user, profile access, etc.
Network is what you think abou whe you read Communities
it's where the comm builder etc lives
the Site is how they exposed it to the world. it's a legacy feature wrapped in a new one
the Site as detailed in my longer rant used to be whre you handled translatios and shit, because OF COURSE taht was a good idea, anyway.
when deploying a community you have a two options
"bundle" it with a Lightning Bundle as they call it, which is basically a template of your communiyt
thisnworks nicely but doesn't invlude aevertyhing about the comm (I forget what exactly but some stuff like branding etc wouldnb't get carried over as well as some custom pages)
or pushing the Network and the Site via Changeset or API.
now via API is what Gearset does. The good point of API deployment is that yu can target the network siten, and related StaticResources and other shit directly
it's easy enough
th bad thing is that API deployments rely on the backend structure being sane, which is isn't. Example: if you have two object `REALLYLONGPREFIX_stuff__c ` and `REALLYLONGPREFIX_shit_c ` the backend stores a truncated version of the page
so if you do custom apges
this results in you having the pages being possibly misattributed to the other object
or vice versa
or overwriting the other page
at random
everytime
on deploy
Q U A L I T Y.
the API deplpoyments are also less fault tolerant than changesets meaning if something's missing it'll jsut completley fail and some of the community errosr are quite arcane
specifically the ones related to Site deployment
so, changesets ?
well changesets aren't much ebtter
you can still get the arcane Stie deploymente rrors, thoughnless of them because it resolves some msising shit on its own for some reaosn ????
but what's nice is that the community elements will save in whichever order
so for example
you can completely have a community that'll deploy
but fail because the Asset for the custom logo of the banner is missing
even though you included it in the changeset
so now you gotta deploy the asset alone
and then deploy the community
which will STILL say that the deployment FAILED but show you a green checkbox saaying "deployed successfully"
whcih will actually mean it deployed succesfully ebcause the only failed elements are the Assets.
nope, still not kidding.
now for easy ass acommunities yo_u mgithg get a deplooy that goes well
and SF may hotfix some of those issues
but in the meantime ti's better to consider the entire deployment process hell
plan more time for it than eneeded
and if it's simple in the end,well that's aweosme.