From a03c7eebd2f65e35cf75ca623ff1cd4d8ccab379 Mon Sep 17 00:00:00 2001 From: The-Huginn Date: Thu, 2 May 2024 10:50:12 +0200 Subject: [PATCH] Implement demo Workflow results --- README.md | 2 + pom.xml | 6 +++ .../wildfly/bot/AnalyzeWorkflowResults.java | 39 +++++++++++++++++++ src/main/resources/application.properties | 2 + 4 files changed, 49 insertions(+) create mode 100644 src/main/java/org/wildfly/bot/AnalyzeWorkflowResults.java diff --git a/README.md b/README.md index def953c1..00cd45a6 100644 --- a/README.md +++ b/README.md @@ -40,6 +40,7 @@ Fields to fill in: - Go to [smee.io](https://smee.io/) and press `Start a new channel` - Add this link to `Webhook URL` 4. Set up permissions +- `Actions` - `Access: Read and write` - `Commit statuses` - `Access: Read and write` - `Contents` - `Access Read-only` - `Metadata` - `Access: Read-only` @@ -49,6 +50,7 @@ Fields to fill in: - `Pull requests` - `Pull request review` - `Pull request review comment` +- `Workflow run` 6. Create a private key After creating the app scroll down and press `Generate a private key` diff --git a/pom.xml b/pom.xml index 3de9e719..708f7042 100644 --- a/pom.xml +++ b/pom.xml @@ -6,6 +6,7 @@ wildfly-github-app 1.0.0-SNAPSHOT + 3.7.0 3.11.0 false 0.9.0 @@ -56,6 +57,11 @@ io.quarkus quarkus-smallrye-health + + io.quarkus.bot + build-reporter-github-actions + ${build-reporter.version} + io.quarkus quarkus-junit5 diff --git a/src/main/java/org/wildfly/bot/AnalyzeWorkflowResults.java b/src/main/java/org/wildfly/bot/AnalyzeWorkflowResults.java new file mode 100644 index 00000000..1cf5bc56 --- /dev/null +++ b/src/main/java/org/wildfly/bot/AnalyzeWorkflowResults.java @@ -0,0 +1,39 @@ +package org.wildfly.bot; + +import io.quarkiverse.githubapp.ConfigFile; +import io.quarkiverse.githubapp.event.WorkflowRun; +import io.quarkus.bot.buildreporter.githubactions.BuildReporterConfig; +import io.quarkus.bot.buildreporter.githubactions.BuildReporterEventHandler; +import io.smallrye.graphql.client.dynamic.api.DynamicGraphQLClient; +import jakarta.inject.Inject; +import org.kohsuke.github.GHEventPayload; +import org.kohsuke.github.GitHub; +import org.wildfly.bot.config.WildFlyBotConfig; +import org.wildfly.bot.model.WildFlyConfigFile; + +import java.io.IOException; +import java.util.Set; + +import static org.wildfly.bot.model.RuntimeConstants.CONFIG_FILE_NAME; + +public class AnalyzeWorkflowResults { + @Inject + BuildReporterEventHandler buildReporterEventHandler; + + @Inject + WildFlyBotConfig wildFlyBotConfig; + + void analyzeWorkflowResults(@WorkflowRun.Completed @WorkflowRun.Requested GHEventPayload.WorkflowRun workflowRunPayload, + @ConfigFile(CONFIG_FILE_NAME) WildFlyConfigFile wildFlyConfigFile, + GitHub gitHub, DynamicGraphQLClient gitHubGraphQLClient) throws IOException { + BuildReporterConfig buildReporterConfig = BuildReporterConfig.builder() + .dryRun(wildFlyBotConfig.isDryRun()) + .workflowJobComparator((o1, o2) -> { + return 0; + }) + .monitoredWorkflows(Set.of("Java CI with Maven")) + .build(); + + buildReporterEventHandler.handle(workflowRunPayload, buildReporterConfig, gitHub, gitHubGraphQLClient); + } +} diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index ac1f344f..b0fdc7ce 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -6,6 +6,8 @@ quarkus.openshift.resources.requests.memory=200Mi quarkus.openshift.resources.limits.cpu=200m quarkus.openshift.resources.limits.memory=250Mi +quarkus.qute.suffixes=md +quarkus.qute.content-types."md"=text/markdown %test.quarkus.github-app.app-id=0 %test.quarkus.github-app.private-key=-----BEGIN RSA PRIVATE KEY-----\