Hi Tim, Thanks for your feedback! One thing to mention is that we are not dropping support for x86, at least for the time being. Latest edition of the policy in https://github.com/jenkins-infra/jenkins.io/pull/3295 says that it is "Level 3 - Patches considered". *Support may have limitations and extra requirements. We do not test compatibility, and we may drop support if there is a need. We will consider patches if they do not put Level 1/2 support at risk and if they do not create maintenance overhead*. So we will be still supporting x86, to some extent.
Splitting the policy to masters and agents would make sense, but unfortunately all key features have to run on both of them. I was unable to identify any use-case where "supporting only on an agent" would make difference w.r.t the maintenance overhead. Best regards, Oleg On Mon, Jun 1, 2020 at 5:17 PM Tim Van Holder <[email protected]> wrote: > On Friday, 10 April 2020 14:26:51 UTC+2, 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 >> >> > I only started working on a sort-of-Windows-oriented plugin > (dotnet-sdk-plugin), so I did not see this earlier. Going to add my EUR0.02 > anyway. > > While dropping support for XP seems perfectly sensible to me, I'm not as > sure about dropping support for x86. > There, I would take guidance from what Microsoft still supports for the > .NET SDKs (given that those are used for building, they seem a relevant > data point for a CI server). > Looking at the most bleeding-edge versions, and discounting ARM for now, > they support only x64 for Linux and macOS, but both x64 and x86 for Windows. > Source: https://dotnet.microsoft.com/download/dotnet/5.0 > That would suggest that there is enough of a user/install base to make > that relevant for them, which in turn seems like it should make it relevant > for Jenkins. > > Note: I would see less of an issue having different support levels for a > master node and slave nodes; requiring x64 for master may not be > unreasonable, but almost dropping support for x86 slaves seems eminently > less so. > > Disclaimer: I'm personally running only x64 machines, and I'm not sure the > company I work for has any x86 slaves left, nor whether we've had recent > customers using x86 Windows. > I'm only going off what Microsoft continues to support. > > -- > You received this message because you are subscribed to a topic in the > Google Groups "Jenkins Developers" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/jenkinsci-dev/oK8pBCzPPpo/unsubscribe. > To unsubscribe from this group and all its topics, send an email to > [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/jenkinsci-dev/63f4cfe7-c9a8-44ec-9021-c2f3caa93d86%40googlegroups.com > <https://groups.google.com/d/msgid/jenkinsci-dev/63f4cfe7-c9a8-44ec-9021-c2f3caa93d86%40googlegroups.com?utm_medium=email&utm_source=footer> > . > -- 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 [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/CAPfivLBDAO8w3n4Sxq5HBpbWUio8cM0N2hGv3YmPizvav361mw%40mail.gmail.com.
