Skip to content

Instantly share code, notes, and snippets.

View jprinet's full-sized avatar

Jérôme Prinet jprinet

  • Bayonne, France
  • 05:49 (UTC +02:00)
View GitHub Profile
@jprinet
jprinet / build.gradle.kts
Last active January 30, 2025 17:08
Docker image ids as test inputs
tasks.named("e2eTest") {
val dockerImageIdsProvider = providers.provider {
val dockerImageIds = mutableMapOf<String,String>()
layout.projectDirectory.file("src/test/resources/docker-images.txt").asFile.forEachLine { dockerImageName ->
val dockerImageId = providers.exec {
commandLine("docker", "images", dockerImageName, "--format", "{{.ID}}")
}.standardOutput.asText.getOrElse("not-found-${UUID.randomUUID()}")
logger.info("Adding input $dockerImageName=$dockerImageId")
dockerImageIds.put(dockerImageName,dockerImageId)
}
@jprinet
jprinet / collect-monthly-kpi.sh
Last active January 21, 2025 11:42
Collect Build Scan publication monthly metrics
#!/bin/bash
# Parse CLI arguments
if [[ $# -lt 3 ]]; then
echo "Usage: $0 <develocity_url> <access_key> <yyyy-mm>"
exit 1
fi
# Init parameters
readonly develocityUrl=$1
@jprinet
jprinet / pom.xml
Created August 14, 2024 15:01
Configure Quarkus properties in profiles
<profiles>
<profile>
<id>local</id>
<activation>
</activation>
<properties>
<develocity.quarkus.dump.config.suffix>config-check-local</develocity.quarkus.dump.config.suffix>
</properties>
</profile>
@jprinet
jprinet / pom.xml
Created August 14, 2024 12:17
Configure quarkus-maven-plugin
<plugin>
<groupId>${quarkus.platform.group-id}</groupId>
<artifactId>quarkus-maven-plugin</artifactId>
<version>${quarkus.platform.version}</version>
<extensions>true</extensions>
<executions>
<execution>
<id>track-prod-config-changes</id>
<phase>process-resources</phase>
<goals>
@jprinet
jprinet / pom.xml
Created August 14, 2024 12:16
Enable Quarkus configuration tracking
<properties>
<quarkus.config-tracking.enabled>true</quarkus.config-tracking.enabled>
</properties>
@jprinet
jprinet / extensions.xml
Last active August 22, 2024 09:28
Quarkus build caching extension configuration
<extensions>
<extension>
<groupId>com.gradle</groupId>
<artifactId>develocity-maven-extension</artifactId>
<version>1.22</version>
</extension>
<extension>
<groupId>com.gradle</groupId>
<artifactId>quarkus-build-caching-extension</artifactId>
<version>1.8</version>
@jprinet
jprinet / script.sh
Last active July 25, 2024 12:39
PTS simulator simulation-performance JSON parser
jq '.content |
map({
task:.target,
meanExecutionDurationMs: .meanExecutionDurationMs,
AFFECTED_BY_RECENT_CHANGES: .unavoidableReasonAggregation[0],
FAILURE_RATE:.unavoidableReasonAggregation[1],
USEFUL_SIGNAL:.unavoidableReasonAggregation[2],
CHANGED:.unavoidableReasonAggregation[3],
RECENTLY_FAILED:.unavoidableReasonAggregation[4],
FAILED_WITH_SAME_INPUTS:.unavoidableReasonAggregation[5],
import com.gradle.scan.plugin.BuildScanExtension
import org.gradle.util.internal.VersionNumber
import java.nio.charset.StandardCharsets
import java.util.Collections
import java.util.Optional
import java.util.jar.JarFile
import java.util.stream.Stream
import java.util.stream.Collectors
/**
@jprinet
jprinet / process-scans-for-remote-cache-error.sh
Created August 25, 2023 14:20
Collect builds having push enabled and remote cache disabled due to an error
#!/bin/bash
# Call with
# ./process-scans-for-remote-cache-errors.sh <GE_URL> <GE_ACCESS_TOKEN> <NB_DAYS_FROM_NOW>
# This will count the build scans belonging to the date range [NOW, NOW - <NB_DAYS_FROM_NOW> days] with push enabled and remote cache disabled due to an error
# init parameters
readonly geUrl=$1
readonly bearerToken=$2
readonly daysAgo=$3
@jprinet
jprinet / process-scans.sh
Last active May 15, 2024 19:07
Get list of Github repositories in build scans
#!/bin/bash
# init parameters
readonly geUrl=$1
readonly bearerToken=$2
readonly daysAgo=$3
# init global vars
readonly maxBuildsPerBatch=100
readonly recoveryFile="$0.out.build-scan-id"