Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- use diagnostics;
- use ElectricCommander;
- my $ec = new ElectricCommander();
- my $componentNames = $ec->getProperty("/myCall/componentNames")->findnodes("//value")->string_value();
- print "componentNames : " . $componentNames . "\n";
- my $env = $ec->getProperty("/myProject/envVariables")->findnodes("//value")->string_value();
- my $workDir = $ec->getProperty("/myParent/workDir")->findnodes("//value")->string_value();
- my $region = $ec->getProperty("/myParent/region")->findnodes("//value")->string_value();
- my $excludeParser = $ec->getProperty("/myParent/excludeParser")->findnodes("//value")->string_value();
- my $searchQualityVersion = $ec->getProperty("/myParent/searchQualityVersion")->findnodes("//value")->string_value();
- my $product = $ec->getProperty("/myParent/currentProduct")->findnodes("//value")->string_value();
- my $datasource = $ec->getProperty("/myParent/datasource")->findnodes("//value")->string_value();
- my $embeddedVersion = $ec->getProperty("/myParent/embeddedVersion")->findnodes("//value")->string_value();
- my $replayjobid = $ec->getProperty("/myJob/replayJobID")->findnodes("//value")->string_value();
- my $testdatajobidlist = $ec->getProperty("/myJob/testDataJobIDList")->findnodes("//value")->string_value();
- my $countryList = $ec->getProperty("/myJob/countryList")->findnodes("//value")->string_value();
- my $patternList = $ec->getProperty("/myJob/patternList")->findnodes("//value")->string_value();
- my $label = $ec->getProperty("/myParent/label")->findnodes("//value")->string_value();
- my $buildType = $ec->getProperty("/myParent/buildType")->findnodes("//value")->string_value();
- my $patternPriority = $ec->getProperty("/myParent/patternPriority")->findnodes("//value")->string_value();
- my $environment = $ec->getProperty("/myParent/environment")->findnodes("//value")->string_value();
- my $endpoint = $ec->getProperty("/myParent/endpoint")->findnodes("//value")->string_value();
- my $apikey = $ec->getProperty("/myParent/apikey")->findnodes("//value")->string_value();
- my $secretkey = $ec->getProperty("/myParent/secretkey")->findnodes("//value")->string_value();
- my $targetType = "";
- my $local_data_path = "";
- my $data_link = "";
- if ($datasource eq "onboard") {
- $local_data_path = $ec->getProperty("/myJob/local_data_path/$region/path")->findnodes("//value")->string_value();
- $data_link = $ec->getProperty("/myJob/index_path/$region/path")->findnodes("//value")->string_value();
- }
- print "Index Link: $data_link\n";
- my $resourceName = '$[/myResource/resourceName]';
- my $sourceProject = '$[/myProject/projectName]';
- my $limitPerPattern = '$[/myParent/limitperpattern]';
- my $faraway = '$[/myParent/faraway]';
- my $suite = '$[/myParent/suiteNames]';
- my $ecJobID = '$[/myJob/jobName]_$[/myCall/product]';
- my $jobID = '$[jobId]';
- my $workDir = '$[/myParent/workDir]';
- #Create a new procedure
- my $procedureName = "VarStep_UnitTest_SelectedComponent_${jobID}_$region";
- $ec->createProcedure("$sourceProject", "$procedureName", { resourceName => "$resourceName" });
- # Store off the procedure name
- $ec->setProperty("/myParent/runUnitTestSelectedComponents", "$procedureName");
- # Read component name from array
- my @componentsArray = split(/,/, $componentNames);
- $index = 1;
- foreach my $componentName (@componentsArray) {
- print "componentName is:" . $componentName . "\n";
- if (index($componentName, "address") != -1) {
- $targetType = "address";
- }
- if (index($componentName, "poi") != -1) {
- $targetType = "places";
- }
- if (index($componentName, "autosuggest") != -1) {
- $targetType = "autosuggest";
- }
- if (index($componentName, "rgc") != -1) {
- $targetType = "rgc";
- }
- my $pwdCmd = "echo `pwd`";
- my $mkdirCmd = "mkdir -p ./$componentName/Build";
- my $chmodCmd = "chmod 777 ./$componentName/Build && chmod 777 ./$componentName/container-orchestration/common/scripts/*.sh";
- my $cdCmd = "cd $componentName/container-orchestration/docker-compose/sq-core && chmod 777 *.sh";
- my $runCmd = "./run.sh -e=$buildType -p=$product -r=$region -g=$embeddedVersion -v=$searchQualityVersion -l=$label -t=$targetType -s=$suite -i=$ecJobID -n=$faraway -q=$limitPerPattern -x=$excludeParser -d=$datasource -f=$local_data_path --country_list=$countryList --pattern_priority=$patternPriority --cloud_env=$environment -h=$endpoint -k=$apikey -c=$secretkey --sq_mount_folder=$workDir/$componentName/Build";
- my $stopCmd = "./stop.sh";
- $response = $ec->createStep("$sourceProject", "$procedureName", "Run_SearchQuality_Docker_" . $componentName, {
- command => "$pwdCmd\n$mkdirCmd\n$chmodCmd\n$cdCmd\n$runCmd\n$stopCmd\n",
- parallel => "1",
- workingDirectory => "$workDir"
- });
- $index++;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement