@@ -94,7 +94,7 @@ export class Features implements FeatureEnablement {
9494 gitHubVersion : util . GitHubVersion ,
9595 repositoryNwo : RepositoryNwo ,
9696 tempDir : string ,
97- logger : Logger
97+ private readonly logger : Logger
9898 ) {
9999 this . gitHubFeatureFlags = new GitHubFeatureFlags (
100100 gitHubVersion ,
@@ -135,26 +135,55 @@ export class Features implements FeatureEnablement {
135135
136136 // Do not use this feature if user explicitly disables it via an environment variable.
137137 if ( envVar === "false" ) {
138+ this . logger . debug (
139+ `Feature ${ feature } is disabled via the environment variable ${ featureConfig [ feature ] . envVar } .`
140+ ) ;
138141 return false ;
139142 }
140143
141144 // Never use this feature if the CLI version explicitly can't support it.
142145 const minimumVersion = featureConfig [ feature ] . minimumVersion ;
143146 if ( codeql && minimumVersion ) {
144147 if ( ! ( await util . codeQlVersionAbove ( codeql , minimumVersion ) ) ) {
148+ this . logger . debug (
149+ `Feature ${ feature } is disabled because the CodeQL CLI version is older than the minimum ` +
150+ `version ${ minimumVersion } .`
151+ ) ;
145152 return false ;
153+ } else {
154+ this . logger . debug (
155+ `CodeQL CLI version ${ await codeql . getVersion ( ) } is newer than the minimum ` +
156+ `version ${ minimumVersion } for feature ${ feature } .`
157+ ) ;
146158 }
147159 }
148160
149161 // Use this feature if user explicitly enables it via an environment variable.
150162 if ( envVar === "true" ) {
163+ this . logger . debug (
164+ `Feature ${ feature } is enabled via the environment variable ${ featureConfig [ feature ] . envVar } .`
165+ ) ;
151166 return true ;
152167 }
168+
153169 // Ask the GitHub API if the feature is enabled.
154- return (
155- ( await this . gitHubFeatureFlags . getValue ( feature ) ) ??
156- featureConfig [ feature ] . defaultValue
170+ const apiValue = await this . gitHubFeatureFlags . getValue ( feature ) ;
171+ if ( apiValue !== undefined ) {
172+ this . logger . debug (
173+ `Feature ${ feature } is ${
174+ apiValue ? "enabled" : "disabled"
175+ } via the GitHub API.`
176+ ) ;
177+ return apiValue ;
178+ }
179+
180+ const defaultValue = featureConfig [ feature ] . defaultValue ;
181+ this . logger . debug (
182+ `Feature ${ feature } is ${
183+ defaultValue ? "enabled" : "disabled"
184+ } due to its default value.`
157185 ) ;
186+ return defaultValue ;
158187 }
159188}
160189
0 commit comments