Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add WithConsoleUrl interface #9645

Merged
merged 5 commits into from
Sep 9, 2024
Merged

Conversation

Vlatombe
Copy link
Member

@Vlatombe Vlatombe commented Aug 22, 2024

This simplifies the logic of Functions#getConsoleUrl and makes it pluggable.

This also clarifies ConsoleUrlProvider#getConsoleUrl and make it a requirement for implementations to return relative url w/o leading slash.

Testing done

Checked known implementations (OSS + CloudBees)

Proposed changelog entries

  • N/A

Proposed upgrade guidelines

N/A

Submitter checklist

Desired reviewers

@mention

Before the changes are marked as ready-for-merge:

Maintainer checklist

This simplifies the logic of `Functions#getConsoleUrl` and makes it pluggable.
@Vlatombe Vlatombe added the developer Changes which impact plugin developers label Aug 22, 2024
@Vlatombe Vlatombe requested review from jglick and a team August 22, 2024 13:33
@Vlatombe Vlatombe changed the title Add WithConsoleUrl interface Add WithConsoleUrl interface Aug 22, 2024
@Vlatombe Vlatombe requested a review from dwnusbaum August 22, 2024 14:03
core/src/main/java/jenkins/console/ConsoleUrlProvider.java Outdated Show resolved Hide resolved
@@ -2131,6 +2132,16 @@ default long getEstimatedDuration() {
return Executables.getParentOf(this).getEstimatedDuration();
}

