Closed ArquintL closed 3 years ago
I'm not an expert on Github CI, but the description makes sense to me, although I'm not sure I understand it precisely.
(The following comment is not specific to this PR.) For me, the easiest way to understand CI is visually, i.e. to draw a dependency graph that shows what-triggers-what. I recommend eventually drawing and keeping such a diagram somewhere, maybe in the Viper IDE repo or here. This is something that Jenkins could provide out-of-the-box, but I don't suppose such a feature exists when you configure CIs across multiple Github repos (although in principle it could exist)?
@aterga Good point, I can include something like that in the viper-ide
's README. There is no "official" way of triggering a workflow of a different repo on GitHub. Instead, one has to make a POST request to an HTTP endpoint. Thus, it would be very hard to figure out what is triggered from where (in a generic way)
@fpoli will periodically create PRs when the Viper Tools change. To reduce the number of unnecessary PRs that are created even though the tools contained in the ZIP files have not changed, this PR compares the commit hashes of ViperServer, Silver, Silicon, and Carbon with those used for (already existing) nightly releases. A new nightly release will only be triggered in the
viper-ide
repository if at least one commit hash has changed. The check, as implemented in this PR, works becauseversions.txt
stores the current commit hashes and is used as body of the nightly release. Thus, one can easily check the content of the currentversions.txt
file against the bodies of the releases.