Skip to content
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

Support writing cosa stuff in Go? #1668

Closed
cgwalters opened this issue Aug 19, 2020 · 4 comments
Closed

Support writing cosa stuff in Go? #1668

cgwalters opened this issue Aug 19, 2020 · 4 comments
Assignees
Labels
jira for syncing to jira

Comments

@cgwalters
Copy link
Member

The whole Python vs Go issue hasn't gone away; it's still a core tension. I struggle context switching between languages myself and I can't be the only one.

Now that we've merged mantle/cosa...one thing we could consider is moving the "Go infrastructure" to the toplevel (i.e. something like mv mantle/go.mod . and adjusting the fallout. And then stub out what it's like to write "cosa stuff" in Go.

(Personally...my ideal would be that Python (and nontrivial shell script) mostly goes away and we write in Go and Rust. But that's probably not entirely going to happen ever because we have stuff like the fedmsg and koji code that actually relies on 3rd party Python stuff that we need)

I'm just throwing this out there for discussion. I am not sure it's a good idea or not.

@cgwalters
Copy link
Member Author

The primary rationale for this is that I strongly believe building and testing are tightly entangled domains. Today for example I was working on the "nontrivially sized os update" code that lives in "cosa Python" - but it might make sense to support calling this from kola.

We mostly solved the issue of parsing meta.json in kola which was a huge issue, but a lot of other things like that remain.

For example, it's just wacky to have thin Python cosa wrappers calling the mantle go code to upload images too.

@darkmuggle
Copy link
Contributor

@cgwalters since I've opened the door for GoLang.... do you have a list of commands to start supporting?

I spent way too much time looking at CGo Python bindings (tldr, I'd rather re-write). Having a priority of GoLang commands would be great starting point.

@darkmuggle darkmuggle added the jira for syncing to jira label Oct 7, 2020
@darkmuggle darkmuggle self-assigned this Oct 7, 2020
@cgwalters
Copy link
Member Author

do you have a list of commands to start supporting?

My thought was more that we make it feel "obvious" to start porting bits of the shell build machinery to Go. The intersection between the python and Go isn't fully clear to me; per above it may be impossible actually to drop Python. Maybe we end up with something though where at least "core" logic is Go but we have things output JSON for python code to read? Dunno.

@cgwalters
Copy link
Member Author

Enough time passed that I ended up forgetting about this issue and recreating it over here #2821

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
jira for syncing to jira
Projects
None yet
Development

No branches or pull requests

2 participants