pgh-public-meetings / city-scrapers-pitt

Pittsburgh City Scrapers: sourcing public meetings in Pittsburgh
https://pgh-public-meetings.github.io/events/
MIT License
19 stars 66 forks source link

Add OS Cross-compatibility Checks. #154

Closed ben-nathanson closed 3 years ago

ben-nathanson commented 3 years ago

Historically, we have run our actions solely on ubuntu-latest. The end result of this has been pull requests that silently break our environments on Windows. I would prescribe adding a workflow that attempts to install all dependencies and run Scrapy on windows-latest on at least one version of Python.

We could do the same for macos-latest, but MacOS runners are expensive and we haven't seen environmental problems there to the same degree as with Windows. Adding this later should be trivial if we decide to do it. I'm tempted to add an additional cron job to test all 9 combinations of operating system and Python version. That way every dev environment we say we support in the docs is actually being tested on a regular basis and we can trace back any failures to some window of time.

I've experimented with this on the CrossCompatibilityCI branch but I will hold off on making a pull request until the boto3 issue is stabilized in master.

Thoughts and suggestions are welcomed!