-
Notifications
You must be signed in to change notification settings - Fork 8
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
Fabrica Software Updates #675
Conversation
Passing run #639 ↗︎
Details:
This comment has been generated by cypress-bot as a result of this project's GitHub integration settings. |
2b4dce9
to
548f7bd
Compare
Passing run #620 ↗︎
Details:
This comment has been generated by cypress-bot as a result of this project's GitHub integration settings. |
1338c6e
to
8c54958
Compare
98cebfe
to
ac755e3
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a lot of work.
Fantastic job!!!
…head of main branch.
5e690d1
to
708887e
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ye looks good, however for deploy have a rollback plan in case of a weird compatability issue.
However if its a minor thing id rather we fix adhoc.
Loose Mode Warnings A number of 'loose mode' warnings happen during the fabrica build during the transpilation process by babel. Loose mode explanation: http://hzoo.github.io/babel.github.io/docs/advanced/loose/ The build process:
The first build using the above sequence results in a number of warnings as below. Subsequent builds do not show these messages, although I think you can see the messages again with
These warnings can also be seen in a test build log on github: https://github.com/datacite/bracco/actions/runs/4078392258 The recommended the configuration to silence the warnings is:
This work-around does not work. It causes an error, very much like the warnings, but which stops the build. There is currently an open issue related to this against ember-cli-babel - emberjs/ember-cli-babel#415 I have tried backing out the version of ember-cli-babel and @babel-preseet-env to arounc v7.0.0 with no luck. Do not want to go back to v6. I have also tried just generally turning on loose mode, but it seems to have no affect. I think this is just a conflict between various module requirements and, as it says, they are just ignoring our settings, which should be ok, and they are warning us to that effect. This has upgrade has been tested and will be deployed to staging for a test period of a few days for anybody to try. It can be easily backed out if needed, however, I wanted to make sure this is documented here. |
Deploying to staging env. |
Purpose
Upgrade Fabrica addons and core. Take care of security issues. There will be a follow-on task for the next tech debt addressing anything we could not do in this week.
Current status: Fabrica has been upgraded to Ember v3.16. 3rd-party add-ons have been upgraded as much as possible.
Current security issues have been addressed. All tests are passing. Cypress testing has been upgraded from v7 to v10.
Latest Vercel Deployment: https://bracco-bgpoy2xxb-datacite.vercel.app/
closes: #629
Approach
Followed the recommended update process.
Follow-On Tasks
These are for following technical debt weeks:
Future Upgrades - Ember
We can try going directly to Ember v3.28. However it might be an easier path to follow the above process and move through the next LTS upgrades until we get to 3.28, bearing in mind that we might have problems with one crucial module (ember-data-model-fragments) which has been reported to have problems around Ember v3.28.
At v3.15 there is the beginning of the move from Ember "Classic" to Ember "Octane". There are numerous deprecations, and beyond v3.28, at v4, those deprecated features are dropped. There are a number of major changes to the framework, including Typescript with native Ember classes, improved components, tracked properties and a number of other new features. An upgrade guide and a blog post with pointers to more information, and the Ember Octane vs Classic Cheat Sheet.
Future Upgrades - Node
It looks like we can update Node pretty easily by upgrading our GitHub workflows and Vercel build to use Node v16, and additionally adding the following to package.json:
I already tried it and it seemed to work. However there is a compatibility matrix for node/ember which states that we are already ahead in terms of Node version so I decided to stick with 14 until we can do further testing in another technical debt week.
Future Upgrades - Yarn
Perhaps move to the new Yarn from Yarn Classic. Yarn classic works, but is pretty old and barely maintained. We don't need to change it at present but might want to upgrade later to take advantage of new features and better/faster build process in the new Yarn.
Future Upgrades - Cypress Testing
There is a lot to be done here. End-to-end testing needs to be extended. The move to V10 of Cypress makes component testing possible and seems to have improved the way the test suite runs. Additionally testing should be extended with mock api calls and data factories.
Learning
PRE-DEPLOYMENT TO DO
POST-DEPLOYMENT TO DO
Types of changes
Bug fix (non-breaking change which fixes an issue)
Software updates (non-breaking change which fixes an issue)
New feature (non-breaking change which adds functionality)
Breaking change (fix or feature that would cause existing functionality to change)
Reviewer, please remember our guidelines: