@@ -821,41 +821,37 @@ func (Cloud) Image(ctx context.Context) {
821821// Push builds a cloud image tags it correctly and pushes to remote image repo.
822822// Previous login to elastic registry is required!
823823func (Cloud ) Push () error {
824- snapshot := os . Getenv ( snapshotEnv )
825- defer os . Setenv ( snapshotEnv , snapshot )
826-
827- os . Setenv ( snapshotEnv , "true" )
824+ agentVersion , err := mage . AgentPackageVersion ( )
825+ if err != nil {
826+ return fmt . Errorf ( "failed to get agent package version: %w" , err )
827+ }
828828
829- version := getVersion ()
830- var tag string
829+ var targetTag string
831830 if envTag , isPresent := os .LookupEnv ("CUSTOM_IMAGE_TAG" ); isPresent && len (envTag ) > 0 {
832- tag = envTag
831+ targetTag = envTag
833832 } else {
834- commit := dockerCommitHash ()
835- time := time .Now ().Unix ()
836-
837- tag = fmt .Sprintf ("%s-%s-%d" , version , commit , time )
833+ targetTag = fmt .Sprintf ("%s-%s-%d" , agentVersion , dockerCommitHash (), time .Now ().Unix ())
838834 }
839835
840- sourceCloudImageName := fmt .Sprintf ("docker.elastic.co/beats-ci/elastic-agent-cloud:%s" , version )
836+ sourceCloudImageName := fmt .Sprintf ("docker.elastic.co/beats-ci/elastic-agent-cloud:%s-SNAPSHOT " , agentVersion )
841837 var targetCloudImageName string
842838 if customImage , isPresent := os .LookupEnv ("CI_ELASTIC_AGENT_DOCKER_IMAGE" ); isPresent && len (customImage ) > 0 {
843- targetCloudImageName = fmt .Sprintf ("%s:%s" , customImage , tag )
839+ targetCloudImageName = fmt .Sprintf ("%s:%s" , customImage , targetTag )
844840 } else {
845- targetCloudImageName = fmt .Sprintf (cloudImageTmpl , tag )
841+ targetCloudImageName = fmt .Sprintf (cloudImageTmpl , targetTag )
846842 }
847843
848844 fmt .Printf (">> Setting a docker image tag to %s\n " , targetCloudImageName )
849- err : = sh .RunV ("docker" , "tag" , sourceCloudImageName , targetCloudImageName )
845+ err = sh .RunV ("docker" , "tag" , sourceCloudImageName , targetCloudImageName )
850846 if err != nil {
851- return fmt .Errorf ("Failed setting a docker image tag: %w" , err )
847+ return fmt .Errorf ("failed setting a docker image tag: %w" , err )
852848 }
853849 fmt .Println (">> Docker image tag updated successfully" )
854850
855851 fmt .Println (">> Pushing a docker image to remote registry" )
856852 err = sh .RunV ("docker" , "image" , "push" , targetCloudImageName )
857853 if err != nil {
858- return fmt .Errorf ("Failed pushing docker image: %w" , err )
854+ return fmt .Errorf ("failed pushing docker image: %w" , err )
859855 }
860856 fmt .Printf (">> Docker image pushed to remote registry successfully: %s\n " , targetCloudImageName )
861857
0 commit comments