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

Windows builds #8

Closed
billiegoose opened this issue Aug 28, 2018 · 30 comments
Closed

Windows builds #8

billiegoose opened this issue Aug 28, 2018 · 30 comments
Labels
enhancement New feature or request

Comments

@billiegoose
Copy link

I don't have the time to make a PR, but for whoever does, I wanted to suggest using dockcross. I had excellent results with it in cross-compiling clib

@Calinou
Copy link

Calinou commented Aug 28, 2018

As far as I know, if you have WINE and rcedit installed (to change the application icon and metadata), it should be possible to cross-compile Electron applications without requiring a full C/C++ toolchain.

However, I tried running gulp vscode-win32-x64 on Fedora 28 and while the build succeeds, I only get a gray window when running it on Windows.

I wonder if it would be easier to use AppVeyor instead. This could require the use of a tool like gothub to deploy build artifacts from AppVeyor and Travis CI to GitHub Releases, as Travis CI's built-in deployment tool may not be able to cooperate with other CI systems.

Edit: Deployment of builds using both Travis CI and AppVeyor's built-in deployment systems seems to work fine in trust, so it's probably not an issue.

@stripedpajamas
Copy link
Member

@Calinou @wmhilton
I plan on using AppVeyor instead of Travis+Wine, as I have had some success with that in another project. PRs are welcome for an AppVeyor yaml file. I will try to do it in the coming days/weeks if I get some time.

@stripedpajamas stripedpajamas added the enhancement New feature or request label Sep 4, 2018
@TimothyDJewell
Copy link

@stripedpajamas
Hi! I've been putting a little time into setting this up with appveyor. Today I finally managed to get a build successful (lots of polish/debug to remove), but as I've been developing in the dark, I figure a quick sanity check is in order before I invest more time polishing.
I'm still not completely sure what to do as far as packaging it up for Windows consumption. I'm thinking for the time being we'll provide just a zip file with the output contents, and let users do their own unzipping/install. Microsoft seems to provide the equivalent zip as an option of their set of downloads, though it is the least preferred. Is this in line with what you're thinking?
This will seem to conflict with the OSX logic in check_tags.sh, which appears to only check that the name element of the asset contains "zip". Do you have a preference for how we handle that? The simplest thing I see is to replace "zip" with "darwin"...

@Calinou
Copy link

Calinou commented Sep 29, 2018

@TimothyDJewell The official Visual Studio Code Windows installers are created using Inno Setup. I remember seeing the .iss file used by Microsoft to create those somewhere, but I can't find it anymore.

I think providing both options (installer + ZIP archive) is the best. Installers are better-suited for beginners (as they make it easy to add VS Code to the PATH), but ZIP archives are more suited for automated installations (e.g. when using Scoop).

@TimothyDJewell
Copy link

Thanks @Calinou! Looks like it's currently at /build/win32/code.iss. I've never done any of this before, but I'll give it a shot. I agree that matching the VS Code options is best.

@stripedpajamas
Copy link
Member

@TimothyDJewell thanks for the work so far. Excited to see a Windows build in the near future.

Duplicating whatever MS has on their download page is definitely the route to go. It looks like they do provide a zip and an exe, the executable being preferable. Since this is all happening in Appveyor, we shouldn't have to worry about the existing build scripts used by Travis at all. Since you are able to control the Windows output file names, we can make an Appveyor equivalent of the check_tags.sh script check for those file names before building. Probably something like checking for win32 in the name, or just windows.

Let me know if I can help at all because I'm eager to get the Windows builds working as well 👍

TimothyDJewell added a commit to TimothyDJewell/vscodium that referenced this issue Oct 3, 2018
TimothyDJewell added a commit to TimothyDJewell/vscodium that referenced this issue Oct 3, 2018
TimothyDJewell added a commit to TimothyDJewell/vscodium that referenced this issue Oct 3, 2018
@G-Ray
Copy link

G-Ray commented Oct 25, 2018

It seems Windows ci environment is now available on travis: https://docs.travis-ci.com/user/reference/windows/

