This is an automated email from the ASF dual-hosted git repository. astefanutti pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel-k.git
The following commit(s) were added to refs/heads/main by this push: new 62d2a54 fix: Handle Integration changes while waiting for Kit build 62d2a54 is described below commit 62d2a54dfe8d4605534218f4323d3f6327bead20 Author: Antonin Stefanutti <anto...@stefanutti.fr> AuthorDate: Fri Oct 1 17:15:27 2021 +0200 fix: Handle Integration changes while waiting for Kit build --- pkg/controller/integration/build_kit.go | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/pkg/controller/integration/build_kit.go b/pkg/controller/integration/build_kit.go index 17e3c85..d357940 100644 --- a/pkg/controller/integration/build_kit.go +++ b/pkg/controller/integration/build_kit.go @@ -24,6 +24,7 @@ import ( v1 "github.com/apache/camel-k/pkg/apis/camel/v1" "github.com/apache/camel-k/pkg/trait" + "github.com/apache/camel-k/pkg/util/digest" "github.com/apache/camel-k/pkg/util/kubernetes" ) @@ -46,6 +47,18 @@ func (action *buildKitAction) CanHandle(integration *v1.Integration) bool { func (action *buildKitAction) Handle(ctx context.Context, integration *v1.Integration) (*v1.Integration, error) { // TODO: we may need to add a timeout strategy, i.e give up after some time in case of an unrecoverable error. + // Check if the Integration has changed and requires a rebuild + hash, err := digest.ComputeForIntegration(integration) + if err != nil { + return nil, err + } + if hash != integration.Status.Digest { + action.L.Info("Integration needs a rebuild") + integration.Initialize() + integration.Status.Digest = hash + return integration, nil + } + if integration.Status.IntegrationKit != nil { kit, err := kubernetes.GetIntegrationKit(ctx, action.client, integration.Status.IntegrationKit.Name, integration.Status.IntegrationKit.Namespace) if err != nil {