OpenJDK ports incorrectly shown as 'green' for unsupported OS versions on ports.macports.org

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

OpenJDK ports incorrectly shown as 'green' for unsupported OS versions on ports.macports.org

Nils Breunese
Hello,

I maintain the openjdk* ports. These ports require Mac OS X 10.10 Yosemite or later, and the Portfile contains an explicit check for OS version: https://github.com/macports/macports-ports/blob/master/java/openjdk/Portfile#L307-L314

However, I got a report from a MacPorts user that https://ports.macports.org/port/openjdk8/summary shows 10.6, 10.7, 10.8 and 10.9 as green (https://trac.macports.org/ticket/62125). When I click any of these versions I get a page that says "No Such Resource”. Is this a bug in ports.macports.org or is there any way I can modify the Portfile to make versions older than 10.10 not show up as green?

Nils Breunese.
Reply | Threaded
Open this post in threaded view
|

Re: OpenJDK ports incorrectly shown as 'green' for unsupported OS versions on ports.macports.org

pvr4me
> On Jan 22, 2021, at 4:39 PM, Nils Breunese <[hidden email]> wrote:
>
> Hello,
>
> I maintain the openjdk* ports. These ports require Mac OS X 10.10 Yosemite or later, and the Portfile contains an explicit check for OS version: https://github.com/macports/macports-ports/blob/master/java/openjdk/Portfile#L307-L314
>
> However, I got a report from a MacPorts user that https://ports.macports.org/port/openjdk8/summary shows 10.6, 10.7, 10.8 and 10.9 as green (https://trac.macports.org/ticket/62125). When I click any of these versions I get a page that says "No Such Resource”. Is this a bug in ports.macports.org or is there any way I can modify the Portfile to make versions older than 10.10 not show up as green?
>

This is an artifact of using “known_fail yes”.  

To see what has happened, go to the github page for the port:

https://github.com/macports/macports-ports/blob/master/java/openjdk/Portfile

There is a small green checkmark on the line showing your latest commit.  Clicking it drops down a list of the buildbot jobs that were initiated from that commit.  Click on “Details” to be taken to the port watcher job, such as for OS X 10.9:

https://build.macports.org/builders/ports-10.9_x86_64-watcher/builds/41453

In the watcher job, step 5 is where the list of ports to be built on the builders is prepared.  The stdio link for that step is:

https://build.macports.org/builders/ports-10.9_x86_64-watcher/builds/41453/steps/subports/logs/stdio

In that log, it shows that none of the subports were going to be built on OS X 10.9 because they are known to fail:

Excluding openjdk because it is replaced by openjdk11
Excluding openjdk8 because it is known to fail
Excluding openjdk8-graalvm because it is known to fail

Excluding openjdk15-openj9-large-heap because it is known to fail

The port watcher job therefore finished successfully even though no supports were actually built.  I believe this “successful” result is what is displayed on the port page you linked to.  

Obviously not ideal.  I believe there was some work last summer on enhancing the port web page system.  (A much simpler summary page with install instructions, etc.)  Perhaps it handled such cases better?  Unfortunately it hasn’t been deployed.

Craig

Reply | Threaded
Open this post in threaded view
|

Re: OpenJDK ports incorrectly shown as 'green' for unsupported OS versions on ports.macports.org

Joshua Root-8
On 2021-1-23 09:40 , Craig Treleaven wrote:
> The port watcher job therefore finished successfully even though no supports were actually built.  I believe this “successful” result is what is displayed on the port page you linked to.

I haven't looked at the code for the web app in detail, but I think if
the build has always been skipped for a port it should show as grey.
There is another less-than-ideal behaviour however, where the port
health indicator shows the status of the last build of the port on that
platform, even if that build was not for the current version of the port.

<https://github.com/macports/macports-webapp/issues/135>

Of course it would be best to teach the web app about known_fail and
display that information somehow.

- Josh
Reply | Threaded
Open this post in threaded view
|

Re: OpenJDK ports incorrectly shown as 'green' for unsupported OS versions on ports.macports.org

pvr4me
> On Jan 22, 2021, at 6:47 PM, Joshua Root <[hidden email]> wrote:
>
> On 2021-1-23 09:40 , Craig Treleaven wrote:
>> The port watcher job therefore finished successfully even though no supports were actually built.  I believe this “successful” result is what is displayed on the port page you linked to.
>
> I haven't looked at the code for the web app in detail, but I think if the build has always been skipped for a port it should show as grey. There is another less-than-ideal behaviour however, where the port health indicator shows the status of the last build of the port on that platform, even if that build was not for the current version of the port.
>
> <https://github.com/macports/macports-webapp/issues/135>
>
> Of course it would be best to teach the web app about known_fail and display that information somehow.
>

Just to beat a dead horse a little more…

A port I’ve been working on (OpenShot) requires OS X 10.9 or later.  It also needs a non-default variant (py-pyqt5 +webkit).  So I can use 'known_fail yes’ on older OS versions and the active_variants portgroup to insist on the needed variant.  The upshot is that Port Health will show green for the older unsupported OS versions and red on the OS versions where the port can actually be built!

Craig

Reply | Threaded
Open this post in threaded view
|

Re: OpenJDK ports incorrectly shown as 'green' for unsupported OS versions on ports.macports.org

Joshua Root-8
On 2021-1-25 00:36 , Craig Treleaven wrote:
> A port I’ve been working on (OpenShot) requires OS X 10.9 or later.  It also needs a non-default variant (py-pyqt5 +webkit).  So I can use 'known_fail yes’ on older OS versions and the active_variants portgroup to insist on the needed variant.  The upshot is that Port Health will show green for the older unsupported OS versions and red on the OS versions where the port can actually be built!

The indicator should be grey if a build has never been attempted. If
this port will always fail to install on the buildbot, you should always
set 'known_fail yes'. Telling the buildbot not to bother is what that
option is for.

- Josh