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

Port health is not tied to port version/revision #135

Open
ryandesign opened this issue Nov 8, 2019 · 4 comments
Open

Port health is not tied to port version/revision #135

ryandesign opened this issue Nov 8, 2019 · 4 comments
Labels
bug Something isn't working build results Port build history from buildbot port info Provide more details info about ports priority:1-high High priority

Comments

@ryandesign
Copy link
Contributor

The port health indicators are misleading because they are not tied to the port version/revision.

For example, mkvtoolnix was recently updated to 39.0.0. At the time of filing this ticket, the port health indicators show green for 10.14, 10.13, 10.12, red for 10.11, 10.10, 10.9, green for 10.8 & 10.7, and red for 10.6 and 10.6 i386.

But if you drill down, you discover that the statuses for 10.9 and up are for the 39.0.0_0 build while the 10.8 and earlier statuses are for the previous 30.1.0_1 build. The 10.8 and earlier builders are very busy right now rebuilding hundreds of ports for the libc++ transition and have not yet gotten around to building mkvtoolnix 39.0.0.

It seems like the status indicators for each builder need to be cleared when the port version or revision is updated. And when you get status information from the buildbot, you need to ensure that it is for the current version/revision of the port.

@mojca
Copy link
Member

mojca commented Nov 8, 2019

Yes, I'm painfully aware of this and I have put this on the task list (not entered in the tracker though).

The prerequisite to get this working is to make the version information easily accessible from the buildbot history, and something that you would need to deploy on our buildbot master. The only other alternative is to parse full build logs from all builds, but that will likely download plenty gigabytes from your server.

Options would be:

  • quick hack to mpbb to print the version information to the "statistics" file (next to file size / build dir size / time to build)
  • same or similar step as the one which prints port name that would also print port version (ideal)
  • for older builds the only available option would be to parse full logs, but that would ideally need to be done from your local network, else we'll clog the server

@mojca
Copy link
Member

mojca commented Nov 8, 2019

Also, once we do this, we might need to somewhat extend the port health, so that it will show the health of the last build even when the newest build isn't yet ready (but make it clear that it's an older status).

@ryandesign
Copy link
Contributor Author

  • same or similar step as the one which prints port name that would also print port version (ideal)

Printing the full name @version_revision+variants spec in the builder step instead of just the name seems like a reasonable thing to do. Would that be ok?

@ryandesign
Copy link
Contributor Author

  • for older builds the only available option would be to parse full logs, but that would ideally need to be done from your local network, else we'll clog the server

What format would be best? Just a csv file for each builder with build number, port name, version, revision, variants?

I should be able to produce this data for successful builds by parsing the portbuilder logs, since the version, revision, and variants are printed as part of the archive name in the install and activate phases. If just this partial data can be imported, I'll start with this and work on the rest later.

For unsuccessful builds, variant selections can be reconstructed from the DEBUG: Executing variant foo provides foo lines in the log, but version/revision information is not available in the log. We could look at the portwatcher that scheduled it, find out from that what commit of macports-ports we were using, check out a clone at that commit, and use port info to find the version/revision.

@mojca mojca added bug Something isn't working build results Port build history from buildbot port info Provide more details info about ports labels Jul 21, 2021
@mojca mojca added this to the High priority milestone Jul 21, 2021
@mojca mojca added the priority:1-high High priority label Jul 21, 2021
@mojca mojca removed this from the High priority milestone Jul 21, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working build results Port build history from buildbot port info Provide more details info about ports priority:1-high High priority
Projects
None yet
Development

No branches or pull requests

2 participants