-
Notifications
You must be signed in to change notification settings - Fork 3
CI & CD
In order to minimize manual labor and avoid potential errors when building and deploying Polydodo, a CI/CD system is used.
The system needs to accomplish the following tasks:
-
Build and deploy the webapp to a website (GitHub Pages)
-
Build, deploy and release the mobile to the app store
-
Build, deploy and release the backend to GitHub and make the latest release downloadable from the webapp
-
Automatically draft GitHub releases and include the mobile app and the backend into the release artifacts
To achieve that, we use GitHub Actions and divide the CI/CD into 4 main workflows:
This workflow deletes the latest GitHub draft release. This is currently a workaround because of https://github.com/actions/upload-release-asset/pull/22
This workflow:
- Builds a standalone executable for Windows, MacOS and Linux using
PyInstaller - Creates and pushes a Docker image containing the Liunx executable when merging to master
- Uploads the different executables to a GitHub draft release when merging to master
This workflow:
-
Builds the React web application
-
Deploys the web application to GitHub Pages at https://polycortex.github.io/polydodo when merging to master
This workflow:
-
Builds the Flutter mobile application targeting Android and iOS
-
Uploads the Android .apk to a GitHub draft release when merging to master