Skip to content
Snippets Groups Projects
Select Git revision
  • 4c49d7dbb779fa7b0351a3e688cf8fc90cf6dc7b
  • master default protected
  • chore/chronograf-cleanup-su
  • telegraf
  • kapacitor
  • chore/influxdb3-3.2.1-release
  • chore/influxdb3-3.2.0-2
  • chore/influxdb3-3.2.0-release
  • db/add-v2.7.12
  • tjh/three-zero-two
  • BNP_revise-influxdb_1.12-dockerfiles
  • smith/edr-testing-image
  • BNP_general_fixes
  • smith/pr-635
  • ga-licenses
15 results

main.go

Blame
  • commit.ts 1.72 KiB
    import is from '@sindresorhus/is';
    import minimatch from 'minimatch';
    import { FileData, platform } from '../../platform';
    import { logger } from '../../logger';
    import { RenovateConfig } from '../../config';
    
    export type CommitConfig = RenovateConfig & {
      baseBranch?: string;
      branchName: string;
      commitMessage: string;
      excludeCommitPaths?: string[];
      updatedPackageFiles: FileData[];
      updatedArtifacts: FileData[];
    };
    
    export async function commitFilesToBranch(
      config: CommitConfig
    ): Promise<boolean> {
      let updatedFiles = config.updatedPackageFiles.concat(config.updatedArtifacts);
      // istanbul ignore if
      if (is.nonEmptyArray(config.excludeCommitPaths)) {
        updatedFiles = updatedFiles.filter(f => {
          const filename = f.name === '|delete|' ? f.contents : f.name;
          const matchesExcludePaths = config.excludeCommitPaths.some(path =>
            minimatch(filename, path, { dot: true })
          );
          if (matchesExcludePaths) {
            logger.debug(`Excluding ${filename} from commit`);
            return false;
          }
          return true;
        });
      }
      if (is.nonEmptyArray(updatedFiles)) {
        logger.debug(`${updatedFiles.length} file(s) to commit`);
    
        // istanbul ignore if
        if (config.dryRun) {
          logger.info('DRY-RUN: Would commit files to branch ' + config.branchName);
        } else {
          // API will know whether to create new branch or not
          await platform.commitFilesToBranch({
            branchName: config.branchName,
            files: updatedFiles,
            message: config.commitMessage,
            parentBranch: config.baseBranch || undefined,
          });
          logger.info({ branch: config.branchName }, `files committed`);
        }
      } else {
        logger.debug(`No files to commit`);
        return false;
      }
      return true;
    }