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

refactor: split build and push to independent steps #390

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

shreddedbacon
Copy link
Member

Splits image build and pushes into individual steps where possible to aid in providing more up to date build logs, and help identify where slowness could be occurring during builds.

@shreddedbacon shreddedbacon added this to the 2.23.0 milestone Nov 18, 2024
@shreddedbacon shreddedbacon marked this pull request as ready for review December 17, 2024 00:44
fi
else
previousStepEnd=${currentStepEnd}
beginBuildStep "Building Image ${SERVICE_NAME}" "buildingImage${SERVICE_NAME_TITLE}"
Copy link
Member

Choose a reason for hiding this comment

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

Is having each buildstep for each image (and push images) individually named going to make it harder to track and compare historic statistics ie
lagoon.sh/buildStep=buildingImageweb and lagoon.sh/buildStep=pushingImagemongo-4

Is there a way to maintain the current buildingImages step as a wrapper for all images, and still track the individuals?

Copy link
Member Author

@shreddedbacon shreddedbacon Dec 26, 2024

Choose a reason for hiding this comment

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

Maybe. However, build steps are not something that should be relied on for statistics as they are always subject to change being a free text field and not an actual build status like complete etc..

If we want to enforce these as a method for statistics, we should define what this statistical analysis methods should look like, and it should be saved in the API as a separate array field in a deployment, rather than as arbitrary labels on deployments.

Copy link
Member

Choose a reason for hiding this comment

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

yah - fair point - happy to retire this suggestion, but maybe a suggestion here just to split the step and service names with a _ or - for clarity (and same in pushingImage)

Suggested change
beginBuildStep "Building Image ${SERVICE_NAME}" "buildingImage${SERVICE_NAME_TITLE}"
beginBuildStep "Building Image ${SERVICE_NAME}" "buildingImage_${SERVICE_NAME_TITLE}"

Copy link
Member Author

Choose a reason for hiding this comment

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

These unfortunately have to somewhat conform with status conditions in kubernetes/remote-controller

We'd need to update the remote-controller to transform these if we include - or _ in the build-deploy-tool. I'm happy to do this, but it would delay this PR.

Copy link
Member

Choose a reason for hiding this comment

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

ah - ok for now then - but given a service name with a - in it, it does come out like so lagoon.sh/buildStep=pushingImagemongo-4 - is that likely to break anything?

Copy link
Member Author

Choose a reason for hiding this comment

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

:hidethepain: maybe

Copy link
Member Author

Choose a reason for hiding this comment

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

Keep this one on hold, maybe we put it for 2.24 instead with a slight revisit.

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

Successfully merging this pull request may close these issues.

2 participants