Hi, I went through the items in Jenkinsfile Runner Roadmap (Preview) · GitHub and have a few highlights
A) Mission definition
I miss the overall mission definition. Having the final goal described helps to have a discussion around the means to get to it.
Plus it can help to prioritize key efforts and to triage all the various ideas / enhancement proposals etc.
I know there is GitHub - jenkinsci/jenkinsfile-runner: A command line tool to run Jenkinsfile as a function section. To mee it feels too high level, I would like to see a more detailed description of use-cases so that people coming to the project can get quick info about where to use it, what it can help with etc.
B) Target environments
Roadmap mentions enhancements around custom war creation, Tekton integration, Docker enhancements, GitHub actions support, JBang support.
A bit connected with the above point, the definition of must have + optional target environments for 1.0 release could help to keep the right focus.
Related to “make JFR accessible for non-Java users”, JReleaser could be reviewed, it has support for various distribution packages - Binary :: JReleaser
C) Fast and easy to use
Work with JFR feels a bit heavy-weight, at least the initial setup of Jenkins war + plugins when the Docker image is not used.
Demo in GitHub - jenkinsci/jenkinsfile-runner: A command line tool to run Jenkinsfile as a function requires to build an image locally before running it, expects make
friendly attitude of the users.
Newcomer experience isn’t “run and see”, but it’s “start the build, wait, run and see”. This should be imho improved.
This section is not just about the initial experience. Especially with FaaS context, there needs to be a push towards boot and runtime efficiency.
It can be handled in various aspects, starting with Jenkins related optimizations (slimmed down Jenkins?), prepackaging stuff like plugins, packaging into native binary.
Also depends if FaaS context gets prioritized in the mission definition for 1.0 release.
D) all in one bundle
To have a better user experience I would appreciate bundle(s) which I could just download (.zip, docker, .dmg?, .exe?) and use with my jenkins file without the need to create it on my own. I think Image packs for standard toolchains · Issue #573 · jenkinsci/jenkinsfile-runner · GitHub goes this way, but for a good user experience, these packs should be available directly without the need to build them. it can be questioned for 1.0 release but wanted to mention this, especially with user experience in mind.
E) Timeline for roadmap goals
I miss information about the time frame for the items tracked in the roadmap.
Is 1.0 release going to be time-boxed or feature-boxed?
F) Java 17+ only?
This may be too optimistic, but why not base JFR on Java 17. This could be a good excuse to perform some codebase cleanup and it could attract people as the project would look modern / future-looking, and not stuck on Java 8.
Jenkins was mentioned in The arrival of java 17! – Inside.java as 17 early access builds participant