-
Notifications
You must be signed in to change notification settings - Fork 396
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
DT-587: Changes to checkDirty behavior during deployments #3564
Comments
If we generate documentation around this, point out the workaround mentioned for NPM users in #3526 (comment) (use |
#3572 is a documentation fix. The rest of this I think will need to wait until a later release. |
@danepowell Should this documentation also be added to the 9.2.x branch? Also not sure the documentation clearly addresses the error as it arrises in the default
To further clarify, the issue/problem as I see it, is that
The which in turn calls
build:frontend then calls https://github.com/acquia/blt/blob/061a0f5c7fa191020a89d0362b8fc3cf0d1b329f/docs/frontend.md#build Perhaps the FrontEnd documentation needs to be modified to also detail this issue as a "gotcha". |
I don't think backporting the docs would be appropriate in this case since 9.2.x is only receiving security updates as of tomorrow. When I mentioned |
By the way, your sequence is a little off. While it's true that
Functionally I don't think it's that different, but just so you're aware... |
Thanks for the clarification on my sequence. I think you're right though, functionally it's still the same problem. I wonder if the frontend documentation would benefit from adding some information on this and how to solve it given lots of projects run npm install in a frontend build hook. |
I added some documentation regarding this yesterday: #3602 |
Hello @danepowell ! How do you look at adding the ability to see what exactly has changed in the build process? |
How does one actually implement the --ignore-dirty flag on the build process kicked off when a commit is pushed? I get an error telling me to implement that flag but with no instructions on how to do so:
I did follow the link in the error and tried the 'npm ci' instead of 'npm install' solution there but that fails for a different reason: My frontend-reqs and frontend-assets commands work great locally but pipelines has been failing the last 5 hours as I try everything I can think of and/or find online. |
I've created the following issue in my attempt to add |
BLT has long had a function checkDirty that fails deploys if BLT detects that files have changed during the deploy process itself, which could indicate a variety of problems such as bad Composer files, NPM files, problems with gitignore, and/or more generally conditions that might cause the site to behave differently in a remote environment than it did during tests (with undefined and potentially very bad consequences).
In 9.2.x and 10.x we recently enabled this feature on Pipelines (it's always been enabled for Travis and other environments that directly call
blt deploy
. Pipelines is a special case because it doesn't calldeploy
).It turns out a lot of Pipelines users have those kinds of problems with their codebase, as evidenced by the spate of issues opened after this feature was added. While it's good that these problems are being caught and corrected, it's not great that it started happening unexpectedly, or that it happens during the deploy step (it's really bad for things to fail during a deploy if they didn't fail during tests).
I propose the following changes:
This last point is tricky because a lot of things (such as the gitignore file, and composer production dependencies) are different during the deploy process, so we can't just run the same command earlier on. I see two options:
The text was updated successfully, but these errors were encountered: