-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Add some infrastructure for keeping old CI working #10438
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
Conversation
This commit is preparation for the infrastructure to be used when supporting [Wasmtime LTS releases][rfc]. The goal here is to add some automation and infrastructure to perform a weekly build of all active release branches which will file an issue on failure. This should ideally keep branches up-to-date and ensure that we don't forget to backport any fixes to older branches. Or rather when we do forget to backport fixes this'll be a reminder to go do that anyway. The general architecture here is: * A new `ci-cron-trigger.yml` workflow is added. * This new workflow runs once-a-week and runs a small script that triggers CI for all active release branches. * The main CI, `main.yml`, is updated to file an issue on failure when triggered in this fashion. While I was here I additionally removed the `schedule:` from the `main.yml` to instead fold the daily scheduling of CI runs into this new script as well. That way all our cron CI jobs are gated in workflows that require this exact repository meaning that forks won't be running cron jobs. [rfc]: bytecodealliance/rfcs#42
|
I've tested things locally except for the final bit of logic to file an issue, which I think I've fixed after testing locally as well. I'll manually trigger this CI run when this merges to ensure everything's working though. My hope is that 24.0.0 is probably broken at this time and we'll need to fix something so we should see an issue pop up. |
| // We support two LTS channels 12 versions apart. If one is already included | ||
| // in the above set of 3 latest releases, however, then we're only picking | ||
| // one historical LTS release. | ||
| let mut lts_channels = 2; | ||
| if to_trigger.iter().any(|(major, _, _)| *major % 12 == 0) { | ||
| lts_channels -= 1; | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is technically somewhat inaccurate. If an LTS branch has been created, but not released, then we need to still look back 2 releases. The risk of that causing issues is pretty small though as that's a 2-week window and I otherwise don't know how to easily test for whether the latest branch has been released or not as part of this script.
…10438) This commit is preparation for the infrastructure to be used when supporting [Wasmtime LTS releases][rfc]. The goal here is to add some automation and infrastructure to perform a weekly build of all active release branches which will file an issue on failure. This should ideally keep branches up-to-date and ensure that we don't forget to backport any fixes to older branches. Or rather when we do forget to backport fixes this'll be a reminder to go do that anyway. The general architecture here is: * A new `ci-cron-trigger.yml` workflow is added. * This new workflow runs once-a-week and runs a small script that triggers CI for all active release branches. * The main CI, `main.yml`, is updated to file an issue on failure when triggered in this fashion. While I was here I additionally removed the `schedule:` from the `main.yml` to instead fold the daily scheduling of CI runs into this new script as well. That way all our cron CI jobs are gated in workflows that require this exact repository meaning that forks won't be running cron jobs. [rfc]: bytecodealliance/rfcs#42
…10438) This commit is preparation for the infrastructure to be used when supporting [Wasmtime LTS releases][rfc]. The goal here is to add some automation and infrastructure to perform a weekly build of all active release branches which will file an issue on failure. This should ideally keep branches up-to-date and ensure that we don't forget to backport any fixes to older branches. Or rather when we do forget to backport fixes this'll be a reminder to go do that anyway. The general architecture here is: * A new `ci-cron-trigger.yml` workflow is added. * This new workflow runs once-a-week and runs a small script that triggers CI for all active release branches. * The main CI, `main.yml`, is updated to file an issue on failure when triggered in this fashion. While I was here I additionally removed the `schedule:` from the `main.yml` to instead fold the daily scheduling of CI runs into this new script as well. That way all our cron CI jobs are gated in workflows that require this exact repository meaning that forks won't be running cron jobs. [rfc]: bytecodealliance/rfcs#42
…10438) This commit is preparation for the infrastructure to be used when supporting [Wasmtime LTS releases][rfc]. The goal here is to add some automation and infrastructure to perform a weekly build of all active release branches which will file an issue on failure. This should ideally keep branches up-to-date and ensure that we don't forget to backport any fixes to older branches. Or rather when we do forget to backport fixes this'll be a reminder to go do that anyway. The general architecture here is: * A new `ci-cron-trigger.yml` workflow is added. * This new workflow runs once-a-week and runs a small script that triggers CI for all active release branches. * The main CI, `main.yml`, is updated to file an issue on failure when triggered in this fashion. While I was here I additionally removed the `schedule:` from the `main.yml` to instead fold the daily scheduling of CI runs into this new script as well. That way all our cron CI jobs are gated in workflows that require this exact repository meaning that forks won't be running cron jobs. [rfc]: bytecodealliance/rfcs#42
…10438) This commit is preparation for the infrastructure to be used when supporting [Wasmtime LTS releases][rfc]. The goal here is to add some automation and infrastructure to perform a weekly build of all active release branches which will file an issue on failure. This should ideally keep branches up-to-date and ensure that we don't forget to backport any fixes to older branches. Or rather when we do forget to backport fixes this'll be a reminder to go do that anyway. The general architecture here is: * A new `ci-cron-trigger.yml` workflow is added. * This new workflow runs once-a-week and runs a small script that triggers CI for all active release branches. * The main CI, `main.yml`, is updated to file an issue on failure when triggered in this fashion. While I was here I additionally removed the `schedule:` from the `main.yml` to instead fold the daily scheduling of CI runs into this new script as well. That way all our cron CI jobs are gated in workflows that require this exact repository meaning that forks won't be running cron jobs. [rfc]: bytecodealliance/rfcs#42
This commit is preparation for the infrastructure to be used when supporting [Wasmtime LTS releases][rfc]. The goal here is to add some automation and infrastructure to perform a weekly build of all active release branches which will file an issue on failure. This should ideally keep branches up-to-date and ensure that we don't forget to backport any fixes to older branches. Or rather when we do forget to backport fixes this'll be a reminder to go do that anyway. The general architecture here is: * A new `ci-cron-trigger.yml` workflow is added. * This new workflow runs once-a-week and runs a small script that triggers CI for all active release branches. * The main CI, `main.yml`, is updated to file an issue on failure when triggered in this fashion. While I was here I additionally removed the `schedule:` from the `main.yml` to instead fold the daily scheduling of CI runs into this new script as well. That way all our cron CI jobs are gated in workflows that require this exact repository meaning that forks won't be running cron jobs. [rfc]: bytecodealliance/rfcs#42
This commit is preparation for the infrastructure to be used when supporting [Wasmtime LTS releases][rfc]. The goal here is to add some automation and infrastructure to perform a weekly build of all active release branches which will file an issue on failure. This should ideally keep branches up-to-date and ensure that we don't forget to backport any fixes to older branches. Or rather when we do forget to backport fixes this'll be a reminder to go do that anyway. The general architecture here is: * A new `ci-cron-trigger.yml` workflow is added. * This new workflow runs once-a-week and runs a small script that triggers CI for all active release branches. * The main CI, `main.yml`, is updated to file an issue on failure when triggered in this fashion. While I was here I additionally removed the `schedule:` from the `main.yml` to instead fold the daily scheduling of CI runs into this new script as well. That way all our cron CI jobs are gated in workflows that require this exact repository meaning that forks won't be running cron jobs. [rfc]: bytecodealliance/rfcs#42
This commit is preparation for the infrastructure to be used when supporting [Wasmtime LTS releases][rfc]. The goal here is to add some automation and infrastructure to perform a weekly build of all active release branches which will file an issue on failure. This should ideally keep branches up-to-date and ensure that we don't forget to backport any fixes to older branches. Or rather when we do forget to backport fixes this'll be a reminder to go do that anyway. The general architecture here is: * A new `ci-cron-trigger.yml` workflow is added. * This new workflow runs once-a-week and runs a small script that triggers CI for all active release branches. * The main CI, `main.yml`, is updated to file an issue on failure when triggered in this fashion. While I was here I additionally removed the `schedule:` from the `main.yml` to instead fold the daily scheduling of CI runs into this new script as well. That way all our cron CI jobs are gated in workflows that require this exact repository meaning that forks won't be running cron jobs. [rfc]: bytecodealliance/rfcs#42
This commit is preparation for the infrastructure to be used when supporting [Wasmtime LTS releases][rfc]. The goal here is to add some automation and infrastructure to perform a weekly build of all active release branches which will file an issue on failure. This should ideally keep branches up-to-date and ensure that we don't forget to backport any fixes to older branches. Or rather when we do forget to backport fixes this'll be a reminder to go do that anyway. The general architecture here is: * A new `ci-cron-trigger.yml` workflow is added. * This new workflow runs once-a-week and runs a small script that triggers CI for all active release branches. * The main CI, `main.yml`, is updated to file an issue on failure when triggered in this fashion. While I was here I additionally removed the `schedule:` from the `main.yml` to instead fold the daily scheduling of CI runs into this new script as well. That way all our cron CI jobs are gated in workflows that require this exact repository meaning that forks won't be running cron jobs. [rfc]: bytecodealliance/rfcs#42
Updates a condition from bytecodealliance#10438 to trigger historical release CI on manual trigger, not just the schedule.
Updates a condition from #10438 to trigger historical release CI on manual trigger, not just the schedule.
This commit is preparation for the infrastructure to be used when supporting Wasmtime LTS releases. The goal here is to add some automation and infrastructure to perform a weekly build of all active release branches which will file an issue on failure. This should ideally keep branches up-to-date and ensure that we don't forget to backport any fixes to older branches. Or rather when we do forget to backport fixes this'll be a reminder to go do that anyway.
The general architecture here is:
ci-cron-trigger.ymlworkflow is added.main.yml, is updated to file an issue on failure when triggered in this fashion.While I was here I additionally removed the
schedule:from themain.ymlto instead fold the daily scheduling of CI runs into this new script as well. That way all our cron CI jobs are gated in workflows that require this exact repository meaning that forks won't be running cron jobs.