-
-
Notifications
You must be signed in to change notification settings - Fork 259
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
Migrate off of Travis-CI.org #482
Comments
Also, it seems that the feedback from CI to bors is broken as well, so that needs to get fixed. |
More: https://blog.travis-ci.com/2020-11-02-travis-ci-new-billing So the free OSS tier may be going away on Travis? Then we definitely should migrate to GHA. |
Hi, I'd like to help out this this issue. My current plan is to migrate the .travis.yml file to equivalent GHA workflows using actions-rs. I will complete the task this weekend. Please let me know if any additional considerations have cropped up since this issue was last updated. Thanks, |
I've implemented the logic in the above PR. I've left it as a draft, because I have several questions. I have several questions:
Additionally, I have several notes:
Please let me know if you'd like me to change this PR. Thanks, |
It may be of interest to see a run of the CI in my fork. https://github.com/MaxBondABE/pest/runs/1467325132?check_suite_focus=true I did not execute the fuzzing logic, as I don't have a Fuzzit account. |
We're using bors, so PRs target at
When denying warnings, it's generally desirable to pin the toolchain version, so new warnings don't break the CI. This also serves as a (soft) reminder to (not) bump the minimum required toolchain version with new releases.
The main reason for this is that nightly is required to generate the lock file with minimal versions. By testing on that nightly, we can avoid having to install two toolchain versions on that builder.
It looks like you're currently running all of the jobs sequentially. IIRC GHA supports 3 concurrent jobs for free OSS users, so adding some concurrency (even if it's just to run tarpaulin in its own job) would help speed up the build. |
I've added the version pinning & parallelized the CI. It is ~40% faster (before adding the fuzz tests). I've also tested the Fuzzit integration & gotten it working. Here is a run in my fork: https://github.com/MaxBondABE/pest/runs/1468907355?check_suite_focus=true The Fuzzit script was compiling scripts in I've realized that I'm moving the PR out of draft. Please let me know if there are any other changes you'd like to see. Thanks, |
While messing around with GitHub's tools, I discovered @SkiFire13 has done some work on this issue. They utilize caching in their workflow, and have migrated the https://github.com/SkiFire13/pest/blob/github-actions/.github/workflows/ci.yml https://github.com/SkiFire13/pest/blob/github-actions/.bors.toml |
Wow, looks like someone found my old attempt. That was also my first attempt at writing a CI configuration file, so take it with a grain of salt. In particular I'm not sure the bors configuration is right since I couldn't test it. I also didn't write jobs for fuzzing and coverage because I got a bit confused with env variables. This might also be why it is 3x faster. |
Migrate CI logic from Travis to equivalent GHA access. Solves #482 Co-authored-by: Dragoș Tiselice <dragostiselice@gmail.com>
Migrate CI logic from Travis to equivalent GHA access. Solves pest-parser#482 Co-authored-by: Dragoș Tiselice <dragostiselice@gmail.com>
Hi, I apologize it's taken me so long to get back to this. It seems that Fuzzit has been acquired by Gitlab. I have been unable to log into the platform (when I go to fuzzit.dev it redirects to https://about.gitlab.com/solutions/dev-sec-ops/ , and when I log in to Gitlab I'm unable to access Fuzzit). I am uncertain that they still support GitHub Actions. While I can't find any announcement that they've dropped support, they have archived all of their repositories. It may be prudent to find a replacement. |
I have not found any service like Fuzzit for open source projects. I would propose creating a second GHA workflow to implement fuzzing. The usage limits are fairly generous. We could run a task for up to 6 hours. https://docs.github.com/en/actions/reference/usage-limits-billing-and-administration#usage-limits My current plan is to implement grammatical fuzzing for the JSON example. If this works out, I can expand to the other example formats. We can run them in parallel for, say, 5 hours 45 minutes each, and then export any crashing examples as artifacts. Let me know what your thoughts are. Cheers, |
@MaxBondABE, I think any solution would be fine. I would be okay even with phasing out fuzzing as part of CI. |
Okay. I'll submit a PR in a few hours to remove fuzzing, and I'll work on the GHA solution, which will take me a couple days to finish. |
@MaxBondABE What is the status of this issue? Do you need help with anything? |
https://docs.travis-ci.com/user/migrate/open-source-repository-migration#q-when-will-the-migration-from-travis-ciorg-to-travis-cicom-be-completed
The
.org
version of TravisCI will be retired by the end of the year. We can migrate to the.com
portal or take the opportunity to migrate to Github Actions instead.I believe @dragostis needs to hit a button in the Travis portal to migrate to the
.com
servers. I'd be willing to review/merge a migration to GHA, though I don't have the time currently to actually write the required configs to do the migration myself.The text was updated successfully, but these errors were encountered: