-
Notifications
You must be signed in to change notification settings - Fork 278
Consider switching to GitHub Actions for automated testing #1195
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
Comments
Being able to test on Windows/Linux/macOS with the same CI make this a no-brainer to me. |
Also consider injection vulnerabilities reported in https://crbug.com/project-zero/2070 |
See @jku's #1204 (comment) as backing data point for the "configure only one service for all platforms" argument. |
Update badge URL in readme after migrating from travis-ci.org to travis-ci.com, due to brownout on the former. Migration was performed via Travis Web UI: https://docs.travis-ci.com/user/migrate/open-source-repository-migration NOTE: This is a quick fix to speed up Travis builds until we switch to GitHub Actions (theupdateframework#1195) Signed-off-by: Lukas Puehringer <[email protected]>
I think the next step is someone testing this to see if it's good enough. Documenting a potential test matrix: Github does offer specific platform versions as well but I'm not sure it makes sense to use those? The matrix size as proposed is 15 test runs. As a bonus it might be nice to add pypy3 to python version list (not sure how much additional benefits it gives -- but it is something pip tests with and currently TUF tests pass with pypy3): that should probably be done separately as the build dependencies might require a bit of tweaking there. There's also at least two special cases that we want to test (they do not need to be part of the matrix): This should be a good starting point: https://docs.github.com/en/free-pro-team@latest/actions/guides/building-and-testing-python
Something like this might work as the matrix setup in workflow yaml:
Things to keep in mind:
|
We recently enabled support for Python 3.9 and also added 3.9 builds on appveyor, but they don't work out of the box. Instead of troubleshooting this I suggest we soon switch to GitHub actions: theupdateframework#1195. Signed-off-by: Lukas Puehringer <[email protected]>
Also, we just ran out of build minutes on Travis. :( |
Wow. I didn't even realise we had a build minutes limit. Does that mean we can't do any more Travis builds in December? |
I didn't know either until I noticed that builds didn't finish and came across this message on https://travis-ci.com/organizations/theupdateframework:
Not exactly sure when credits will reset. |
IIUC, GitHub actions has no limits for open source projects (see first sentence in Billing for GitHub Actions). I am happy to set this up first thing next week. |
No limits for open source is my understanding too, thanks for prioritising this @lukpueh! |
I did some experiments but am likely to not concentrate on this at least early this coming week so feel free to copy-paste or just take notes from my branch:
Notes:
|
Thanks for the excellent spade-work, @jku! If you don't mind I'll try to PR something tomorrow. Regarding your notes:
Apart from that I still need to finalize coveralls and fossa configuration. |
We shouldn't really be especially vulnerable I think -- none of our steps look like they could be easily made to print commands without control of the source code -- I'd say only the "Run tox" step is suspect (in the sense that there's so much code running we can't really rule out the possibility of untrusted output). I think the only thing we can do is something like
we could do that already in "Find pip cache dir" immediately after the ::set-output command: that should prevent any commands from being accepted from the output in the whole build after that.
👍
Uh no, I seem to have deleted some builds I didn't intend to... Maybe it was a mistake in an earlier configuration |
Description of issue or feature request:
We switched from automated testing on Travis CI (Linux) and Appveyor (Windows) to GitHub Actions in our sister-project
in-toto-golang
(see in-toto/in-toto-golang#72), mostly due to availability concerns about Appveyor and because it seems appealing to configure only one service for all platforms.Let's consider switching here too and testing on more platforms than we currently do.
Current behavior:
Use Travis CI and Appveyor for automated testing on Linux for Windows (no tests on macOS)
Expected behavior:
Use GitHub Actions instead and also test on macOS.
The text was updated successfully, but these errors were encountered: