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

Feature/kubernetes #120

Merged
merged 54 commits into from
Oct 21, 2022
Merged

Feature/kubernetes #120

merged 54 commits into from
Oct 21, 2022

Conversation

Bluebugs
Copy link
Contributor

@Bluebugs Bluebugs commented Jun 28, 2022

Description:

This does add a Kubernetes engine to fyne-cross.

Fixes #98

Checklist:

  • Tests included.
  • Lint and formatter run with no errors.
  • Tests all pass.

Where applicable:

  • Public APIs match existing style.
  • Any breaking changes have a deprecation path or have been discussed.
  • Updated the vendor folder (using go mod vendor).

@Bluebugs Bluebugs requested review from lucor and andydotxyz June 28, 2022 20:57
@andydotxyz
Copy link
Member

Can you address the test failures @Bluebugs , then we can do a full review?

@Bluebugs
Copy link
Contributor Author

Bluebugs commented Jul 9, 2022

Can you address the test failures @Bluebugs , then we can do a full review?

Yes, the issue is due to a dependency that doesn't support old go. Need to use a less nice API to work around it :-(

Base automatically changed from refactor-reuse-code to develop July 25, 2022 16:18
@Bluebugs
Copy link
Contributor Author

Bluebugs commented Aug 1, 2022

I just noticed something, I can't find the code for fyne-cross-s3. It somehow disappeared. Will look into it tomorrow.

@Jacalz
Copy link
Member

Jacalz commented Aug 2, 2022

Looking at the use of archiver and problems with Go 1.14 compilation, it might even make sense to not use it at all and just create the functionality ourselves. It is a big modules because it imports all of the code for the compression formats it support.

I have some tar compression code laying around in a private repo if you are interested.

@Bluebugs
Copy link
Contributor Author

Bluebugs commented Aug 2, 2022

@Jacalz I think it would be better not to, as that is technical debt that we have to carry and there is already a lot to care for.

@Bluebugs Bluebugs dismissed stale reviews from Jacalz and andydotxyz via 1052277 September 8, 2022 22:53
@Bluebugs
Copy link
Contributor Author

Bluebugs commented Sep 8, 2022

Finally got all the dependencies right! So conclusion of this experiment, the sub directory with go.mod does work. It will do a full download of all the dependencies and build (like a vendor directory) for all go version below 1.16. This mean that for the folks below 1.16, they will still download the kubernetes dependencies when building fyne-cross with this change. For anyone with a more recent go, it will not.

If that is not acceptable, the next logical step, is to make a child process to insulate the dependencies. This would also make it possible to use more recent dependencies for the independent command as it would not be included at all included in older version.

Cedric BAIL added 4 commits September 9, 2022 15:45
archiver v3 seems bad at dealing with streaming content with AWS using a
temporary file solve this problem. When we move to a more recent go
version switching to archiver v4 will make for simpler and more
efficient code.
@Bluebugs Bluebugs requested a review from Jacalz September 15, 2022 20:12
@Bluebugs
Copy link
Contributor Author

I have come across a problem with go install and the replace directive. The go.mod in this PR work fine with older go get and go build/go install, but not with a remote url passed to go install. The bug is described here: golang/go#44840 . It does seems there is no interest in solving this issue in go at this point. The problem can be solved by having a custom go run command that would do all the installation step that a go install should do or with a binary that has to be compiled separately.

I like the idea of the go run command as we can start checking the environment for having a proper setup to run fyne-cross, but I would understand that we prefer to just support go install command and I can look into using a separate process. Let me know which direction you would be interested in.

Copy link
Member

@andydotxyz andydotxyz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So cool, a couple of notes about parameters and error handling.

@andydotxyz andydotxyz dismissed their stale review October 20, 2022 10:09

Changes in, thanks :)

@andydotxyz
Copy link
Member

Looks good to me, but will leave it to someone closer to the project to 👍

@lucor
Copy link
Member

lucor commented Oct 20, 2022

I have come across a problem with go install and the replace directive. The go.mod in this PR work fine with older go get and go build/go install, but not with a remote url passed to go install. The bug is described here: golang/go#44dis840 . It does seems there is no interest in solving this issue in go at this point. The problem can be solved by having a custom go run command that would do all the installation step that a go install should do or with a binary that has to be compiled separately.

I like the idea of the go run command as we can start checking the environment for having a proper setup to run fyne-cross, but I would understand that we prefer to just support go install command and I can look into using a separate process. Let me know which direction you would be interested in.

As discussed in the slack channel, it is probably good enough for now having it as is, once we have documented the installation behaviour in the README. After that I think the PR is ready to be merged 👍

Copy link
Member

@andydotxyz andydotxyz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well done, this has been a long haul!

@Bluebugs Bluebugs merged commit 61a70a2 into develop Oct 21, 2022
@Bluebugs Bluebugs deleted the feature/kubernetes branch October 21, 2022 16:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants