-
Notifications
You must be signed in to change notification settings - Fork 875
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Create docker base images #2688
Conversation
ff52b47
to
aa26838
Compare
f75190b
to
a3491af
Compare
67e7d72
to
7e2521b
Compare
.github/workflows/docker-server.yml
Outdated
secrets: | ||
dockerhub-user: ${{ secrets.DOCKERHUB_USERNAME }} | ||
dockerhub-token: ${{ secrets.DOCKERHUB_TOKEN }} | ||
|
||
summary: | ||
runs-on: ubuntu-22.04 | ||
needs: build-server-images | ||
timeout-minutes: 5 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Robert-Steiner Should we increase this to 10min to give a bit more time in case the CI is slow due to e.g. bad network speed? I believe 10min is still acceptable for these jobs. Feel free to keep it at 5 if you think it's reasonable.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we can increase it to 10 to be on the safe side.
7e2521b
to
684ee32
Compare
Issue
Building the server images for non-native platforms (e.g. arm) can take a long time because they run in an emulator. Most of the time is spent installing/compiling python. We want to keep our release CI fast therefore we need to find a way to speed it up.
A python version change will occur less frequently than releasing a new Flower version. The idea is to move this installation to a base image and use that image later when building the server image. This should reduce the build time of the server images. The base image can also be used later for the client images.
Description
This PR moves the installation of system dependencies, python and general python dependencies into its own Dockerfile. This change significantly reduces the build time of the server images. Building the a server images takes now 2 minutes. I restructured the reusable workflow code so that it can be used to build the base and server image.