Hi qzhou you've got some good questions, let me take then one at a time.
It's a very interesting series of articles. I have some questions about the CI/CD process.
Is there a way to include the SQL pool data model in the flow, like using dacpac?
Yes this can absolutely be done. I plan to blog on this, but the short answer is you would create a folder for the database project, sync your project to that repo folder, and then have a build pipeline that will create a dacpac for deployment similar to other database projects.
Also is anyway to protect your Github publish branch with approvals or something similar?
In Azure DevOps you can absolutely have requirements for approval gates. There is a lot you can do with Azure DevOps, this is a good link to get started with: Understand approvals, gates, and checks - Azure Pipelines | Microsoft Docs