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
Labels
area: CI/CD Continuous integration / Continuous delivery developer experience Helping the Developer Experience
Projects

Comments

@sukhbeersingh
Copy link
Contributor

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

@ghost ghost self-assigned this Nov 14, 2019
@ghost
Copy link

ghost commented Nov 14, 2019

I'll try working on this

@humphd
Copy link
Contributor

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 the area: CI/CD Continuous integration / Continuous delivery label Nov 15, 2019
@manekenpix manekenpix added this to Issue in Main via automation Nov 15, 2019
@sukhbeersingh
Copy link
Contributor Author

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).

@ghost
Copy link

ghost 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
Copy link
Contributor

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 Combine EditConfig, ESLint, and Prettier to manage code style and formatting #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.

@humphd humphd added the developer experience Helping the Developer Experience label Nov 17, 2019
@Reza-Rajabi
Copy link
Contributor

@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
Copy link
Contributor

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
Copy link
Contributor

@humphd I make a new issue to address that.

@Reza-Rajabi
Copy link
Contributor

@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
Copy link
Contributor

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
Copy link
Contributor

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 as completed 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
Labels
area: CI/CD Continuous integration / Continuous delivery developer experience Helping the Developer Experience
Projects
No open projects
Main
Closed
Development

No branches or pull requests

4 participants