saagie/gradle-saagie-dataops-plugin

Cache problem on the mac IOs computer

Opened this issue · 2 comments

use the projectsExportV1 to export job id 19228 with this build. note that the url export_file = "./job/" andtemporary_directoryshould existe.

plugins {
  id "io.saagie.gradle-saagie-dataops-plugin" version "2.0.15"
}
saagie {
    server {
        url = saagieurl
        login = saagieuserid
	password = saagiepassword
        environment = saagieplatformid
	jwt = true
    }
    job {
          ids =  [ "19228" ]
        }
    exportArtifacts {
          export_file = "./job/export.zip"
          overwrite=true
	  temporary_directory='./tmp'          
    }
}

Then you need to use the projectsExportV1 to export job id 21754 with this build.

plugins {
  id "io.saagie.gradle-saagie-dataops-plugin" version "2.0.15"
}
saagie {
    server {
        url = saagieurl
        login = saagieuserid
	password = saagiepassword
        environment = saagieplatformid
	jwt = true
    }
    job {
          ids =  [ "21754" ]
        }
    exportArtifacts {
          export_file = "./job/export.zip"
          overwrite=true
	  temporary_directory='./tmp'          
    }
}

You should get
{"status":"success","exportfile":"./job/export.zip"}
For both builds.
Then you should import the file using projectsImport with this build.

plugins {
    id 'groovy'
    id 'io.saagie.gradle-saagie-dataops-plugin' version '2.0.15'
}

saagie {
    server {
        url = saagieurl
        login = saagieuserid
        password = saagiepassword
        environment = saagieplatformid
        jwt = true
        acceptSelfSigned = true
    }
    project {
        id = saagieProject
    }
    importArtifacts {
        import_file = "./job/export.zip"
        temporary_directory='/tmp'
    }
}

If you get
{status=success, job=[{id=21754, name=RetrieveCustomerData}], pipeline=[]}
Then it s working fine.
The bug is to get two jobs imported instead of one.
{status=success, job=[{id=21754, name=RetrieveCustomerData}, {id=19228, name=Predictive Maintenance - Prepare data}], pipeline=[]}
This message mean you got the bug behavior

  • Tested on linux system works, but fails on some of the IOS systems ( 4 reproduction on the IOS system)
  • Changed the task input entry type @input in the gradle plugin, didn t work
  • The issue happens between two build so it must persist somewhere in the system ( the tmp files?)
  • Before we didn t find how to reproduce the bug but now we can and it s then possible to fix it
  • In Shivas log we fould unusual logs that we don t have in the ubuntu builds
[org.gradle.cache.internal.InMemoryCacheDecoratorFactory] Creating in-memory store for cache
  • Changed the zip code with lib code
  • Changed the tmp file naming from timstamp to UUID to be ensure to generate unique names, in custom temporary_directory
  • made the same changes in prefix default temporary directory tmp
  • Tested on a mac that reproduced the error before, worked fine, issue fixed.