get-cmake
get-cmake copied to clipboard
RFC: specify CMake/ninja version
I would find it very handy to be able to test with several CMake versions, also versions for which you do not have specific releases. How about two input parameters cmake-version
and ninja-version
to modify the version retrieved. I had a short look into your code. The respective parts are templated already, so it shouldn't require only moderate changes. Default behavior wouldn't need to change. You could just specify the default parameters as is.
@bigerl would be useful to create the missing tags for the CMake versions your scenario requires? Would this all you need? Or tags are not good enough for your scenario?
I like having no inputs at all since it simplifies greatly the maintenance, the testing and the usage as well.
It's probably more a corner case. But you do not cover all versions of CMake released before 3.17.1 There is still a lot of assets that come with lower minimum CMake version requirements and should also be tested against them. Newer CMake versions should behave the same with a certain minimum requirement set but there are cases where they don't. My though was that it is less effort to support (additionally) configurable versions instead of creating all those legacy versions.
This may or may not be relevant for ninja. I've just never worked with it directly that I could say anything about it.
@bigerl I see the need for testing with older CMake versions indeed, and I am fine either way:
- Please provide the list of CMake versions you need, and I can create the tags for them.
- Adding an optional input that would specify the CMake version (and ninja perhaps as well). In this case a PR would be appreciated.
This solution should be carefully thought, since it clashes with the usage pattern of the tags: the newly added input called
cmakeVersion
should be working and used only on a tag calledspecific
(any other smarter name is welcome), e.g. it is used in the following case:
uses: lukka/get-cmake@specific
with:
cmakeVersion: 2.8.4
but it would ignored (and throwing a warning) in all other tags/branches, e.g.:
uses: lukka/[email protected]
with:
cmakeVersion: 2.8.0
uses: lukka/get-cmake@latest
with:
cmakeVersion: 2.8.0
In the latter case it could also just fail, but requires more work in order to back port the changes.
@bigerl @burningenlightment could you give a try with get-cmake@dev/user_provided_versions
, published in this PR #53 e.g.
- uses: lukka/get-cmake@dev/user_provided_versions
with:
cmakeVersion: 3.22.6
ninjaVersion: 1.10.0
@bigerl @BurningEnlightenment this feature is implemented in latest release: https://github.com/lukka/get-cmake/releases/tag/v3.24.3
Thanks for implementing this. I've been able to integrate the new version selection without any issues.
thanks a lot. I've also tested it. Works like a charm 👍🏻