Windows support, volunteers wanted

I am creating a thread to discuss windows support. We are looking for volunteers to implement the following features which amounts to under 70 lines of code. Here is what needs to be done:

  • I think @tboerger has ported the windows plugin, but it just needs to be uploaded to dockerhub. Is this correct? If so, we then just need to add 2 loc to this block to specify the windows image.

  • we need someone to update the 2 loc in this block with the correct entrypoint and command to the build script which is passed to the pipeline image as a container

  • we need someone to create the windows-equivalent build script generator in this existing method stub that we have here. It should resemble the posix script generator here. This is approximately 60 loc

IMPORTANT please refrain from commenting on this thread unless your are planning to contribute. No me too or +1 comments, please.

cc @tboerger

2 Likes

Not all plugins are in a working state yet, but we are nearby (at least for the plugins hosted at https://github.com/drone-plugins). I’m fine to help getting the plugins further pushed into that direction, but the server implementation should be done by somebody else :slight_smile:

@tboerger yes thanks for all your help :slight_smile:

Note that if anyone is willing to setup a Windows instance (e.g. on AWS) with Docker and Go, and provide me with a remote desktop login that I can use, I can probably spend a few hours on some of these items and accelerate the pace.

The big problem is that the drone-git plugin won’t work at this time https://github.com/git-for-windows/git/issues/1007

So one thing the git plugin might have to do is clone into a different directory and then copy the files over where they SHOULD go. That would be the first step to at least see if the runtime stuff works.

I wrote the related Windows script based on PowerShell.

forked pipeline repository
test repository

drone-git has some problems. but works. I use git 2.11.1 version.

E:\Workspace\asdf\drone-windows-container-test\pipeline-test>pipec exec
proc "pipeline_clone_0" started
+ git init
Initialized empty Git repository in c:/go/src/github.com/drone/envsubst/.git/
+ git remote add origin https://github.com/drone/envsubst.git
+ git fetch --no-tags --depth=50 origin +refs/heads/master:
From https://github.com/drone/envsubst
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> origin/master
+ git reset --hard -q d0876d3176965f9552a611cbd56e24a9264355e6
+ git submodule update --init --recursive
exit status 66
proc "pipeline_clone_0" exited with status 1
pipeline_clone_0 : exit code 1
1 Like

I patched git-for-windows.
So drone-git will works well.
Git should be use busybox version.
Result
PR

1 Like