Skip to content

Set up Windows CI #5

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

Closed
2 of 3 tasks
josephperrott opened this issue Jul 1, 2019 · 6 comments
Closed
2 of 3 tasks

Set up Windows CI #5

josephperrott opened this issue Jul 1, 2019 · 6 comments

Comments

@josephperrott
Copy link
Member

josephperrott commented Jul 1, 2019

  • Set up on framework
  • Set up on components
  • Set up on cli
@josephperrott
Copy link
Member Author

Windows CI is set up on Framework and CLI

@josephperrott
Copy link
Member Author

Closing as windows CI is not needed for components

@gkalpak
Copy link
Member

gkalpak commented Oct 1, 2019

(Wat? Everyone needs some Windows CI in their life 😕)

I just wanted to mention that one benefit of having Windows set up on CI is ensuring that the project can be built/tested on Windows. Many potential contributors use Windows and being able to build/test the project is essential to being able to contribute. Having build processes that do not work on Windows is another factor that makes it difficult for many people to get involved.

(It kind of scares me to think that I would probably not have gotten into contibuting to Angular if I started today, because building/testing on Windows is...what it is 😁 😱 😢)

I just wanted to make sure we also keep that dimension in mind :bowtie:

@josephperrott
Copy link
Member Author

You are definitely right that testing our projects against windows is important. I will expand on what I meant here. And want to be sure to note that if we determine that a windows executor on CI for components makes sense we will definitely set it up.


We currently don't think that windows CI is needed for components as the components repository does not do anything that relies on the file system in windows. This is specifically in contrast to Framework and CLI which interact with the file system and have to make choices that are file system specific.

The OS specific effects for components instead lies in browser specific testing. Either because the layout/JS engines would be somehow different on a specific OS or because some browsers are only available on a specific OS. We address this concern for components using BrowserStack/SauceLabs to run our tests in specific browsers.

@gkalpak
Copy link
Member

gkalpak commented Oct 2, 2019

Thx for adding more details about the reasoning. Capturing that kind of context is always useful for future reference 👍

Just to make sure my previous comment was clear:

What I meant is that there are mainly two benefits/reasons for testing a project against a specific OS on CI:

  1. Making sure that the "final product" (library, tool, etc.) works for end-users on that OS. (This might or might not be relevant for a project, depending on whether the product will interact with the OS directly or not - for example, it is not relevant for @angular/components for the reasons outlined above).

  2. Making sure that people looking to contribute to the project (i.e. submit a pull request) will be able to install dependencies, build the project and run the tests (and any other necessary operations) on their local environment.
    For Windows in particular, there many developers out there using it as their dev environment (don't quote me on that, but I've seen numbers ~50% iirc). So, ensuring the dev workflow for contributing is "Windows-friendly", opens up the project to more potential contributors 😉

So, I was pointing out that there is this second reason why it might be worth setting up Windows CI, even for projects that would not benefit from the first reason.

Of course, before setting up Windows CI, one needs to make the dev workflow compatible with Windows (and I understand that's a separate issue/work) 😁
I just wanted to bring it up, so we keep that in the back of our minds 🤔

@angular-automatic-lock-bot
Copy link

This issue has been automatically locked due to inactivity.
Please file a new issue if you are encountering a similar or related problem.

Read more about our automatic conversation locking policy.

This action has been performed automatically by a bot.

@angular-automatic-lock-bot angular-automatic-lock-bot bot locked and limited conversation to collaborators Nov 2, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

2 participants