We currently build our Vite static app and push the build assets using the Wrangler CLI in GitHub actions. We build it ourselves because there are some special build parameters and processes we use that aren't supported by CF Pages.
However, when we push a new release, all previous build chunk files are cleared out, causing the application to break for users on page when attempting to load routes using the JS chunks. This doesn't happen if CF Pages is the one to build it, in those situations CF Pages does keep the old assets around for an undertmined length of time.