Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package okteto for openSUSE:Factory checked in at 2024-02-22 21:01:11 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/okteto (Old) and /work/SRC/openSUSE:Factory/.okteto.new.1706 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "okteto" Thu Feb 22 21:01:11 2024 rev:71 rq:1149394 version:2.25.2 Changes: -------- --- /work/SRC/openSUSE:Factory/okteto/okteto.changes 2024-01-30 18:25:28.458070265 +0100 +++ /work/SRC/openSUSE:Factory/.okteto.new.1706/okteto.changes 2024-02-22 21:02:15.411369203 +0100 @@ -1,0 +2,9 @@ +Wed Feb 14 20:03:33 UTC 2024 - opensuse_buildserv...@ojkastl.de + +- Update to version 2.25.2: + * fix: backport to 2.25.x (#4180) + * [Backport release-2.25] Fix panic in `okteto up` when using + remote deploy (#4178) + * fix: e2e tests (#4165) (#4166) + +------------------------------------------------------------------- Old: ---- okteto-2.25.1.obscpio New: ---- okteto-2.25.2.obscpio ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ okteto.spec ++++++ --- /var/tmp/diff_new_pack.VlazSi/_old 2024-02-22 21:02:19.991536646 +0100 +++ /var/tmp/diff_new_pack.VlazSi/_new 2024-02-22 21:02:19.995536792 +0100 @@ -19,7 +19,7 @@ %define __arch_install_post export NO_BRP_STRIP_DEBUG=true Name: okteto -Version: 2.25.1 +Version: 2.25.2 Release: 0 Summary: Develop your applications directly in your Kubernetes Cluster License: Apache-2.0 ++++++ _service ++++++ --- /var/tmp/diff_new_pack.VlazSi/_old 2024-02-22 21:02:20.151542495 +0100 +++ /var/tmp/diff_new_pack.VlazSi/_new 2024-02-22 21:02:20.155542642 +0100 @@ -3,10 +3,10 @@ <param name="url">https://github.com/okteto/okteto</param> <param name="scm">git</param> <param name="exclude">.git</param> - <param name="revision">2.25.1</param> + <param name="revision">2.25.2</param> <param name="versionformat">@PARENT_TAG@</param> <param name="changesgenerate">enable</param> - <param name="match-tag">2.25.1</param> + <param name="match-tag">2.25.2</param> </service> <service name="set_version" mode="manual"> <param name="basename">okteto</param> ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.VlazSi/_old 2024-02-22 21:02:20.179543519 +0100 +++ /var/tmp/diff_new_pack.VlazSi/_new 2024-02-22 21:02:20.183543665 +0100 @@ -1,6 +1,6 @@ <servicedata> <service name="tar_scm"> <param name="url">https://github.com/okteto/okteto</param> - <param name="changesrevision">005d98ed413a2d086af8dec25843e1d69b3516f5</param></service></servicedata> + <param name="changesrevision">a6d74b0d36ca1838f5a593bf42d5fd4973ff9bb8</param></service></servicedata> (No newline at EOF) ++++++ okteto-2.25.1.obscpio -> okteto-2.25.2.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/okteto-2.25.1/.circleci/config.yml new/okteto-2.25.2/.circleci/config.yml --- old/okteto-2.25.1/.circleci/config.yml 2024-01-30 11:46:47.000000000 +0100 +++ new/okteto-2.25.2/.circleci/config.yml 2024-02-14 13:33:51.000000000 +0100 @@ -289,6 +289,7 @@ command: | $env:OKTETO_PATH="$($HOME)\project\artifacts\bin\okteto.exe" $env:Path+=";$($HOME)\project\artifacts\bin" + $env:SSH_AUTH_SOCK = (Get-Command ssh-agent).Definition -replace 'ssh-agent.exe','ssh-agent.sock' go test github.com/okteto/okteto/integration/up -tags="integration" --count=1 -v -timeout 45m - store_artifacts: path: C:\Users\circleci\.okteto diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/okteto-2.25.1/cmd/build/v2/smartbuild/hasher.go new/okteto-2.25.2/cmd/build/v2/smartbuild/hasher.go --- old/okteto-2.25.1/cmd/build/v2/smartbuild/hasher.go 2024-01-30 11:46:47.000000000 +0100 +++ new/okteto-2.25.2/cmd/build/v2/smartbuild/hasher.go 2024-02-14 13:33:51.000000000 +0100 @@ -88,7 +88,9 @@ return "", fmt.Errorf("could not get build context diff sha: %w", err) } + sh.lock.Lock() sh.buildContextCache[buildContext] = sh.hash(buildInfo, dirCommit, diffHash) + sh.lock.Unlock() } return sh.buildContextCache[buildContext], nil diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/okteto-2.25.1/cmd/up/up.go new/okteto-2.25.2/cmd/up/up.go --- old/okteto-2.25.1/cmd/up/up.go 2024-01-30 11:46:47.000000000 +0100 +++ new/okteto-2.25.2/cmd/up/up.go 2024-02-14 13:33:51.000000000 +0100 @@ -290,7 +290,7 @@ // the autocreate property is forced to be true forceAutocreate = true } else if upOptions.Deploy || (up.Manifest.IsV2 && !pipeline.IsDeployed(ctx, up.Manifest.Name, up.Manifest.Namespace, k8sClient)) { - err := up.deployApp(ctx, k8sLogger) + err := up.deployApp(ctx, ioCtrl, k8sLogger) // only allow error.ErrManifestFoundButNoDeployAndDependenciesCommands to go forward - autocreate property will deploy the app if err != nil && !errors.Is(err, oktetoErrors.ErrManifestFoundButNoDeployAndDependenciesCommands) { @@ -577,7 +577,7 @@ return &overridedEnvVars, nil } -func (up *upContext) deployApp(ctx context.Context, k8slogger *io.K8sLogger) error { +func (up *upContext) deployApp(ctx context.Context, ioCtrl *io.IOController, k8slogger *io.K8sLogger) error { k8sProvider := okteto.NewK8sClientProviderWithLogger(k8slogger) pc, err := pipelineCMD.NewCommand() if err != nil { @@ -596,6 +596,7 @@ DeployWaiter: deploy.NewDeployWaiter(k8sProvider, k8slogger), EndpointGetter: deploy.NewEndpointGetter, AnalyticsTracker: up.analyticsTracker, + IoCtrl: ioCtrl, } startTime := time.Now() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/okteto-2.25.1/integration/actions/pipeline_test.go new/okteto-2.25.2/integration/actions/pipeline_test.go --- old/okteto-2.25.1/integration/actions/pipeline_test.go 2024-01-30 11:46:47.000000000 +0100 +++ new/okteto-2.25.2/integration/actions/pipeline_test.go 2024-02-14 13:33:51.000000000 +0100 @@ -57,7 +57,7 @@ integration.SkipIfWindows(t) t.Setenv(model.GithubRepositoryEnvVar, "okteto/movies-with-compose") - t.Setenv(model.GithubRefEnvVar, "main") + t.Setenv(model.GithubRefEnvVar, "cli-e2e") t.Setenv(model.GithubServerURLEnvVar, githubHTTPSURL) namespace := integration.GetTestNamespace("pipelinecomposeaction", user) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/okteto-2.25.1/integration/up/deploy_remote_test.go new/okteto-2.25.2/integration/up/deploy_remote_test.go --- old/okteto-2.25.1/integration/up/deploy_remote_test.go 1970-01-01 01:00:00.000000000 +0100 +++ new/okteto-2.25.2/integration/up/deploy_remote_test.go 2024-02-14 13:33:51.000000000 +0100 @@ -0,0 +1,142 @@ +//go:build integration +// +build integration + +// Copyright 2023 The Okteto Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package up + +import ( + "context" + "fmt" + "log" + "path/filepath" + "testing" + + "github.com/okteto/okteto/integration" + "github.com/okteto/okteto/integration/commands" + "github.com/okteto/okteto/pkg/k8s/kubeconfig" + "github.com/okteto/okteto/pkg/model" + "github.com/okteto/okteto/pkg/okteto" + "github.com/stretchr/testify/require" +) + +const ( + oktetoManifestV2DeployRemote = `build: + app: + context: app + dockerfile: Dockerfile + image: okteto.dev/test:1.0.0 +deploy: + remote: true + commands: + - kubectl apply -f deployment.yaml +dev: + e2etest: + image: ${OKTETO_BUILD_APP_IMAGE} + command: echo value1 > /usr/src/app/var.html && python -m http.server 8080 + workdir: /usr/src/app + sync: + - .:/usr/src/app +` +) + +func TestUpWithDeployRemote(t *testing.T) { + t.Parallel() + // Prepare environment + + dir := t.TempDir() + oktetoPath, err := integration.GetOktetoPath() + require.NoError(t, err) + + testNamespace := integration.GetTestNamespace("TestUpDeployRemote", user) + namespaceOpts := &commands.NamespaceOptions{ + Namespace: testNamespace, + OktetoHome: dir, + Token: token, + } + require.NoError(t, commands.RunOktetoCreateNamespace(oktetoPath, namespaceOpts)) + defer commands.RunOktetoDeleteNamespace(oktetoPath, namespaceOpts) + require.NoError(t, commands.RunOktetoKubeconfig(oktetoPath, dir)) + c, _, err := okteto.NewK8sClientProvider().Provide(kubeconfig.Get([]string{filepath.Join(dir, ".kube", "config")})) + require.NoError(t, err) + + indexPath := filepath.Join(dir, "index.html") + require.NoError(t, writeFile(indexPath, testNamespace)) + log.Printf("original 'index.html' content: %s", testNamespace) + + require.NoError(t, writeFile(filepath.Join(dir, "deployment.yaml"), k8sManifestTemplate)) + require.NoError(t, writeFile(filepath.Join(dir, "okteto.yml"), oktetoManifestV2DeployRemote)) + require.NoError(t, writeFile(filepath.Join(dir, ".stignore"), stignoreContent)) + require.NoError(t, createAppDockerfile(dir)) + + appName := "e2etest" + upOptions := &commands.UpOptions{ + Name: appName, + Namespace: testNamespace, + Workdir: dir, + Deploy: true, + OktetoHome: dir, + Token: token, + } + + require.LessOrEqual(t, len(testNamespace+appName), 63) + + upResult, err := commands.RunOktetoUp(oktetoPath, upOptions) + require.NoError(t, err) + + kubectlOpts := &commands.KubectlOptions{ + Namespace: testNamespace, + Name: model.DevCloneName(appName), + ConfigFile: filepath.Join(dir, ".kube", "config"), + } + require.NoError(t, integration.WaitForDeployment(kubectlBinary, kubectlOpts, 1, timeout)) + + // Test that the app image has been created correctly + appDeployment, err := integration.GetDeployment(context.Background(), testNamespace, model.DevCloneName(appName), c) + require.NoError(t, err) + appImageDev := fmt.Sprintf("%s/%s/test:1.0.0", okteto.Context().Registry, testNamespace) + require.Equal(t, getImageWithSHA(appImageDev), appDeployment.Spec.Template.Spec.Containers[0].Image) + + indexRemoteEndpoint := fmt.Sprintf("https://%s-%s.%s/index.html", appName, testNamespace, appsSubdomain) + + // Test that the same content is on the remote and on local endpoint + require.Equal(t, integration.GetContentFromURL(indexRemoteEndpoint, timeout), testNamespace) + + // Test that making a change gets reflected on remote + localupdatedContent := fmt.Sprintf("%s-updated-content", testNamespace) + require.NoError(t, writeFile(indexPath, localupdatedContent)) + require.NoError(t, waitUntilUpdatedContent(indexRemoteEndpoint, localupdatedContent, timeout, upResult.ErrorChan)) + + // Test kill syncthing reconnection + require.NoError(t, killLocalSyncthing(upResult.Pid.Pid)) + localSyncthingKilledContent := fmt.Sprintf("%s-kill-syncthing", testNamespace) + require.NoError(t, writeFile(indexPath, localSyncthingKilledContent)) + require.NoError(t, waitUntilUpdatedContent(indexRemoteEndpoint, localSyncthingKilledContent, timeout, upResult.ErrorChan)) + + // Test destroy pod reconnection + require.NoError(t, integration.DestroyPod(context.Background(), testNamespace, fmt.Sprintf("app=%s", appName), c)) + destroyPodContent := fmt.Sprintf("%s-destroy-pod", testNamespace) + require.NoError(t, writeFile(indexPath, destroyPodContent)) + require.NoError(t, waitUntilUpdatedContent(indexRemoteEndpoint, destroyPodContent, timeout, upResult.ErrorChan)) + + // Test okteto down command + downOpts := &commands.DownOptions{ + Namespace: testNamespace, + Workdir: dir, + Token: token, + } + require.NoError(t, commands.RunOktetoDown(oktetoPath, downOpts)) + + require.True(t, commands.HasUpCommandFinished(upResult.Pid.Pid)) +} ++++++ okteto.obsinfo ++++++ --- /var/tmp/diff_new_pack.VlazSi/_old 2024-02-22 21:02:20.639560336 +0100 +++ /var/tmp/diff_new_pack.VlazSi/_new 2024-02-22 21:02:20.643560483 +0100 @@ -1,5 +1,5 @@ name: okteto -version: 2.25.1 -mtime: 1706611607 -commit: 005d98ed413a2d086af8dec25843e1d69b3516f5 +version: 2.25.2 +mtime: 1707914031 +commit: a6d74b0d36ca1838f5a593bf42d5fd4973ff9bb8 ++++++ vendor.tar.gz ++++++ /work/SRC/openSUSE:Factory/okteto/vendor.tar.gz /work/SRC/openSUSE:Factory/.okteto.new.1706/vendor.tar.gz differ: char 5, line 1