/**
* Handles cases such as {@code PlaceholderExecutable} for Pipeline node steps.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Did you test this case to make sure it works?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is actually moved code from Functions#getConsoleUrl but I doublechecked to make sure.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, thanks, it just wasn't obvious to me that the recursion was quite the same.

core/src/main/java/hudson/Functions.java Outdated Show resolved Hide resolved
Vlatombe and others added 2 commits August 22, 2024 17:12
* @param executable the executable (normally a {@link Run})
* @return the absolute URL for accessing the build console for the executable, or null if there is no build associated with the executable
* Computes the link to the console for the run for the specified object, taking {@link ConsoleUrlProvider} into account.
* @param withConsoleUrl the object to compute a console url for (can be {@link Run}, a {@code PlaceholderExecutable}...)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

After the last rework it isn't an object any longer, maybe also adjust the javadoc here

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well, a “model object”. Seems OK to me.

* @param executable the executable (normally a {@link Run})
* @return the absolute URL for accessing the build console for the executable, or null if there is no build associated with the executable
* Computes the link to the console for the run for the specified object, taking {@link ConsoleUrlProvider} into account.
* @param withConsoleUrl the object to compute a console url for (can be {@link Run}, a {@code PlaceholderExecutable}...)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well, a “model object”. Seems OK to me.

@MarkEWaite MarkEWaite added the skip-changelog Should not be shown in the changelog label Aug 27, 2024
@github-actions github-actions bot added the unresolved-merge-conflict There is a merge conflict with the target branch. label Sep 3, 2024
Copy link
Contributor

github-actions bot commented Sep 3, 2024

Please take a moment and address the merge conflicts of your pull request. Thanks!

@github-actions github-actions bot removed the unresolved-merge-conflict There is a merge conflict with the target branch. label Sep 4, 2024
@Vlatombe
Copy link
Member Author

Vlatombe commented Sep 5, 2024

/label ready-for-merge


This PR is now ready for merge, after ~24 hours, we will merge it if there's no negative feedback.

Thanks!

@comment-ops-bot comment-ops-bot bot added the ready-for-merge The PR is ready to go, and it will be merged soon if there is no negative feedback label Sep 5, 2024
@Vlatombe Vlatombe merged commit bfcb874 into jenkinsci:master Sep 9, 2024
16 checks passed
@Vlatombe Vlatombe deleted the with-console-url branch September 9, 2024 14:57
janfaracik added a commit to janfaracik/jenkins that referenced this pull request Sep 12, 2024
commit c5128f4
Author: Jan Faracik <[email protected]>
Date:   Thu Sep 12 14:39:02 2024 +0100

    Use notice for views lacking jobs

commit bb7a30a
Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Date:   Thu Sep 12 09:02:10 2024 +0100

    Update dependency org.jenkins-ci.plugins:script-security to v1361 (jenkinsci#9719)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

commit 5fc92c6
Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Date:   Thu Sep 12 09:01:59 2024 +0100

    Update jenkins/ath Docker tag to v5992 (jenkinsci#9720)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

commit 36c155e
Author: Alexander Brandes <[email protected]>
Date:   Thu Sep 12 10:01:35 2024 +0200

    Automate the since updater (jenkinsci#7240)

    Co-authored-by: Tim Jacomb <[email protected]>

commit 65f374c
Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Date:   Wed Sep 11 05:13:32 2024 -0600

    Update dependency org.jenkins-ci.plugins:junit to v1300 (jenkinsci#9716)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

commit 35d7677
Author: Vincent Latombe <[email protected]>
Date:   Wed Sep 11 04:32:36 2024 +0200

    Introduce `HistoricalBuild` interface (jenkinsci#9674)

    * Introduce HistoricalBuild interface

    This allows to display Run-like objects in build history without having concrete Run present in the Jenkins instance.

    * Remove BuildHistoryWidget#entries.jelly

    * JDK17 level

    Co-authored-by: Jesse Glick <[email protected]>

    ---------

    Co-authored-by: Jesse Glick <[email protected]>

commit 78e132d
Author: Basil Crow <[email protected]>
Date:   Tue Sep 10 19:32:04 2024 -0700

    Build tests without forking the compiler (jenkinsci#9717)

commit 66a7810
Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Date:   Tue Sep 10 20:31:40 2024 -0600

    Update dependency org.jenkins-ci.plugins:cloudbees-folder to v6.951.v5f91d88d76b_b_ (jenkinsci#9715)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

commit 53f3203
Author: Daniel Beck <[email protected]>
Date:   Tue Sep 10 22:52:20 2024 +0200

    [JENKINS-73709] Build without forking the compiler (jenkinsci#9709)

    Co-authored-by: Daniel Beck <[email protected]>

commit 905df3d
Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Date:   Tue Sep 10 09:40:46 2024 -0700

    Update dependency org.jenkins-ci.plugins:junit to v1299 (jenkinsci#9714)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

commit 11c405b
Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Date:   Tue Sep 10 09:40:08 2024 -0700

    Update dependency org.apache.maven.plugins:maven-jarsigner-plugin to v3.1.0 (jenkinsci#9712)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

commit eb6be17
Author: Jenkins Release Bot <[email protected]>
Date:   Tue Sep 10 14:10:20 2024 +0000

    [maven-release-plugin] prepare for next development iteration

commit 561231f
Author: Jenkins Release Bot <[email protected]>
Date:   Tue Sep 10 14:09:56 2024 +0000

    [maven-release-plugin] prepare release jenkins-2.476

commit 0c49380
Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Date:   Mon Sep 9 16:47:09 2024 -0700

    Update eslint monorepo to v9.10.0 (jenkinsci#9710)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

commit 1b8c198
Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Date:   Mon Sep 9 11:19:46 2024 -0700

    Update dependency io.jenkins.plugins:font-awesome-api to v6.6.0-2 (jenkinsci#9708)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

commit 85d6358
Author: Basil Crow <[email protected]>
Date:   Mon Sep 9 08:14:48 2024 -0700

    Compatibility for `ChainedServletFilter` (jenkinsci#9696)

commit 4334aa0
Author: Juan Jesús Alejo Sillero <[email protected]>
Date:   Mon Sep 9 17:13:51 2024 +0200

    fix(i18n): correct typo in Spanish translation for 'Preparation' (jenkinsci#9702)

commit 2431b7c
Author: Markus Winter <[email protected]>
Date:   Mon Sep 9 17:13:20 2024 +0200

    [JENKINS-72988] validate displayname against items in the same ItemGroup (jenkinsci#9152)

    Co-authored-by: Kris Stern <[email protected]>

commit bfcb874
Merge: b56e5d7 2f6d77c
Author: Vincent Latombe <[email protected]>
Date:   Mon Sep 9 16:57:03 2024 +0200

    Merge pull request jenkinsci#9645 from Vlatombe/with-console-url

commit b56e5d7
Merge: c05d756 6b88bfc
Author: Vincent Latombe <[email protected]>
Date:   Mon Sep 9 11:21:50 2024 +0200

    Merge pull request jenkinsci#9673 from Vlatombe/computerListener.onIdle

commit 2f6d77c
Merge: 49618a0 307f680
Author: Vincent Latombe <[email protected]>
Date:   Wed Sep 4 10:48:53 2024 +0200

    Merge branch 'master' into with-console-url

commit 6b88bfc
Author: Vincent Latombe <[email protected]>
Date:   Wed Aug 28 16:22:14 2024 +0200

    Spotless

commit ed93ad0
Author: Vincent Latombe <[email protected]>
Date:   Wed Aug 28 16:12:09 2024 +0200

    Revert "Call listener synchronously, but outside synchronized"

    This reverts commit 75242cf.

commit 75242cf
Author: Vincent Latombe <[email protected]>
Date:   Wed Aug 28 15:47:51 2024 +0200

    Call listener synchronously, but outside synchronized

commit 9823b8e
Author: Vincent Latombe <[email protected]>
Date:   Wed Aug 28 15:40:43 2024 +0200

    Execute ComputerListener#onIdle in another thread.

commit 64667af
Author: Vincent Latombe <[email protected]>
Date:   Wed Aug 28 09:54:25 2024 +0200

    Implement ComputerListener#onIdle

    Introduces a new computer listener fired whenever a Computer becomes idle.

commit 49618a0
Author: Vincent Latombe <[email protected]>
Date:   Fri Aug 23 08:14:22 2024 +0200

    Updating the test to note the behavioural change

commit 2d30cfc
Author: Vincent Latombe <[email protected]>
Date:   Thu Aug 22 17:20:38 2024 +0200

    Fix review

commit 44602bb
Author: Vincent Latombe <[email protected]>
Date:   Thu Aug 22 17:12:59 2024 +0200

    Typo spotted by @dwnusbaum

    Co-authored-by: Devin Nusbaum <[email protected]>

commit 39d30c8
Author: Vincent Latombe <[email protected]>
Date:   Tue Aug 13 15:04:12 2024 +0200

    Add WithConsoleUrl interface

    This simplifies the logic of `Functions#getConsoleUrl` and makes it pluggable.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
developer Changes which impact plugin developers ready-for-merge The PR is ready to go, and it will be merged soon if there is no negative feedback skip-changelog Should not be shown in the changelog
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants