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.

Reply via email to