Skip to content

ss-1092 Reduce E2E workflow execution time #369

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

Draft
wants to merge 23 commits into
base: develop
Choose a base branch
from

Conversation

j-awada
Copy link
Contributor

@j-awada j-awada commented Jul 16, 2025

Description

Jira ticket: https://scilifelab.atlassian.net/browse/SS-1092
Doc: https://scilifelab.atlassian.net/wiki/x/HoDr3g

This PR includes several changes that can be done in the E2E workflow to speed up its execution time (as described in the doc). We don't have to adopt all of those changes, we can choose to adopt some of them.

Checklist

If you're unsure about any of the items below, don't hesitate to ask. We're here to help!
This is simply a reminder of what we are going to look for before merging your code.

  • This pull request is against develop branch (not applicable for hotfixes)
  • I have included a link to the issue on GitHub or JIRA (if any)
  • I have included migration files (if there are changes to the model classes)
  • I have included, reviewed and executed tests (unit and end2end) to complement my changes
  • I have updated the related documentation (if necessary)
  • I have added a reviewer for this pull request
  • I have added myself as an author for this pull request
  • In the case I have modified settings.py, then I have also updated the studio-settings-configmap.yaml file in serve-charts

Further comments

Anything else you think we should know before merging your code!

@j-awada j-awada self-assigned this Jul 16, 2025
@j-awada j-awada added the enhancement Improvement of existing feature or request label Jul 16, 2025
Comment on lines +30 to +32
# Install Python packages with pip
RUN pip install --no-cache-dir --upgrade pip \
&& pip install --no-cache-dir -r requirements.txt
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

While I agree that it's bad that poetry lock was regenerated on every image build, I think we should make it so that it's not regenerated every time, rather than go back to requirements.txt.

Plus I would argue for having a base dev image that has all the "cold" dependencies in it if we are doing these changes

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've taken a look at this run as a reference. It took 110s
https://github.com/ScilifelabDataCentre/serve/actions/runs/16216222707/job/45786179236

The most recent run on this branch took 66.8s
https://github.com/ScilifelabDataCentre/serve/actions/runs/16295304582/job/46015219258

In this run I've isolated poetry setup step from the actual dependencies installation step and updated poetry.lock file for dependencies.
Poetry installation took 13.2s
Dependencies installation took 71.9s
Total 85s
https://github.com/ScilifelabDataCentre/serve/actions/runs/16350955458/job/46197322880

While it took more time, I think that dependencies are a bit behind and lock file wasn't updated in the repository and this resulted in it being regenerated in our latest CI jobs, which could be the the only explanation to the extra 25 seconds missing between the 1st and the 3rd runs.
On my local machine poetry update take around 25s on this branch and results in an updated poetry.lock file.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Improvement of existing feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants