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
}