def tagBuilds()

in riff-raff/app/housekeeping/ArtifactHousekeeping.scala [142:180]


  def tagBuilds(
      client: S3Client,
      bucket: String,
      projectName: String,
      buildsToTag: Set[String],
      now: DateTime
  ): Int = {
    val tag = Tag
      .builder()
      .key(config.housekeeping.tagOldArtifacts.tagKey)
      .value(config.housekeeping.tagOldArtifacts.tagValue)
      .build()
    val taggingObj = Tagging.builder.tagSet(List(tag).asJava).build()

    buildsToTag.foreach { buildId =>
      log.info(s"Tagging build ID $buildId")
      val objectsToTag = ArtifactHousekeeping.getObjectsToTag(
        client,
        bucket,
        projectName,
        buildId,
        now,
        config.housekeeping.tagOldArtifacts.minimumAgeDays
      )

      objectsToTag.foreach { obj =>
        log.info(s"Tagging ${obj.key}")
        val request = PutObjectTaggingRequest
          .builder()
          .bucket(bucket)
          .key(obj.key)
          .tagging(taggingObj)
          .build()
        client.putObjectTagging(request)
      }
      Thread.sleep(500)
    }
    buildsToTag.size
  }