pelias / api

HTTP API for Pelias Geocoder
http://pelias.io
MIT License
219 stars 162 forks source link

add github actions workflow to replace travis #1495

Closed missinglink closed 4 years ago

missinglink commented 4 years ago

This PR is a first attempt at replacing Travis-CI with Github Actions. We've had loads of issues over the years with Travis so we'd like to migrate over to using Actions.

The major benefit is that the configs can be edited by anyone and the reports viewed by anyone. It's also free for open-source projects which is nice.

I've attempted to do a 'no-op' refactor of the .travis.yml file although I'm open to changing anything. The long-term plan is to live with this for a while on an active repo and once we're happy with it we can roll it out across the other repos.

cc/ @pelias/contributors

[edit] ermahgerd it's so fast!

missinglink commented 4 years ago

hmm... I think we might consider doing this.

I think that will allow us to keep this config in a single repo and reference it from others, it also allows us to "centrally manage your secrets within an organization, and then make them available to selected repositories".

Joxit commented 4 years ago

If you want the list of available software/cmd in github actions, here is the list : https://github.com/actions/virtual-environments/blob/main/images/linux/Ubuntu2004-README.md

missinglink commented 4 years ago

I just added an OS matrix including MacOS for laughs and it worked great, the default limits are 20 concurrent builds per account, so it actually takes 25 seconds to run all of them 🤯

missinglink commented 4 years ago

note to self and others, there is flag npm run xxx --if-present which only runs npm scripts when they are defined in package.json, this means we can define generic npm run functional or whatever and they will run only if those scripts are defined per-repo.