-
Notifications
You must be signed in to change notification settings - Fork 471
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
Write GitHub Actions workflow files in Kotlin instead of YAML #1630
base: master
Are you sure you want to change the base?
Conversation
4f2aa09
to
c3ed268
Compare
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #1630 +/- ##
============================================
+ Coverage 80.44% 81.79% +1.34%
- Complexity 4337 4642 +305
============================================
Files 441 450 +9
Lines 13534 14582 +1048
Branches 1707 1839 +132
============================================
+ Hits 10888 11927 +1039
+ Misses 2008 1975 -33
- Partials 638 680 +42 ☔ View full report in Codecov by Sentry. |
Well, almost 1:1, I added some names where only IDs were present. Due to that the required checks now do not match anymore as they are considering the name, not the ID. |
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.
Not seeing the advantages yet.
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.
Can we keep the .yml
extension for the generated files, so that we can actually see the diff?
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.
Yes, you can manually configure the target file name.
I changed it to ...yml
, but maybe we want to return to the default after you verified the changes to not have the unnecessary configuration?
b8fd23e
to
9267bae
Compare
Well, noone really likes reading or writing YAML. :-D You can also easily reuse common logic as you have a turing-complete language at hand. You could then for example also centrally define the variants and Java versions, or even the complete test matrix and reuse it. And where it also comes in handy is, for the changes in #1629 as there I can then easily change the script to calculate the size of the Matrix and set the |
I now added another commit, that leverages the fact we have a programming language at hand and uses it for the variants and java versions handling, that also shows that it is really useful. :-) |
And another commit added, so that the build script and the workflow generation script use one common source for the Java versions and variants. :-) I think I'm out of improvement ideas for now, so review-on. :-) |
e6d19ea
to
e65cca2
Compare
e004e5f
to
e65cca2
Compare
e65cca2
to
8f5f426
Compare
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.
By using this library, you have a proper type-safe DSL with IntelliSense in the IDE that makes it nice to write and read GHA workflows.
Unless, it is not supported, then you end up with _customArguments
and unsightly mapOf
, which read much worse through all the added noise IMHO.
2d52d58
to
8dadbc2
Compare
8f578ed
to
69bfb43
Compare
69bfb43
to
4ae5422
Compare
a2e391d
to
793dffb
Compare
793dffb
to
73058a6
Compare
4d00c81
to
5d5dfdd
Compare
For now a 1:1 translation from previous Yaml.