@stripedpajamas
Copy link
Member

@G-Ray yes! I was testing it out this past weekend. Unfortunately there is currently a known issue that the build won't work at all if there are secret environment variables (https://travis-ci.community/t/current-known-issues-please-read-this-before-posting-a-new-topic/264). We have a GITHUB_TOKEN environment variable, so it isn't working yet. Once they fix that, I'm excited to see if it's easier to work with than AppVeyor.

cc @TimothyDJewell

@pavanagrawal123
Copy link
Contributor

Hey I was interested in fixing the issue for Windows builds, but I see that AppVeyor is paid and Travis still has the secrets issue... Can we try using Azure DevOps? It's free for 10 parallel builds... @stripedpajamas @TimothyDJewell

@Calinou
Copy link

Calinou commented Nov 20, 2018

@pavanagrawal123 AppVeyor is free for public repositories, lots of open source projects rely on it.

That said, Azure Pipelines is worth trying since it features higher limits and supports all three major OSes.

@stripedpajamas
Copy link
Member

@pavanagrawal123 any help is welcome and any platform is fine if it produces working Windows builds :)

@pavanagrawal123
Copy link
Contributor

pavanagrawal123 commented Nov 20, 2018

@Calinou whoops just noticed it says "free for open source" in big letters

@stripedpajamas sure, will try my hand at Azure Pipelines!

@pavanagrawal123
Copy link
Contributor

pavanagrawal123 commented Nov 21, 2018

@stripedpajamas and @Calinou I have successfully got Azure Pipelines working! 64bit builds are working on Windows :)

How do y'all suggest I publish the artifact onto GH?

@stripedpajamas
Copy link
Member

I'm not sure how releases work in Azure. Most likely you will need a personal access token as an environment variable like we have in the Travis build. If you want you can go ahead and open a PR and then we can continue improving it together.

@stripedpajamas
Copy link
Member

(also THANKS for your help so far, I'm very excited for Windows builds) @pavanagrawal123

@pavanagrawal123
Copy link
Contributor

Alright, that's what I was thinking as well. I'll clean up a few things and submit the PR in a couple of hours!

@pavanagrawal123
Copy link
Contributor

Opened #58. Still doesn't push to GH releases, but that shouldn't be too hard to solve.

@gerroon
Copy link

gerroon commented Nov 25, 2018

Any plans tfor release?

@pavanagrawal123
Copy link
Contributor

pavanagrawal123 commented Nov 25, 2018

It's open in a PR #58. If you want releases now you can check https://github.com/pavanagrawal123/vscodium

@gerroon
Copy link

gerroon commented Nov 25, 2018

@pavanagrawal123 Hey thanks, I will take a look at them.

@JL2210
Copy link
Contributor

JL2210 commented Nov 27, 2018

Is this fixed by #58?

@stripedpajamas
Copy link
Member

@JL2210 waiting to see if the windows builds succeed and upload.

@gerroon
Copy link

gerroon commented Nov 27, 2018

@pavanagrawal123 build worked for me

@gerroon
Copy link

gerroon commented Dec 17, 2018

Any chance of getting the 1.30 Win builds?

thanks

@stripedpajamas
Copy link
Member

@gerroon yes! I am trying to figure out why it didn't auto build. Should have them later today.

@gerroon
Copy link

gerroon commented Dec 22, 2018

@stripedpajamas did you figure out what the issue was?

@stripedpajamas
Copy link
Member

Two things-- the build is broken and the scheduled builds don't run. Working on part 1; part 2 might not be fixable. Might need to migrate Windows builds over to AppVeyor

@pavanagrawal123
Copy link
Contributor

@stripedpajamas we should be able to trigger with a webhook or something though right? also, what's broken on the builds?

@gerroon
Copy link

gerroon commented Dec 22, 2018

@stripedpajamas thanks for the follow up

@JL2210
Copy link
Contributor

JL2210 commented Dec 22, 2018 via email

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Aug 22, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

8 participants