Skip to content
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

[πŸ‘¨πŸ»β€πŸ’» Internal]: Make e2e tests run faster #2766

Closed
Kiryous opened this issue Dec 5, 2024 · 1 comment Β· Fixed by #2796
Closed

[πŸ‘¨πŸ»β€πŸ’» Internal]: Make e2e tests run faster #2766

Kiryous opened this issue Dec 5, 2024 · 1 comment Β· Fixed by #2796
Assignees
Labels

Comments

@Kiryous
Copy link
Contributor

Kiryous commented Dec 5, 2024

"Set up Keep environment" step takes around 7min now.
This step is running docker compose up -d which involves building and starting your containers
The 7 minutes are likely spent mostly on:

Building the frontend Docker image (~4 mins for npm build)
Building the backend Docker image
Starting all services and waiting for them

@dosubot dosubot bot added the Internal label Dec 5, 2024
@Kiryous Kiryous mentioned this issue Dec 5, 2024
@Kiryous
Copy link
Contributor Author

Kiryous commented Dec 8, 2024

Typical backend build:

Step Description Time
1-4 Initial setup (load definitions, metadata, context) 2.7s
5 Base image setup (python:3.11.10-slim-bullseye) 5.6s
6 Create keep user 0.7s
7 Set working directory 0.1s
8 Install poetry 20.2s
9 Create Python virtual environment 2.0s
10 Copy dependency files 0.0s
11 Export and install requirements 92.9s
12-14 Copy application code and examples 0.1s
15 Install application package 31.1s
16-18 Final image setup (copy venv, examples, set permissions) 3.6s
19-20 Export image and metadata 1.2s
Total Complete build process ~160s

Key observations:

  • Dependency installation (11) took the longest at ~93 seconds
  • Poetry installation (8) and application installation (15) were also significant
  • Most file operations were very quick (< 1s)
  • The entire build process took approximately 2 minutes and 40 seconds

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
1 participant