From 5bdff2ce9f6b1f79cbf8c04dfe72b1df3e2a733f Mon Sep 17 00:00:00 2001 From: Yusuf Erdem Date: Thu, 28 Apr 2022 12:07:43 +0300 Subject: [PATCH 1/2] Add labels property to the GHWorkflowJob.java --- .../java/org/kohsuke/github/GHWorkflowJob.java | 17 ++++++++++++++++- .../org/kohsuke/github/GHWorkflowRunTest.java | 6 ++++++ ...flowruntest_actions_jobs__2270858630-10.json | 5 ++++- ...wruntest_actions_runs_719643947_jobs-11.json | 10 ++++++++-- ...owruntest_actions_runs_719643947_jobs-7.json | 10 ++++++++-- 5 files changed, 42 insertions(+), 6 deletions(-) diff --git a/src/main/java/org/kohsuke/github/GHWorkflowJob.java b/src/main/java/org/kohsuke/github/GHWorkflowJob.java index 9e701d7f32..7bd8059145 100644 --- a/src/main/java/org/kohsuke/github/GHWorkflowJob.java +++ b/src/main/java/org/kohsuke/github/GHWorkflowJob.java @@ -9,7 +9,11 @@ import java.io.IOException; import java.net.URL; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Date; +import java.util.List; +import java.util.Objects; import static java.util.Objects.requireNonNull; @@ -41,6 +45,8 @@ public class GHWorkflowJob extends GHObject { private List steps = new ArrayList<>(); + private List labels = new ArrayList<>(); + /** * The name of the job. * @@ -131,6 +137,15 @@ public List getSteps() { return Collections.unmodifiableList(steps); } + /** + * Gets the labels of the job. + * + * @return the labels + */ + public List getLabels() { + return Collections.unmodifiableList(labels); + } + /** * Repository to which the job belongs. * diff --git a/src/test/java/org/kohsuke/github/GHWorkflowRunTest.java b/src/test/java/org/kohsuke/github/GHWorkflowRunTest.java index d7b5442716..1e6422c558 100644 --- a/src/test/java/org/kohsuke/github/GHWorkflowRunTest.java +++ b/src/test/java/org/kohsuke/github/GHWorkflowRunTest.java @@ -39,6 +39,7 @@ public class GHWorkflowRunTest extends AbstractGitHubWireMockTest { private static final String MULTI_JOBS_WORKFLOW_PATH = "multi-jobs-workflow.yml"; private static final String MULTI_JOBS_WORKFLOW_NAME = "Multi jobs workflow"; private static final String RUN_A_ONE_LINE_SCRIPT_STEP_NAME = "Run a one-line script"; + private static final String UBUNTU_LABEL = "ubuntu-latest"; private GHRepository repo; @@ -487,6 +488,11 @@ private static void checkJobProperties(long workflowRunId, GHWorkflowJob job, St fail("Unable to find " + RUN_A_ONE_LINE_SCRIPT_STEP_NAME + " step"); } + Optional labelOptional = job.getLabels().stream().filter(s -> s.equals(UBUNTU_LABEL)).findFirst(); + if (!labelOptional.isPresent()) { + fail("Unable to find " + UBUNTU_LABEL + " label"); + } + checkStepProperties(step.get(), RUN_A_ONE_LINE_SCRIPT_STEP_NAME, 2); } diff --git a/src/test/resources/org/kohsuke/github/GHWorkflowRunTest/wiremock/testJobs/__files/repos_hub4j-test-org_ghworkflowruntest_actions_jobs__2270858630-10.json b/src/test/resources/org/kohsuke/github/GHWorkflowRunTest/wiremock/testJobs/__files/repos_hub4j-test-org_ghworkflowruntest_actions_jobs__2270858630-10.json index 915a5db94b..fec9df9de2 100644 --- a/src/test/resources/org/kohsuke/github/GHWorkflowRunTest/wiremock/testJobs/__files/repos_hub4j-test-org_ghworkflowruntest_actions_jobs__2270858630-10.json +++ b/src/test/resources/org/kohsuke/github/GHWorkflowRunTest/wiremock/testJobs/__files/repos_hub4j-test-org_ghworkflowruntest_actions_jobs__2270858630-10.json @@ -37,5 +37,8 @@ "completed_at": "2021-04-05T17:42:59.000+02:00" } ], - "check_run_url": "https://api.github.com/repos/hub4j-test-org/GHWorkflowRunTest/check-runs/2270858630" + "check_run_url": "https://api.github.com/repos/hub4j-test-org/GHWorkflowRunTest/check-runs/2270858630", + "labels": [ + "ubuntu-latest" + ] } \ No newline at end of file diff --git a/src/test/resources/org/kohsuke/github/GHWorkflowRunTest/wiremock/testJobs/__files/repos_hub4j-test-org_ghworkflowruntest_actions_runs_719643947_jobs-11.json b/src/test/resources/org/kohsuke/github/GHWorkflowRunTest/wiremock/testJobs/__files/repos_hub4j-test-org_ghworkflowruntest_actions_runs_719643947_jobs-11.json index 9c46949c90..6de394a0ed 100644 --- a/src/test/resources/org/kohsuke/github/GHWorkflowRunTest/wiremock/testJobs/__files/repos_hub4j-test-org_ghworkflowruntest_actions_runs_719643947_jobs-11.json +++ b/src/test/resources/org/kohsuke/github/GHWorkflowRunTest/wiremock/testJobs/__files/repos_hub4j-test-org_ghworkflowruntest_actions_runs_719643947_jobs-11.json @@ -40,7 +40,10 @@ "completed_at": "2021-04-05T17:42:57.000+02:00" } ], - "check_run_url": "https://api.github.com/repos/hub4j-test-org/GHWorkflowRunTest/check-runs/2270858576" + "check_run_url": "https://api.github.com/repos/hub4j-test-org/GHWorkflowRunTest/check-runs/2270858576", + "labels": [ + "ubuntu-latest" + ] }, { "id": 2270858630, @@ -81,7 +84,10 @@ "completed_at": "2021-04-05T17:42:59.000+02:00" } ], - "check_run_url": "https://api.github.com/repos/hub4j-test-org/GHWorkflowRunTest/check-runs/2270858630" + "check_run_url": "https://api.github.com/repos/hub4j-test-org/GHWorkflowRunTest/check-runs/2270858630", + "labels": [ + "ubuntu-latest" + ] } ] } \ No newline at end of file diff --git a/src/test/resources/org/kohsuke/github/GHWorkflowRunTest/wiremock/testJobs/__files/repos_hub4j-test-org_ghworkflowruntest_actions_runs_719643947_jobs-7.json b/src/test/resources/org/kohsuke/github/GHWorkflowRunTest/wiremock/testJobs/__files/repos_hub4j-test-org_ghworkflowruntest_actions_runs_719643947_jobs-7.json index 9c46949c90..6de394a0ed 100644 --- a/src/test/resources/org/kohsuke/github/GHWorkflowRunTest/wiremock/testJobs/__files/repos_hub4j-test-org_ghworkflowruntest_actions_runs_719643947_jobs-7.json +++ b/src/test/resources/org/kohsuke/github/GHWorkflowRunTest/wiremock/testJobs/__files/repos_hub4j-test-org_ghworkflowruntest_actions_runs_719643947_jobs-7.json @@ -40,7 +40,10 @@ "completed_at": "2021-04-05T17:42:57.000+02:00" } ], - "check_run_url": "https://api.github.com/repos/hub4j-test-org/GHWorkflowRunTest/check-runs/2270858576" + "check_run_url": "https://api.github.com/repos/hub4j-test-org/GHWorkflowRunTest/check-runs/2270858576", + "labels": [ + "ubuntu-latest" + ] }, { "id": 2270858630, @@ -81,7 +84,10 @@ "completed_at": "2021-04-05T17:42:59.000+02:00" } ], - "check_run_url": "https://api.github.com/repos/hub4j-test-org/GHWorkflowRunTest/check-runs/2270858630" + "check_run_url": "https://api.github.com/repos/hub4j-test-org/GHWorkflowRunTest/check-runs/2270858630", + "labels": [ + "ubuntu-latest" + ] } ] } \ No newline at end of file From 352e69e6fc2d6c82f5c099091d079e05485b9f36 Mon Sep 17 00:00:00 2001 From: Yusuf Erdem Date: Mon, 30 May 2022 21:48:05 +0300 Subject: [PATCH 2/2] Add missing properties to the GHWorkflowJob.java --- .../org/kohsuke/github/GHWorkflowJob.java | 41 +++++++++++++++++++ .../org/kohsuke/github/GHWorkflowRunTest.java | 4 ++ ...owruntest_actions_jobs__2270858630-10.json | 6 ++- ...untest_actions_runs_719643947_jobs-11.json | 12 +++++- ...runtest_actions_runs_719643947_jobs-7.json | 12 +++++- 5 files changed, 70 insertions(+), 5 deletions(-) diff --git a/src/main/java/org/kohsuke/github/GHWorkflowJob.java b/src/main/java/org/kohsuke/github/GHWorkflowJob.java index 7bd8059145..462eeec396 100644 --- a/src/main/java/org/kohsuke/github/GHWorkflowJob.java +++ b/src/main/java/org/kohsuke/github/GHWorkflowJob.java @@ -43,6 +43,11 @@ public class GHWorkflowJob extends GHObject { private String htmlUrl; private String checkRunUrl; + private int runnerId; + private String runnerName; + private int runnerGroupId; + private String runnerGroupName; + private List steps = new ArrayList<>(); private List labels = new ArrayList<>(); @@ -146,6 +151,42 @@ public List getLabels() { return Collections.unmodifiableList(labels); } + /** + * the runner id. + * + * @return runnerId + */ + public int getRunnerId() { + return runnerId; + } + + /** + * the runner name. + * + * @return runnerName + */ + public String getRunnerName() { + return runnerName; + } + + /** + * the runner group id. + * + * @return runnerGroupId + */ + public int getRunnerGroupId() { + return runnerGroupId; + } + + /** + * the runner group name. + * + * @return runnerGroupName + */ + public String getRunnerGroupName() { + return runnerGroupName; + } + /** * Repository to which the job belongs. * diff --git a/src/test/java/org/kohsuke/github/GHWorkflowRunTest.java b/src/test/java/org/kohsuke/github/GHWorkflowRunTest.java index 1e6422c558..402635c548 100644 --- a/src/test/java/org/kohsuke/github/GHWorkflowRunTest.java +++ b/src/test/java/org/kohsuke/github/GHWorkflowRunTest.java @@ -478,6 +478,10 @@ private static void checkJobProperties(long workflowRunId, GHWorkflowJob job, St assertThat(job.getUrl().getPath(), containsString("/actions/jobs/")); assertThat(job.getHtmlUrl().getPath(), containsString("/runs/" + job.getId())); assertThat(job.getCheckRunUrl().getPath(), containsString("/check-runs/")); + assertThat(job.getRunnerId(), is(1)); + assertThat(job.getRunnerName(), containsString("my runner")); + assertThat(job.getRunnerGroupId(), is(2)); + assertThat(job.getRunnerGroupName(), containsString("my runner group")); // we only test the step we have control over, the others are added by GitHub Optional step = job.getSteps() diff --git a/src/test/resources/org/kohsuke/github/GHWorkflowRunTest/wiremock/testJobs/__files/repos_hub4j-test-org_ghworkflowruntest_actions_jobs__2270858630-10.json b/src/test/resources/org/kohsuke/github/GHWorkflowRunTest/wiremock/testJobs/__files/repos_hub4j-test-org_ghworkflowruntest_actions_jobs__2270858630-10.json index fec9df9de2..6e131628ee 100644 --- a/src/test/resources/org/kohsuke/github/GHWorkflowRunTest/wiremock/testJobs/__files/repos_hub4j-test-org_ghworkflowruntest_actions_jobs__2270858630-10.json +++ b/src/test/resources/org/kohsuke/github/GHWorkflowRunTest/wiremock/testJobs/__files/repos_hub4j-test-org_ghworkflowruntest_actions_jobs__2270858630-10.json @@ -40,5 +40,9 @@ "check_run_url": "https://api.github.com/repos/hub4j-test-org/GHWorkflowRunTest/check-runs/2270858630", "labels": [ "ubuntu-latest" - ] + ], + "runner_id": 1, + "runner_name": "my runner", + "runner_group_id": 2, + "runner_group_name": "my runner group" } \ No newline at end of file diff --git a/src/test/resources/org/kohsuke/github/GHWorkflowRunTest/wiremock/testJobs/__files/repos_hub4j-test-org_ghworkflowruntest_actions_runs_719643947_jobs-11.json b/src/test/resources/org/kohsuke/github/GHWorkflowRunTest/wiremock/testJobs/__files/repos_hub4j-test-org_ghworkflowruntest_actions_runs_719643947_jobs-11.json index 6de394a0ed..d0c286aa1c 100644 --- a/src/test/resources/org/kohsuke/github/GHWorkflowRunTest/wiremock/testJobs/__files/repos_hub4j-test-org_ghworkflowruntest_actions_runs_719643947_jobs-11.json +++ b/src/test/resources/org/kohsuke/github/GHWorkflowRunTest/wiremock/testJobs/__files/repos_hub4j-test-org_ghworkflowruntest_actions_runs_719643947_jobs-11.json @@ -43,7 +43,11 @@ "check_run_url": "https://api.github.com/repos/hub4j-test-org/GHWorkflowRunTest/check-runs/2270858576", "labels": [ "ubuntu-latest" - ] + ], + "runner_id": 1, + "runner_name": "my runner", + "runner_group_id": 2, + "runner_group_name": "my runner group" }, { "id": 2270858630, @@ -87,7 +91,11 @@ "check_run_url": "https://api.github.com/repos/hub4j-test-org/GHWorkflowRunTest/check-runs/2270858630", "labels": [ "ubuntu-latest" - ] + ], + "runner_id": 1, + "runner_name": "my runner", + "runner_group_id": 2, + "runner_group_name": "my runner group" } ] } \ No newline at end of file diff --git a/src/test/resources/org/kohsuke/github/GHWorkflowRunTest/wiremock/testJobs/__files/repos_hub4j-test-org_ghworkflowruntest_actions_runs_719643947_jobs-7.json b/src/test/resources/org/kohsuke/github/GHWorkflowRunTest/wiremock/testJobs/__files/repos_hub4j-test-org_ghworkflowruntest_actions_runs_719643947_jobs-7.json index 6de394a0ed..d0c286aa1c 100644 --- a/src/test/resources/org/kohsuke/github/GHWorkflowRunTest/wiremock/testJobs/__files/repos_hub4j-test-org_ghworkflowruntest_actions_runs_719643947_jobs-7.json +++ b/src/test/resources/org/kohsuke/github/GHWorkflowRunTest/wiremock/testJobs/__files/repos_hub4j-test-org_ghworkflowruntest_actions_runs_719643947_jobs-7.json @@ -43,7 +43,11 @@ "check_run_url": "https://api.github.com/repos/hub4j-test-org/GHWorkflowRunTest/check-runs/2270858576", "labels": [ "ubuntu-latest" - ] + ], + "runner_id": 1, + "runner_name": "my runner", + "runner_group_id": 2, + "runner_group_name": "my runner group" }, { "id": 2270858630, @@ -87,7 +91,11 @@ "check_run_url": "https://api.github.com/repos/hub4j-test-org/GHWorkflowRunTest/check-runs/2270858630", "labels": [ "ubuntu-latest" - ] + ], + "runner_id": 1, + "runner_name": "my runner", + "runner_group_id": 2, + "runner_group_name": "my runner group" } ] } \ No newline at end of file