Hi Oleg,

I think this sounds completely reasonable. If we are supporting these 
versions, does that mean we are testing Jenkins components (master and 
agent) on all of the supported platforms? How do we determine that we are 
maintaining compatibility with those platforms? I assume these types of 
things will be in a support policy document of some sort?

Regards,

Alex

On Friday, April 10, 2020 at 5:26:51 AM UTC-7, Oleg Nenashev wrote:
>
> Dear all,
>
> As you probably know, Jenkins core and some plugins contain native code, 
> and hence they rely on operating systems and platforms. In principle 
> Jenkins can run everywhere where you can run Java 8 or Java 11, but in 
> practice there are some limitations. Notably we use Java Native Access  and 
> Java Native Runtime libraries which provide wide support for platforms, but 
> there are other components. In the case of Windows platforms we use Windows 
> Service Wrapper (WinSW) <https://github.com/winsw/winsw> and Windows 
> Process Management Library (WinP) <https://github.com/kohsuke/winp>, 
> which depend on Windows versions and, in the case of windows services, on 
> .NET Framework.
>
> In the Jenkins Platform SIG <https://jenkins.io/sigs/platform/> we have 
> an open topic about Windows support policy in Jenkins. Currently we have no 
> documented support policy for Windows, and it becomes an obstacle for 
> maintainers of Windows-focused components and plugins in the 
> Jenkins project. As a maintainer of WinSW and WinP, I have to be very 
> conservative about Windows support. But it comes at a cost to users, not 
> just maintenance overhead. At the end of the day it also blocks us from 
> adopting new Windows features and making Jenkins more stable/maintenable on 
> modern Windows platforms.
>
> I know for sure that there are Jenkins users running on Windows XP, but 
> IMHO it becomes more and more legacy use-case. Last popular industry 
> version had EoL in 2019 (WinXP Exmbedded POSReady 
> <https://www.techrepublic.com/article/windows-xp-dies-final-death-as-embedded-posready-2009-reaches-end-of-life/>),
>  
> and IMO it is time to drop WinXP support in new Jenkins releases. Same goes 
> to 32bit systems and non-mainstream architectures like Itanium, we could 
> at least reduce the support level there.
>
> I suggest the following policy:
>
>    - All installers and service wrappers require Windows 7 / Windows 
>    Server 2012 or above (and .NET framework 4.0+). They support 64bit 
>    platforms only. Support for other platforms are provided via manual 
>    jenkins.war deployment
>    - Jenkins master runtime requires Windows 7 / Windows Server 2012 or 
>    above. It may work on older versions, but we do not guarantee compatibility
>    - Jenkins agent runtime requires Windows 7 / Windows Server 2012 or 
>    above. It may work on older versions, but we do not guarantee compatibility
>    - For all Windows service installations .NET Framework 4.0 or above is 
>    required. It is a default version in Windows versions specified above
>    - Jenkins master and agent Docker images are not required to provide 
>    images for the supported platforms. They can move ahead as maintainers 
>    prefer
>    - Plugins can define their own support policy, but they are strongly 
>    advised to align their Windows support policy with the Jenkins Core 
>    versions.
>       - We have no way to communicate potential Windows support issues 
>       via update center at the moment, so following the Jenkins core 
> requirements 
>       is what we can recommend as the best option
>    - Custom Jenkins packaging may have different requirements 
>    (Jenkinsfile Runner, WARs built by Custom WAR Packager)
>
> Would appreciate feedback from maintainers and Windows users! Any comments 
> and change suggestions are welcome.
>
> If other Plaftorm SIG folks agree with me, I would suggest to add this 
> area to the Jenkins Roadmap <https://jenkins.io/project/roadmap/>. I also 
> created a JENKINS-61865 
> <https://issues.jenkins-ci.org/browse/JENKINS-61865> EPIC to track 
> changes there. I will create tasks in the EPIC once there is a consensus in 
> this thread.
>
> Best regards,
> Oleg Nenashev
> Platform SIG
>
>
>
>
>
>  
>
>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-dev/5f5b8d5e-f6c7-4d4b-99d4-fc5c66ec7bb0%40googlegroups.com.

Reply via email to