This is an archive of the discontinued LLVM Phabricator instance.

[zorg] netbsd: Update project list, rename and move to toolchain category
ClosedPublic

Authored by mgorny on Feb 21 2019, 6:29 AM.

Details

Summary

The netbsd builder builds more LLVM projects than the previous
LLVM+Clang+LLDB assumption. Update the project dependencies to ensure
correct blame. Also rename it and move to toolchain group to avoid
people wrongly assuming their change couldn't affect bot with 'lldb'
in its name.

Diff Detail

Repository
rL LLVM

Event Timeline

mgorny created this revision.Feb 21 2019, 6:29 AM

I would include compiler-rt in one go as we will enable its builds sooner than later.

Would it make sense to rename the builder? lldb-amd64-ninja-netbsd8 is just not true based on that list. IIRC there are other unified bots, that test a variety of projects?

mgorny updated this revision to Diff 187787.Feb 21 2019, 6:46 AM

Included compiler-rt

Would it make sense to rename the builder? lldb-amd64-ninja-netbsd8 is just not true based on that list. IIRC there are other unified bots, that test a variety of projects?

Apparently Fuchsia has one, and puts it in 'toolchain' category. Maybe we should just name it 'amd64-ninja-netbsd8' or 'netbsd8-amd64-ninja'. Are you maybe aware if rename is something that can be done lightly in zorg, or does it require some extra work?

Would it make sense to rename the builder? lldb-amd64-ninja-netbsd8 is just not true based on that list. IIRC there are other unified bots, that test a variety of projects?

Maybe yes.. but we will keep receiving questions month ago what happened to the older bot. I still keep getting prompts about lldb-amd64-ninja-netbsd7.. the last time like few days ago.

I recommend to keep the name for legacy reasons.

Would it make sense to rename the builder? lldb-amd64-ninja-netbsd8 is just not true based on that list. IIRC there are other unified bots, that test a variety of projects?

Apparently Fuchsia has one, and puts it in 'toolchain' category. Maybe we should just name it 'amd64-ninja-netbsd8' or 'netbsd8-amd64-ninja'. Are you maybe aware if rename is something that can be done lightly in zorg, or does it require some extra work?

When I last added a builder to an existing slave, it was as easy as putting up a patch, committing it to zorg and waiting for the buildbot server to be restarted. Maybe just wait for @gkistanova to chime in...

Would it make sense to rename the builder? lldb-amd64-ninja-netbsd8 is just not true based on that list. IIRC there are other unified bots, that test a variety of projects?

Apparently Fuchsia has one, and puts it in 'toolchain' category. Maybe we should just name it 'amd64-ninja-netbsd8' or 'netbsd8-amd64-ninja'. Are you maybe aware if rename is something that can be done lightly in zorg, or does it require some extra work?

If we are going to rename it, we probably shall go for netbsd-amd64-tnf.

ninja` is just unimportant detail today it used to be interesting in the time of autoconf vs ninja option (and one worked better than the other), later we might switch to something else and just follow upstream without making non-default options.

netbsd8 soon won't be true once we will upgrade to the -9 branch (or 9.99.x).

tnf specifies hosting by The NetBSD Foundation and a magic shortcut to distinguish it from other potential bots hosted by someone else.

Would it make sense to rename the builder? lldb-amd64-ninja-netbsd8 is just not true based on that list. IIRC there are other unified bots, that test a variety of projects?

Apparently Fuchsia has one, and puts it in 'toolchain' category. Maybe we should just name it 'amd64-ninja-netbsd8' or 'netbsd8-amd64-ninja'. Are you maybe aware if rename is something that can be done lightly in zorg, or does it require some extra work?

If we are going to rename it, we probably shall go for netbsd-amd64-tnf.

ninja` is just unimportant detail today it used to be interesting in the time of autoconf vs ninja option (and one worked better than the other), later we might switch to something else and just follow upstream without making non-default options.

netbsd8 soon won't be true once we will upgrade to the -9 branch (or 9.99.x).

tnf specifies hosting by The NetBSD Foundation and a magic shortcut to distinguish it from other potential bots hosted by someone else.

+1 for dropping ninja and the OS version, but I don't think it's common to have a sponsor in the builder name, it's usually somewhere in the slave.

+1 for changing the names. With "lldb" in the name, I wouldn't be surprised if people just ignored emails from it because "their patch cannot possibly have anything to do with lldb". Or, OTOH, what has happened to me, I opened the page, expecting to see a relevant failure, only that the failure was due to some libc++ flakes.

gkistanova requested changes to this revision.Feb 22 2019, 11:33 AM

I'd prefer seeing getLLDBScriptCommandsFactory changed to use LLVMBuildFactory with the properly defined dependencies, rather than another unique scheduler for one or very few builders.
If you would use LLVMBuildFactory , build master will take care of the correct scheduling the changes for you.
You may take a look at zorg/buildbot/builders/FuchsiaBuilder.py as an example of how this could be done easy.

Thanks

Galina

This revision now requires changes to proceed.Feb 22 2019, 11:33 AM

I'm planning to switch into proper factory once our bot is stable. However, at this moment I really find the cheap script factory convenient for testing changes to the build process, and I expect to be making a big overhaul before we can call it stable.

We need to use our current approach with factory... we are actively working on LLDB test targets and we will be attaching compiler-rt next.

I made the LLDBBuilder.getLLDBScriptCommandsFactory change for you.

Now you can pass depends_on_projects to the LLDBBuilder.getLLDBScriptCommandsFactory when you instantiate lldb-amd64-ninja-netbsd8 in builders.py.

Something like this should do:

{'name': "lldb-amd64-ninja-netbsd8",
 'slavenames': ["lldb-amd64-ninja-netbsd8"],
 'builddir': "netbsd8",
 'category' : 'lldb',
 'factory': LLDBBuilder.getLLDBScriptCommandsFactory(
                depends_on_projects=[
                        "cfe",
                        "clang-tools-extra",
                        "compiler-rt",
                        "libcxx",
                        "libcxxabi",
                        "libunwind",
                        "lld",
                        "lldb",
                        "llvm",
                        "openmp"
                        "polly",
                    ],
                downloadBinary=False,
                runTest=True)},
mgorny updated this revision to Diff 188029.Feb 22 2019, 11:30 PM
mgorny retitled this revision from [zorg] Split netbsd buildbot to a dedicated scheduler to [zorg] netbsd: Update project list, rename and move to toolchain category.
mgorny edited the summary of this revision. (Show Details)

Thank you. I've also taken the opportunity to rename the bot and move it into toolchain group, as suggested by others.

One thing I'm wondering is that there seems not to be a scheduler for that group. Are the builds triggered somehow implicitly, or maybe there are no builds triggered at the moment?

gkistanova accepted this revision.Feb 25 2019, 12:28 PM

Thanks, Michał, for making this change.

Moving the bot to the toolchain group is fine. The group does not have a designated scheduler, so, buildmaster would automatically create an appropriate scheduler based on the specified list of dependencies.
In you case a build would be triggered by any change in any of the projects listed in the depends_on_projects list you have specified.

This is what you are after, right?

Thanks

Galina

This revision is now accepted and ready to land.Feb 25 2019, 12:28 PM

Thank you! Merged now.

This revision was automatically updated to reflect the committed changes.
Herald added a project: Restricted Project. · View Herald TranscriptFeb 25 2019, 12:58 PM