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

Add AppVeyor ci config to enable continuous integration tests on Windows #6249

Merged
merged 1 commit into from
Apr 7, 2016

Conversation

mvadu
Copy link
Contributor

@mvadu mvadu commented Apr 7, 2016

Required for all non-trivial PRs
  • Rebased/mergable
  • Tests pass
  • CHANGELOG.md updated
  • Sign CLA (if not already signed)

This PR adds AppVeyor ci config to enable continuous integration tests on Windows. Refer to #6237 for more info. InfluxData would still need to sign up and integrate with AppVeyor for this config to take effect.

Sorry, something went wrong.

@toddboom
Copy link
Contributor

toddboom commented Apr 7, 2016

@mvadu Thanks for getting this together!

What's the reason for having the gdm installation commented out?

@mvadu
Copy link
Contributor Author

mvadu commented Apr 7, 2016

You are welcome @toddboom. About gdm, I could not get gdm to work in windows to begin with. After go get github.com/sparrc/gdm I could do gdm restore in a Linux environment, but in windows I was getting 'gdm' is not recognized as an internal or external command, operable program or batch file., hence decided to use go get -t -v ./... path.

@mei-rune
Copy link
Contributor

mei-rune commented Apr 7, 2016

gdm will ok while go is v1.6

@e-dard
Copy link
Contributor

e-dard commented Apr 7, 2016

@mvadu thanks for this! It's important that the builds test influx built with the correct dependencies. That's what gdm gets for us. Unless @sparrc has some thoughts on getting it to work on Windows, I think you're going to have to manually fetch all the dependencies.

They're listed in the Godeps file (in root of project), along with the correct revisions.

Would be great if we could get this working!

@mvadu
Copy link
Contributor Author

mvadu commented Apr 7, 2016

@e-dard sure, I will take a look tonight. If @runner-mei is right, and gdm works on go1.6, then I can actually pull the dependencies in init phase using the go1.6, and switch over to 1.4.3 during build. Since the AppVeyor host provides both versions, I should be able to do that. I will keep you posted.

@mvadu
Copy link
Contributor Author

mvadu commented Apr 7, 2016

@runner-mei was right, and gdm runs (works) on windows with go1.6. I did a POC of using go1.6 to run gdm, and switching to go1.4.3 to test Influxdb, and it worked :) https://ci.appveyor.com/project/mvadu/influxdb/build/0.11-kqquuyfd. So finally I have a passed InfluxDB build on AppVeyor. I will apply same logic to my PR as well once I go home in next 4 hours.

@e-dard
Copy link
Contributor

e-dard commented Apr 7, 2016

👍

@corylanou
Copy link
Contributor

YES!!!! Awesome! 💯

@e-dard
Copy link
Contributor

e-dard commented Apr 7, 2016

@mvadu once you get the PR updated with the new gdm steps I'll be happy to merge this!

@e-dard e-dard added this to the 0.12.1 milestone Apr 7, 2016
Influxdb uses gdm for the dependency management. For gdm to work on Windows, it needs go 1.6. Influx still uses go 1.4.3. So go 1.6 will be sed for the pre-build stages, and go 1.4.3 to run the tests.
This arrangements is working in AppVeyor now.
@mvadu mvadu force-pushed the Add_AppVeyor_ci_windows branch from 0ebbb09 to b670ca1 Compare April 7, 2016 14:22
@mvadu
Copy link
Contributor Author

mvadu commented Apr 7, 2016

@e-dard Edd, its done sir! Same branch was used in another PR (in my fork), and its a pass again :).

- set PATH=%GOROOT%\bin;%GOPATH%\bin;%PATH%
- echo %PATH%
- echo %GOPATH%
- go get -t -v ./...
Copy link
Contributor

Choose a reason for hiding this comment

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

For clarity, go install ./... would be preferable I think.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

go install generates an exe (set of exe's in case of Influxdb) image. For the purpose of running tests, go get / go test are enough. Can you clarify how go install ./... will be more clearer than go get followed by go test ./...?

Copy link
Contributor

Choose a reason for hiding this comment

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

@mvadu you're completely right. I'm doing too many things at once today 😄

@e-dard e-dard merged commit 09e08e8 into influxdata:master Apr 7, 2016
@mvadu mvadu deleted the Add_AppVeyor_ci_windows branch April 7, 2016 15:19
@mvadu
Copy link
Contributor Author

mvadu commented Apr 7, 2016

@e-dard Please get the integration done on AppVeyor.com, and windows tests can be part of each commit to master. Let me know if you need any help with that, and I can walk you through.

@mark-rushakoff
Copy link
Contributor

I've enabled Appveyor integration.

We'll be tweaking settings a little bit – associating the integration with a company-owned GitHub account and looking into upgrading the plan if it reduces build queueing.

Thanks for getting the ball rolling on this @mvadu!

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.

None yet

6 participants