-
Notifications
You must be signed in to change notification settings - Fork 132
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
index versions #75
index versions #75
Conversation
I did most of the work on this through a .sh script and tested it on a personal repo so as to not pollute commits but you can check it here: https://github.com/binggh/fetch-versions-test/tree/gh-pages The github yaml configuration in that repo is set to this is all within a 80-line-ish script and i'd imagine we wouldn't have to make much changes on the script ( To add additional channels, eg. channel-fuel-nightly.toml and channel-fuel-stable.toml, I'd imagine we can run the same script 3 times and input the filename as an arg, with additional steps in between (for example, the conditions for updating the With this index we also no longer need to query the GitHub API within
|
Nice work @binggh. I have to admit that my |
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.
Lgtm - thanks for providing the demo repo to show it works too!
We are missing one big step: integration testing of the fetched versions, and falling back to the old ones if they fail. We should also keep track of version sets that are known to fail to avoid having this CI job stuck in an infinite loop of failing tests in the case that the latest set happen to fail for whatever reason. We can address all this in a future PR 👍
@JoshuaBatty was honestly considering to switch to Rust writing this midway because it'd be much more convenient writing/reading TOML files that way, but on the other hand |
Closes #79
Contains a workflow that should be triggered by other repositories to publish versions onto gh pages. Currently still testing this on the private dummy repo but leaving this up for visibilityFavouring a pull-based approach here, where we have a scheduled cron workflow pulling versions from other repos every 30 minutes, instead of a push-based approach.
Both solutions aren't nice - either we don't have instant availability of new releases with the pull-based approach by querying the latest tag through the GitHub API at set intervals (for now - set to 30 minutes) while ensuring that other repos are ignorant of
fuelup
, or we give up this ignorance offuelup
with the push-based approach by pushing the latest tag intofuelup
from other repos, ensuring we have instant availability of the latest versions.It seems that the pull-based approach is the lesser of the two evils since it might get messy trying to push data into this repo to be published, especially if we want to reorganize repos or add new components/plugins in the future to the default toolchain. Also, a 30 minute polling interval doesn't seem too long of an inconvenience/wait for new releases.
As far as I am aware - there doesn't seem to be any GitHub Action that supports subscribing to other repos for releases and executing a workflow thereafter - happy to get rid of this script in favour of something more robust otherwise!