77 "bytes"
88 "context"
99 "errors"
10+ "fmt"
1011 "os"
1112 "path"
1213 "strings"
@@ -17,6 +18,7 @@ import (
1718 "github.com/LambdaTest/test-at-scale/pkg/global"
1819 "github.com/LambdaTest/test-at-scale/pkg/logwriter"
1920 "github.com/LambdaTest/test-at-scale/pkg/lumber"
21+ "github.com/LambdaTest/test-at-scale/pkg/utils"
2022 "golang.org/x/sync/errgroup"
2123)
2224
3638 nodeInstaller NodeInstaller
3739 TestDiscoveryService core.TestDiscoveryService
3840 TASVersion int
41+ TASFilePath string
3942 }
4043
4144 setUpResultV2 struct {
@@ -49,7 +52,7 @@ func (d *driverV2) RunDiscovery(ctx context.Context, payload *core.Payload,
4952 taskPayload * core.TaskPayload , oauth * core.Oauth , coverageDir string , secretMap map [string ]string ) error {
5053 // do something
5154 d .logger .Debugf ("Running in %d version" , d .TASVersion )
52- tas , err := d .TASConfigManager .LoadAndValidate (ctx , d .TASVersion , payload . TasFileName , payload .EventType , payload .LicenseTier )
55+ tas , err := d .TASConfigManager .LoadAndValidate (ctx , d .TASVersion , d . TASFilePath , payload .EventType , payload .LicenseTier )
5356 if err != nil {
5457 d .logger .Errorf ("Unable to load tas yaml file, error: %v" , err )
5558 err = & errs.StatusFailed {Remark : err .Error ()}
@@ -94,14 +97,18 @@ func (d *driverV2) RunDiscovery(ctx context.Context, payload *core.Payload,
9497
9598func (d * driverV2 ) RunExecution (ctx context.Context , payload * core.Payload ,
9699 taskPayload * core.TaskPayload , oauth * core.Oauth , coverageDir string , secretMap map [string ]string ) error {
97- tas , err := d .TASConfigManager .LoadAndValidate (ctx , d .TASVersion , payload . TasFileName , payload .EventType , payload .LicenseTier )
100+ tas , err := d .TASConfigManager .LoadAndValidate (ctx , d .TASVersion , d . TASFilePath , payload .EventType , payload .LicenseTier )
98101 if err != nil {
99102 d .logger .Errorf ("Unable to load tas yaml file, error: %v" , err )
100103 err = & errs.StatusFailed {Remark : err .Error ()}
101104 return err
102105 }
106+
103107 subModuleName := os .Getenv (global .SubModuleName )
104108 tasConfig := tas .(* core.TASConfigV2 )
109+ if cachErr := d .setCache (tasConfig ); cachErr != nil {
110+ return cachErr
111+ }
105112 subModule , err := d .findSubmodule (tasConfig , payload , subModuleName )
106113 if err != nil {
107114 d .logger .Errorf ("Error finding sub module %s in tas config file" , subModuleName )
@@ -355,6 +362,9 @@ func (d *driverV2) setUpDiscovery(ctx context.Context,
355362 payload * core.Payload ,
356363 tasConfig * core.TASConfigV2 ,
357364 oauth * core.Oauth ) (* setUpResultV2 , error ) {
365+ if err := d .setCache (tasConfig ); err != nil {
366+ return nil , err
367+ }
358368 cacheKey := tasConfig .Cache .Key
359369
360370 g , errCtx := errgroup .WithContext (ctx )
@@ -445,8 +455,6 @@ func populateTestDiscoveryV2(testDiscoveryResult *core.DiscoveryResult, subModul
445455 testDiscoveryResult .Parallelism = subModule .Parallelism
446456 testDiscoveryResult .SplitMode = tasConfig .SplitMode
447457 testDiscoveryResult .SubModule = subModule .Name
448- testDiscoveryResult .Tier = tasConfig .Tier
449- testDiscoveryResult .ContainerImage = tasConfig .ContainerImage
450458}
451459
452460func (d * driverV2 ) findSubmodule (tasConfig * core.TASConfigV2 , payload * core.Payload , subModuleName string ) (* core.SubModule , error ) {
@@ -503,3 +511,18 @@ func GetSubmoduleBasedDiff(diff map[string]int, subModulePath string) map[string
503511 }
504512 return newDiff
505513}
514+
515+ func (d * driverV2 ) setCache (tasConfig * core.TASConfigV2 ) error {
516+ if tasConfig .Cache == nil {
517+ checksum , err := utils .ComputeChecksum (fmt .Sprintf ("%s/%s" , global .RepoDir , global .PackageJSON ))
518+ if err != nil {
519+ d .logger .Errorf ("Error while computing checksum, error %v" , err )
520+ return err
521+ }
522+ tasConfig .Cache = & core.Cache {
523+ Key : checksum ,
524+ Paths : []string {},
525+ }
526+ }
527+ return nil
528+ }
0 commit comments