If you don't use Jekyll (let's say, e.g Hugo) you have to commit the content/artefacts to be published to the repo. Committing artefacts to a repo, even if it's a dedicated branch with a separate root, always seemed like a glorious hack to me with consequences such as CI needing push access to the repo. GitLab CI+Pages doesn't need such a hack but then, competing with that would mean GitHub would basically have to allow running arbitrary process during the publish pipeline, which means they'd enter CI space.