Conversation
|
||||||||||
| Test | Retries |
|---|---|
| Postgres with binary parameters (Results) | |
| com/mattermost/mattermost/server/v8/enterprise/message_export.TestRunExportJobE2EByType/using_dedicated_export_filestore/actiance_e2e_3_-_test_create,_update,_delete_xml_fields | 1 |
| com/mattermost/mattermost/server/v8/enterprise/message_export.TestRunExportJobE2EByType/using_dedicated_export_filestore | 1 |
| com/mattermost/mattermost/server/v8/enterprise/message_export.TestRunExportJobE2EByType | 1 |
| OutputPath: "./server/dist", | ||
| Environment: map[string]string{ | ||
| "CGO_ENABLED": "0", | ||
| }, |
There was a problem hiding this comment.
question: If I don't like the defaults here for my use case (maybe I need to target a different platform or I need to enable CGO), how can I make changes? Previously, this configuration lived in each separate repository and the configuration could be modified directly. Now it lives in a unified repository that I may not have access to.
Would I need to fork the entire monorepo, make changes, and point to that? Or is there a simpler way to handle that scenario?
There was a problem hiding this comment.
The idea of this is implement the basic functionality and then keep migrating plugins adopting and improving the toolkit. For example, we already support building additional binaries (coming from the legal-hold plugin which requires the processor to be built alongside the plugin) so things could be added as we work with it.
Checking the code I see that I'm handling the CGO in two different places. If I just remove the line you mention the defaults of the build configuration will allow GCO to be enabled if the env var CGO_ENABLED is set.
Do you have an example plugin where this is happening or more environment variables are required?
There was a problem hiding this comment.
The idea of this is implement the basic functionality [...]
That makes sense. Though when real users start pulling this in to build plugins, I'm worried that it won't be configurable enough to meet their needs. Should we have some consistent way to "configure" common aspects of the build that could be different?
Another example: targeting a different platform or architecture. From what I understand, we only build Linux binaries with this implementation (unless in developer mode).
|
Closing in favor of https://github.com/mattermost/pluginctl |
Summary
pluginmagepackage that can be used from plugins to maintain the toolkit up to date.server,proceesor,webapp,webapp/node_modules,deploy,dist,bundle,watchMakefilenow callsmageon the migrated targets.mage pluginctl:(command)and it's available to other targets as well.Improvements
magefiles, there's an example in this plugin with the processor.pluginmageAll logic is bundled to this package which is the one we can move to the public package in the mattermost server for distribution.
Check the included README.md in the package.
Requires mattermost/actions-workflows#53
Ticket Link
Screenshots
--
Release Note