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

Run CircelCI on windows and mac environment #181

Closed
sukhbeersingh opened this issue Nov 14, 2019 · 11 comments
Closed

Run CircelCI on windows and mac environment #181

sukhbeersingh opened this issue Nov 14, 2019 · 11 comments
Assignees
Projects

Comments

@sukhbeersingh
Copy link
Collaborator

@sukhbeersingh sukhbeersingh commented Nov 14, 2019

The current config file only runs CI on a linux environment. We should add support for running the integrations on windows and mac environments.

@robertbegna robertbegna self-assigned this Nov 14, 2019
@robertbegna

This comment has been minimized.

Copy link
Contributor

@robertbegna robertbegna commented Nov 14, 2019

I'll try working on this

@humphd

This comment has been minimized.

Copy link
Contributor

@humphd humphd commented Nov 14, 2019

Looking at https://circleci.com/docs/2.0/configuration-reference/ I can see two examples:

  1. Windows - https://circleci.com/docs/2.0/configuration-reference/#example-usage-3
  2. macOS - https://circleci.com/docs/2.0/configuration-reference/#example-usage-2

I think if we follow these configs, it might get us close.

@sukhbeersingh I know you worked on the original code, and I spoke with @robertbegna in the lab. I think he'd value having someone who he can talk to about this. Let's discuss our research here in the Issue as we go.

@manekenpix manekenpix added this to Issue in Main via automation Nov 15, 2019
@sukhbeersingh

This comment has been minimized.

Copy link
Collaborator Author

@sukhbeersingh sukhbeersingh commented Nov 15, 2019

Surely, @robertbegna let me know if you need any help. If you look here, CircleCI has cmd, poweshell and GNU bash. You can specify whichever one you want to make your executor and then you can run commands of that shell. I would lean more towards bash.
Also check the list of software that is pre-installed with the windows env(Node is one of them).

@robertbegna

This comment has been minimized.

Copy link
Contributor

@robertbegna robertbegna commented Nov 16, 2019

@sukhbeersingh
Hi, could you take a look at my most recent commit, i'm trying to emulate what you did with the linux build, but the windows build fails because of this error "Expected Linebreaks to be 'LF' but found 'CRLF'. Also the docker images, will they be needws in the windows build and if so how can I add it to the build? Because reading through the documentation, windows executors so far only have one image win/vs2019. Tbh, I've never used circleCI, before and I'm just trying to make sense of everything, so some help would be greatly appreciated.

@humphd

This comment has been minimized.

Copy link
Contributor

@humphd humphd commented Nov 16, 2019

I don't have much Circle CI experience, so I'll defer to @sukhbeersingh. But one note for you @robertbegna. I had to fix failing tests on Travis CI last night for macOS and Windows. Some of what I did might help you.

The relavent bits are these:

  1. We have a hack to deal with CRLF vs. LF on Windows by overriding how git does the checkout. It's gross, and we should be able to dump it when @vitokhangnguyen does his Prettier fix, see #96.
  2. On Windows I struggled a lot to figure out the right way to do Redis. In the end I used the choco package manger to install it, then ran the commands necessary to install and run it as a service.

I tried to get Docker builds of Redis working on all 3 platforms, but couldn't find one that worked on Windows (amd 64 Docker image for Windows vs Linux). Someone might know how to do it, but I couldn't find the right thing. cc @Reza-Rajabi and @manekenpix who have been working on the Redis docker stuff. In an ideal world, we'd use Docker for all our CI for Redis, and stop having to do all these manual package installations per repository.

@Reza-Rajabi

This comment has been minimized.

Copy link
Collaborator

@Reza-Rajabi Reza-Rajabi commented Nov 17, 2019

@humphd based on Docker website their official images are multiplatform (platform aware). Also, In the Docker Hub I select Windows x86-64 (latest) and the command to pull the image is the same as all other platforms.

@humphd

This comment has been minimized.

Copy link
Contributor

@humphd humphd commented Nov 17, 2019

@Reza-Rajabi I couldn't get it to work on Travis, but it's quite possible that I'm just doing it wrong. Maybe we should file a new issue and see if we can switch all Travis CI to use Docker for Redis. Someone can experiment with getting that to work. Meanwhile, we can use the native installs it currently uses.

@Reza-Rajabi

This comment has been minimized.

Copy link
Collaborator

@Reza-Rajabi Reza-Rajabi commented Nov 17, 2019

@humphd I make a new issue to address that.

@Reza-Rajabi

This comment has been minimized.

Copy link
Collaborator

@Reza-Rajabi Reza-Rajabi commented Nov 17, 2019

@humphd If the issue that I made is not what you are looking for please feel free to delete or edit it or ask me to do so.

@humphd

This comment has been minimized.

Copy link
Contributor

@humphd humphd commented Nov 17, 2019

I think it's good. I added a comment with some more details from my own attempts.

sukhbeersingh added a commit to sukhbeersingh/telescope that referenced this issue Nov 20, 2019
@humphd

This comment has been minimized.

Copy link
Contributor

@humphd humphd commented Nov 28, 2019

I'm going to close for now, since we have all 3 on Travis, and CircleCI has been a bit of a pain to get working. If someone wants to do this again, please file a new issue.

@humphd humphd closed this Nov 28, 2019
Main automation moved this from Issue to Closed Nov 28, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Main
Closed
5 participants
You can’t perform that action at this time.