Closed Bug 1142093 Opened 11 years ago Closed 10 years ago

replace jingo-minify with django-pipeline

Categories

(Input Graveyard :: Backend, defect, P1)

defect

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: willkg, Assigned: willkg)

References

Details

(Whiteboard: u=dev c=backend p=3 s=input.2015q3)

SUMO is switching from jingo-minify to django-pipeline in this PR: https://github.com/mozilla/kitsune/pull/2401 We should also switch. "Why?", you might ask. I'll tell you: 1. django-pipeline is a maintained project 2. see number 1 3. jingo-minify hasn't had a release in ages 4. jingo-minify's test suite isn't comprehensive enough to cover the myriad of things it does, so it's got weird edge case issues 5. double-refresh is the wurst https://pypi.python.org/pypi/django-pipeline This bug covers ditching jingo-minify for django-pipeline.
Ran out of time this quarter. Pushing this off until next quarter. NB: This is mostly done for Kitsune, but they needed to wait for webops to do some work on the servers to support it. I want to see if we can avoid having to do that work by (ab)using our settings stuff so that django-pipeline can use jingo-minify settings.
Whiteboard: u=dev c=backend p= s=input.2015q1 → u=dev c=backend p= s=input.2015q2
Assignee: nobody → rdalal
After talking with Rehan about this, I'm making it a P1! Nothing is more important!
Priority: -- → P1
Also, I think this work should block the django 1.8 upgrade. We might be able to do a django 1.8 upgrade without doing this first, but I think it'd be a bunch of extra work and incredibly hard and require a team of PhDs with super powers and the ability to travel in time to discuss solutions with a supreme omnipotent being.
Blocks: 1146686
This blocks switching to django-jinja, too.
Oops--missed adding the blocks bug.
Blocks: 1167194
In a PR: https://github.com/mozilla/fjord/pull/572 This requires us to have webops install npm on the admin server so that we can use npm to install requirements for generating js and css files and building bundles. We'll use npm lockdown to reduce the goofiness involved in developing with one version but getting a different version of things when deploying. https://github.com/mozilla/npm-lockdown Need to write up a webops bug.
Status: NEW → ASSIGNED
We finally have npm installed on the admin nodes for -stage and -prod. However, it's been a really long time now and this PR is certainly out of date. I'll pick it up next week, update it and finish it off.
Whiteboard: u=dev c=backend p= s=input.2015q2 → u=dev c=backend p= s=input.2015q3
I closed out PR 572. I'm grabbing Rehan's changes and I'll update them to cover all the code changes that have happened in the last couple of months and then finish off the work.
Assignee: rdalal → willkg
I've updated the PR and upgraded the version of django-pipeline we're using to 1.5.2. I also did some local dev-environment testing and then tested it out in vagrant, too. Then I fixed lockdown issues I bumped into. In a PR: https://github.com/mozilla/fjord/pull/623
Whiteboard: u=dev c=backend p= s=input.2015q3 → u=dev c=backend p=3 s=input.2015q3
Rehan landed it in https://github.com/mozilla/fjord/commit/c1cd169a875e172bb859f30270f2bdd0ab5b0c64 Pushing it to stage and doing some testing now.
Test plan on -stage: 1. read through deploy log looking to make sure npm packages were installed and no errors 2. run smoketests 3. complete run through of Firefox feedback happy (don't trigger new thank you page) 4. complete run through of Firefox feedback sad (trigger new thank you page) 5. complete run through of Firefox OS feedback 6. click around front page dashboard 7. click around analyzer area Fix any issues as they come up.
I forgot I have to deploy twice to pick up the deploy script changes. Other than that, everything in the test plan in comment #11 went fine. Pushing this to prod now.
Pushed to prod and sent an email to input-dev about the changes. Marking this FIXED. Hooray!
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Product: Input → Input Graveyard
You need to log in before you can comment on or make changes to this bug.