Open Bug 1349548 Opened 9 years ago Updated 3 years ago

Adding BUG_COMPONENT metadata to moz.build files causes build failures if a directory is removed

Categories

(Firefox Build System :: General, defect)

defect

Tracking

(Not tracked)

People

(Reporter: jgraham, Unassigned)

Details

We have been adding bug component metadata to moz.build files. This causes a problem for wpt as directories are occasionally removed and if one is removed that corresponds to a Files() instance in moz.build I get a build error. That is problematic for two possible reasons: 1) (If artifact builds don't reproducce the problem) I am likely to push without htting the build error and cause bustage. 2) (If artifact builds do reproduce the problem) I am likely to push, find out that the build was busted for no important reason, and have to push again to fix it. That's a waste of time and an extra context switch for a task that I am often doing in the background whilst working on other things. Either moz.build files should not fail in this case (they could still turn a lint orange) or we should stop storing non-build metadata in the build configuration files.
It seems like it didn't happen with an artifact build, so I'm sure this will eventually cause bustage.
Can you paste the error you're getting?
TEST-UNEXPECTED-FAIL | /home/worker/workspace/build/src/config/tests/test_mozbuild_reading.py | TestMozbuildReading.test_orphan_file_patterns, line 105: The pattern 'tests/typedarrays/**' in a Files() entry in '/home/worker/workspace/build/src/testing/web-platform/moz.build' corresponds to no files in the tree. AssertionError: The pattern 'tests/typedarrays/**' in a Files() entry in '/home/worker/workspace/build/src/testing/web-platform/moz.build' corresponds to no files in the tree. make: *** [check] Error 1 Return code: 2 'make -k check' did not run successfully. Please check log for errors. 1308472 Intermittent 'make -k check' did not run successfully. Please check log for errors. Show / Hide more # TBPL FAILURE # # TBPL FAILURE #
So, you removed tests/typedarrays and are getting an error because there's a Files() for tests/typedarrays? That doesn't really seem bad to me... In fact, that's pretty much what the test is there to prevent: stale stuff in moz.build. It was added in bug 1184405.
I didn't remove it; it was removed upstream and I did an upstream import (well in this case it was an import from a branch; I don't know if it's gone from master). Anyway as I point out in comment 0, I don't object to this turning a lint orange. I object to the fact that this will cause bustage in the future because I will do a series of try pushes with artifact builds and not know that a non-artifact build will fail. I would also object to an artifact build failing because it means that I can't fix this problem in parallel with other test failures, but have to push, find this issue, then repush to get tests to run.
Product: Core → Firefox Build System
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.