@@ -243,6 +243,37 @@ interface SourceMapsOptions {
243243 filesToDeleteAfterUpload ?: string | Array < string > ;
244244}
245245
246+ type AutoSetCommitsOptions = {
247+ /**
248+ * Automatically sets `commit` and `previousCommit`. Sets `commit` to `HEAD`
249+ * and `previousCommit` as described in the option's documentation.
250+ *
251+ * If you set this to `true`, manually specified `commit` and `previousCommit`
252+ * options will be overridden. It is best to not specify them at all if you
253+ * set this option to `true`.
254+ */
255+ auto : true ;
256+ repo ?: undefined ;
257+ commit ?: undefined ;
258+ } ;
259+
260+ type ManualSetCommitsOptions = {
261+ auto ?: false | undefined ;
262+ /**
263+ * The full repo name as defined in Sentry.
264+ *
265+ * Required if the `auto` option is not set to `true`.
266+ */
267+ repo : string ;
268+
269+ /**
270+ * The current (last) commit in the release.
271+ *
272+ * Required if the `auto` option is not set to `true`.
273+ */
274+ commit : string ;
275+ } ;
276+
246277interface ReleaseOptions {
247278 /**
248279 * Unique identifier for the release you want to create.
@@ -299,101 +330,81 @@ interface ReleaseOptions {
299330
300331 /**
301332 * Configuration for associating the release with its commits in Sentry.
333+ *
334+ * Set to `false` to disable commit association.
335+ *
336+ * @default { auto: true }
302337 */
303- setCommits ?: (
304- | {
338+ setCommits ?:
339+ | false
340+ | ( ( AutoSetCommitsOptions | ManualSetCommitsOptions ) & {
305341 /**
306- * Automatically sets `commit` and `previousCommit`. Sets `commit` to `HEAD`
307- * and `previousCommit` as described in the option's documentation.
342+ * The commit before the beginning of this release (in other words,
343+ * the last commit of the previous release).
344+ *
345+ * Defaults to the last commit of the previous release in Sentry.
308346 *
309- * If you set this to `true`, manually specified `commit` and `previousCommit`
310- * options will be overridden. It is best to not specify them at all if you
311- * set this option to `true`.
347+ * If there was no previous release, the last 10 commits will be used.
312348 */
313- auto : true ;
314- repo ?: undefined ;
315- commit ?: undefined ;
316- }
317- | {
318- auto ?: false | undefined ;
349+ previousCommit ?: string ;
350+
319351 /**
320- * The full repo name as defined in Sentry.
352+ * If the flag is to `true` and the previous release commit was not found
353+ * in the repository, the plugin creates a release with the default commits
354+ * count instead of failing the command.
321355 *
322- * Required if the `auto` option is not set to `true`.
356+ * @default false
323357 */
324- repo : string ;
358+ ignoreMissing ?: boolean ;
325359
326360 /**
327- * The current (last) commit in the release.
361+ * If this flag is set, the setCommits step will not fail and just exit
362+ * silently if no new commits for a given release have been found.
328363 *
329- * Required if the `auto` option is not set to `true`.
364+ * @default false
330365 */
331- commit : string ;
332- }
333- ) & {
334- /**
335- * The commit before the beginning of this release (in other words,
336- * the last commit of the previous release).
337- *
338- * Defaults to the last commit of the previous release in Sentry.
339- *
340- * If there was no previous release, the last 10 commits will be used.
341- */
342- previousCommit ?: string ;
343-
344- /**
345- * If the flag is to `true` and the previous release commit was not found
346- * in the repository, the plugin creates a release with the default commits
347- * count instead of failing the command.
348- *
349- * @default false
350- */
351- ignoreMissing ?: boolean ;
352-
353- /**
354- * If this flag is set, the setCommits step will not fail and just exit
355- * silently if no new commits for a given release have been found.
356- *
357- * @default false
358- */
359- ignoreEmpty ?: boolean ;
360- } ;
366+ ignoreEmpty ?: boolean ;
367+ } ) ;
361368
362369 /**
363370 * Configuration for adding deployment information to the release in Sentry.
371+ *
372+ * Set to `false` to disable automatic deployment detection and creation.
364373 */
365- deploy ?: {
366- /**
367- * Environment for this release. Values that make sense here would
368- * be `production` or `staging`.
369- */
370- env : string ;
371-
372- /**
373- * Deployment start time in Unix timestamp (in seconds) or ISO 8601 format.
374- */
375- started ?: number | string ;
376-
377- /**
378- * Deployment finish time in Unix timestamp (in seconds) or ISO 8601 format.
379- */
380- finished ?: number | string ;
381-
382- /**
383- * Deployment duration (in seconds). Can be used instead of started and finished.
384- */
385- time ?: number ;
386-
387- /**
388- * Human-readable name for the deployment.
389- */
390- name ?: string ;
391-
392- /**
393- * URL that points to the deployment.
394- */
395- url ?: string ;
396- } ;
374+ deploy ?:
375+ | false
376+ | {
377+ /**
378+ * Environment for this release. Values that make sense here would
379+ * be `production` or `staging`.
380+ */
381+ env : string ;
382+
383+ /**
384+ * Deployment start time in Unix timestamp (in seconds) or ISO 8601 format.
385+ */
386+ started ?: number | string ;
387+
388+ /**
389+ * Deployment finish time in Unix timestamp (in seconds) or ISO 8601 format.
390+ */
391+ finished ?: number | string ;
392+
393+ /**
394+ * Deployment duration (in seconds). Can be used instead of started and finished.
395+ */
396+ time ?: number ;
397+
398+ /**
399+ * Human-readable name for the deployment.
400+ */
401+ name ?: string ;
402+
403+ /**
404+ * URL that points to the deployment.
405+ */
406+ url ?: string ;
407+ } ;
397408}
398409
399410interface BundleSizeOptimizationsOptions {
0 commit comments