Proposal: Windows support policy for Jenkins

classic Classic list List threaded Threaded
18 messages Options
Reply | Threaded
Open this post in threaded view
|

Proposal: Windows support policy for Jenkins

Oleg Nenashev
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) and Windows Process Management Library (WinP), which depend on Windows versions and, in the case of windows services, on .NET Framework.

In the Jenkins Platform SIG 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), 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. I also created a 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 [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/CAPfivLCVy_cJg9QUv5-Ln8pNfJWEBa24Ni_fmYtd1gC8qaMqMg%40mail.gmail.com.
Reply | Threaded
Open this post in threaded view
|

Re: Proposal: Windows support policy for Jenkins

Tim Jacomb
Sounds reasonable to me +1,
I speak as someone who barely ever touches Windows and never for Jenkins though

Thanks
Tim

On Friday, 10 April 2020 13:26:51 UTC+1, 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 <a href="https://github.com/winsw/winsw" target="_blank" rel="nofollow" onmousedown="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fgithub.com%2Fwinsw%2Fwinsw\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGZy4Lvz5OLVsh7G9M3hD78zTN6Dg&#39;;return true;" onclick="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fgithub.com%2Fwinsw%2Fwinsw\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGZy4Lvz5OLVsh7G9M3hD78zTN6Dg&#39;;return true;">Windows Service Wrapper (WinSW) and <a href="https://github.com/kohsuke/winp" target="_blank" rel="nofollow" onmousedown="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fgithub.com%2Fkohsuke%2Fwinp\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNHPvzL1x1MXIN219uFwq0-4kxLLYg&#39;;return true;" onclick="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fgithub.com%2Fkohsuke%2Fwinp\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNHPvzL1x1MXIN219uFwq0-4kxLLYg&#39;;return true;">Windows Process Management Library (WinP), which depend on Windows versions and, in the case of windows services, on .NET Framework.

In the <a href="https://jenkins.io/sigs/platform/" target="_blank" rel="nofollow" onmousedown="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fjenkins.io%2Fsigs%2Fplatform%2F\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGMoowL_sP9Eh2CDajb1nFJYcnbEg&#39;;return true;" onclick="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fjenkins.io%2Fsigs%2Fplatform%2F\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGMoowL_sP9Eh2CDajb1nFJYcnbEg&#39;;return true;">Jenkins Platform SIG 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 (<a href="https://www.techrepublic.com/article/windows-xp-dies-final-death-as-embedded-posready-2009-reaches-end-of-life/" target="_blank" rel="nofollow" onmousedown="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fwww.techrepublic.com%2Farticle%2Fwindows-xp-dies-final-death-as-embedded-posready-2009-reaches-end-of-life%2F\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNEKzyd1TW-0cVPJ6lyORND6DoaCmA&#39;;return true;" onclick="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fwww.techrepublic.com%2Farticle%2Fwindows-xp-dies-final-death-as-embedded-posready-2009-reaches-end-of-life%2F\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNEKzyd1TW-0cVPJ6lyORND6DoaCmA&#39;;return true;">WinXP Exmbedded POSReady), 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 <a href="https://jenkins.io/project/roadmap/" target="_blank" rel="nofollow" onmousedown="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fjenkins.io%2Fproject%2Froadmap%2F\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNHesepNhorHd8BuwVyVY35pAkGefw&#39;;return true;" onclick="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fjenkins.io%2Fproject%2Froadmap%2F\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNHesepNhorHd8BuwVyVY35pAkGefw&#39;;return true;">Jenkins Roadmap. I also created a <a href="https://issues.jenkins-ci.org/browse/JENKINS-61865" target="_blank" rel="nofollow" onmousedown="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fissues.jenkins-ci.org%2Fbrowse%2FJENKINS-61865\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGpUa3W2j7rzE9CwdtAayQ7dchMXw&#39;;return true;" onclick="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fissues.jenkins-ci.org%2Fbrowse%2FJENKINS-61865\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGpUa3W2j7rzE9CwdtAayQ7dchMXw&#39;;return true;">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 [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/c755618e-b046-44b9-b155-38fdaba6d214%40googlegroups.com.
Reply | Threaded
Open this post in threaded view
|

Re: Proposal: Windows support policy for Jenkins

Ben Castellucci
Are you mis-matched in your pairing? Windows Server 2012 is in the Windows 8 family. Windows Server 2008 is the 'mate' to Windows 7, isn't it?

On Fri, Apr 10, 2020, 8:48 AM Tim Jacomb <[hidden email]> wrote:
Sounds reasonable to me +1,
I speak as someone who barely ever touches Windows and never for Jenkins though

Thanks
Tim

On Friday, 10 April 2020 13:26:51 UTC+1, 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) and Windows Process Management Library (WinP), which depend on Windows versions and, in the case of windows services, on .NET Framework.

In the Jenkins Platform SIG 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), 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. I also created a 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 [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/c755618e-b046-44b9-b155-38fdaba6d214%40googlegroups.com.

--
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 [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/CAD34T64_%2BsOOEMpzH%2BPYtyvop-f_CdzMSq1t6my16DMv%3DqiTQg%40mail.gmail.com.
Reply | Threaded
Open this post in threaded view
|

Re: Proposal: Windows support policy for Jenkins

slide
In reply to this post by Oleg Nenashev
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 <a href="https://github.com/winsw/winsw" target="_blank" rel="nofollow" onmousedown="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fgithub.com%2Fwinsw%2Fwinsw\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGZy4Lvz5OLVsh7G9M3hD78zTN6Dg&#39;;return true;" onclick="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fgithub.com%2Fwinsw%2Fwinsw\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGZy4Lvz5OLVsh7G9M3hD78zTN6Dg&#39;;return true;">Windows Service Wrapper (WinSW) and <a href="https://github.com/kohsuke/winp" target="_blank" rel="nofollow" onmousedown="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fgithub.com%2Fkohsuke%2Fwinp\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNHPvzL1x1MXIN219uFwq0-4kxLLYg&#39;;return true;" onclick="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fgithub.com%2Fkohsuke%2Fwinp\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNHPvzL1x1MXIN219uFwq0-4kxLLYg&#39;;return true;">Windows Process Management Library (WinP), which depend on Windows versions and, in the case of windows services, on .NET Framework.

In the <a href="https://jenkins.io/sigs/platform/" target="_blank" rel="nofollow" onmousedown="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fjenkins.io%2Fsigs%2Fplatform%2F\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGMoowL_sP9Eh2CDajb1nFJYcnbEg&#39;;return true;" onclick="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fjenkins.io%2Fsigs%2Fplatform%2F\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGMoowL_sP9Eh2CDajb1nFJYcnbEg&#39;;return true;">Jenkins Platform SIG 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 (<a href="https://www.techrepublic.com/article/windows-xp-dies-final-death-as-embedded-posready-2009-reaches-end-of-life/" target="_blank" rel="nofollow" onmousedown="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fwww.techrepublic.com%2Farticle%2Fwindows-xp-dies-final-death-as-embedded-posready-2009-reaches-end-of-life%2F\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNEKzyd1TW-0cVPJ6lyORND6DoaCmA&#39;;return true;" onclick="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fwww.techrepublic.com%2Farticle%2Fwindows-xp-dies-final-death-as-embedded-posready-2009-reaches-end-of-life%2F\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNEKzyd1TW-0cVPJ6lyORND6DoaCmA&#39;;return true;">WinXP Exmbedded POSReady), 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 <a href="https://jenkins.io/project/roadmap/" target="_blank" rel="nofollow" onmousedown="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fjenkins.io%2Fproject%2Froadmap%2F\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNHesepNhorHd8BuwVyVY35pAkGefw&#39;;return true;" onclick="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fjenkins.io%2Fproject%2Froadmap%2F\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNHesepNhorHd8BuwVyVY35pAkGefw&#39;;return true;">Jenkins Roadmap. I also created a <a href="https://issues.jenkins-ci.org/browse/JENKINS-61865" target="_blank" rel="nofollow" onmousedown="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fissues.jenkins-ci.org%2Fbrowse%2FJENKINS-61865\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGpUa3W2j7rzE9CwdtAayQ7dchMXw&#39;;return true;" onclick="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fissues.jenkins-ci.org%2Fbrowse%2FJENKINS-61865\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGpUa3W2j7rzE9CwdtAayQ7dchMXw&#39;;return true;">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 [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/5f5b8d5e-f6c7-4d4b-99d4-fc5c66ec7bb0%40googlegroups.com.
Reply | Threaded
Open this post in threaded view
|

Re: Proposal: Windows support policy for Jenkins

Jesse Glick-4
On Fri, Apr 10, 2020 at 9:04 AM slide <[hidden email]> wrote:
> does that mean we are testing Jenkins components (master and agent) on all of the supported platforms?

I suppose at this point we only really test on 2019, right?

--
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 [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/CANfRfr3SEsRa%3DOsrd-as%3D82BrS_kDkzbgLznewT%3D8Yw1zh2sBQ%40mail.gmail.com.
Reply | Threaded
Open this post in threaded view
|

Re: Proposal: Windows support policy for Jenkins

slide

> does that mean we are testing Jenkins components (master and agent) on all of the supported platforms?

I suppose at this point we only really test on 2019, right?


Yes, we currently only build and test on Windows Server 2019. To be fair though, we only really test Linux stuff on Ubuntu 18.04 on ci.j.io, so maybe that is ok.
 
--
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 [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/CANfRfr3SEsRa%3DOsrd-as%3D82BrS_kDkzbgLznewT%3D8Yw1zh2sBQ%40mail.gmail.com.


--

--
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 [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/CAPiUgVfLqOnTVoZDX-S2ycRKV4XUCw%2B6s51YMwG9Bd6bQDF%2BKQ%40mail.gmail.com.
Reply | Threaded
Open this post in threaded view
|

Re: Proposal: Windows support policy for Jenkins

Oleg Nenashev
Hi all,

Thanks for the feedback! Please find some responses below

Are you mis-matched in your pairing? Windows Server 2012 is in the Windows 8 family. Windows Server 2008 is the 'mate' to Windows 7, isn't it?

Well, I do not mind to put Windows Server 2008 into the list. My assumption was that the enterprise users have already moved to newer server OS versions, and hence supporting Win Server 2008 is and overkill. Windows 7 is still at ~30% of Windows installations according to some resources. I definitely know a company with hundreds on Jenkins masters which still uses Windows 7 agents, so I would prefer to keep it. Last but not least, I would not like to put Windows 8 into the policy...

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?
Ideally we should be doing so, but practically we have no capacity to run wide integration testing right now (FTR Azure and AWS Infra costs for those who follow the Jenkins Infrastructure topics). So, I would not tie the support policy to test coverage.It would be a great follow-up though. If you look for a precedent, we have such one. Our Web browser support policy documents 4 browsers as Level 1 support while we actually run Acceptance Test Harness with 1-2 browsers depending on the test suite.

To address this comment, we could also add support levels to the Windows support policy, with Level 1 for the versions we actually test with. Note that it is going to be tricky for modern OS versions, we know about limitations on some platforms like Windows Server Nano.

Best regards,
Oleg



 



On Friday, April 10, 2020 at 6:51:00 PM UTC+2, slide wrote:

> does that mean we are testing Jenkins components (master and agent) on all of the supported platforms?

I suppose at this point we only really test on 2019, right?


Yes, we currently only build and test on Windows Server 2019. To be fair though, we only really test Linux stuff on Ubuntu 18.04 on <a href="http://ci.j.io" target="_blank" rel="nofollow" onmousedown="this.href=&#39;http://www.google.com/url?q\x3dhttp%3A%2F%2Fci.j.io\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGCBa6Fivl2AGtLHvwfxpdn-GoLoA&#39;;return true;" onclick="this.href=&#39;http://www.google.com/url?q\x3dhttp%3A%2F%2Fci.j.io\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGCBa6Fivl2AGtLHvwfxpdn-GoLoA&#39;;return true;">ci.j.io, so maybe that is ok.
 
--
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 <a href="javascript:" target="_blank" gdf-obfuscated-mailto="atP2Lgc_BwAJ" rel="nofollow" onmousedown="this.href=&#39;javascript:&#39;;return true;" onclick="this.href=&#39;javascript:&#39;;return true;">jenkin...@googlegroups.com.
To view this discussion on the web visit <a href="https://groups.google.com/d/msgid/jenkinsci-dev/CANfRfr3SEsRa%3DOsrd-as%3D82BrS_kDkzbgLznewT%3D8Yw1zh2sBQ%40mail.gmail.com" rel="nofollow" target="_blank" onmousedown="this.href=&#39;https://groups.google.com/d/msgid/jenkinsci-dev/CANfRfr3SEsRa%3DOsrd-as%3D82BrS_kDkzbgLznewT%3D8Yw1zh2sBQ%40mail.gmail.com&#39;;return true;" onclick="this.href=&#39;https://groups.google.com/d/msgid/jenkinsci-dev/CANfRfr3SEsRa%3DOsrd-as%3D82BrS_kDkzbgLznewT%3D8Yw1zh2sBQ%40mail.gmail.com&#39;;return true;">https://groups.google.com/d/msgid/jenkinsci-dev/CANfRfr3SEsRa%3DOsrd-as%3D82BrS_kDkzbgLznewT%3D8Yw1zh2sBQ%40mail.gmail.com.


--
Website: <a href="http://earl-of-code.com" target="_blank" rel="nofollow" onmousedown="this.href=&#39;http://www.google.com/url?q\x3dhttp%3A%2F%2Fearl-of-code.com\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNH6n4PgqhQTRQjanfDfEls_aRabFg&#39;;return true;" onclick="this.href=&#39;http://www.google.com/url?q\x3dhttp%3A%2F%2Fearl-of-code.com\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNH6n4PgqhQTRQjanfDfEls_aRabFg&#39;;return true;">http://earl-of-code.com

--
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 [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/751f4297-2de2-4f04-b3f8-da564ad7c4f2%40googlegroups.com.
Reply | Threaded
Open this post in threaded view
|

Re: Proposal: Windows support policy for Jenkins

Daniel Beck
In reply to this post by Oleg Nenashev


> On 10. Apr 2020, at 14:26, Oleg Nenashev <[hidden email]> wrote:
>
> I know for sure that there are Jenkins users running on Windows XP

That's no reason to enable this insanity.

I would advocate for just going with what's generally supported by Microsoft: Extended support would be in, "throwing bags of money at Microsoft" support is out, i.e. Windows 7 would have been unsupported since January.

This approach would also address the problem of not having to manually keep the policy up to date. As we've seen with the browser support policy, nobody will update it.
Additionally, this has the benefit of being fairly objective criteria, and would also save us from having to have this conversation again in two years.

(And TBH I would just ignore Windows Embedded Industry, seems like a lot of effort for very few users.)

Note also that this doesn't mean that Jenkins on these OSes would necessarily immediately break. If there's a new enough .NET Framework or whatever on Windows 7, and there's no reason to go with something newer, then Windows 7 will just continue to work. But users would know that they cannot indefinitely rely on it.

Obviously I'm +1 for whatever makes it easier for you to support these components, even if it's just small steps.

--
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 [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/C643B021-1451-4E76-921B-CD9543BA2C86%40beckweb.net.
Reply | Threaded
Open this post in threaded view
|

Re: Proposal: Windows support policy for Jenkins

Oleg Nenashev
Taking the feedback, should we introduce support levels like we do with the browser support policy?

* Level 1 - full support. We run automated testing for these platforms 
  - amd64 versions of latest Windows and Windows Server versions, with the latest GA update pack (we will need to specify editions in the final policy)
  - versions in our soon-to-be-official Docker packages (at the moment: windowsservercore and nanoserver 1809)
* Level 2 - generally supported. We do not actively test it, but we intend to keep compatibility, and we are happy to accept patches
  - Windows and Windows Server 64bit versions which are generally supported by MS
* Level 3 - Best effort - We will consider patches if they do not put Level 1/2 support at risk and if they do not create bug maintenance overhead. Support may have limitations and extra requirements. We do not test compatibility, and we may drop support if there is a need
  - x86 and other non-amd64 architectures
  - "exotic" windows versions like Windows Embedded
  - Preview releases and updates by Microsoft
  - Windows API emulation systems like Wine or ReactOS
* Level 4 - Unsupported
  - Platforms and OS versions which are known to be incompatible or which have severe limitations

Best regards,
Oleg




On Sat, Apr 11, 2020, 02:05 Daniel Beck <[hidden email]> wrote:


> On 10. Apr 2020, at 14:26, Oleg Nenashev <[hidden email]> wrote:
>
> I know for sure that there are Jenkins users running on Windows XP

That's no reason to enable this insanity.

I would advocate for just going with what's generally supported by Microsoft: Extended support would be in, "throwing bags of money at Microsoft" support is out, i.e. Windows 7 would have been unsupported since January.

This approach would also address the problem of not having to manually keep the policy up to date. As we've seen with the browser support policy, nobody will update it.
Additionally, this has the benefit of being fairly objective criteria, and would also save us from having to have this conversation again in two years.

(And TBH I would just ignore Windows Embedded Industry, seems like a lot of effort for very few users.)

Note also that this doesn't mean that Jenkins on these OSes would necessarily immediately break. If there's a new enough .NET Framework or whatever on Windows 7, and there's no reason to go with something newer, then Windows 7 will just continue to work. But users would know that they cannot indefinitely rely on it.

Obviously I'm +1 for whatever makes it easier for you to support these components, even if it's just small steps.

--
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 [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/C643B021-1451-4E76-921B-CD9543BA2C86%40beckweb.net.

--
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 [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/CAPfivLDBoybSRFz4Lsmo_kynGT-BqknBPK%2BjGS87-tO5hZnnuw%40mail.gmail.com.
Reply | Threaded
Open this post in threaded view
|

Re: Proposal: Windows support policy for Jenkins

Olblak-2
I like Oleg proposition very much as it clarifies the different levels of support, and it solves Daniel concerned.
We won't run any tests on deprecated infrastructure like XP.

On Tue, Apr 14, 2020, at 12:41 PM, Oleg Nenashev wrote:
Taking the feedback, should we introduce support levels like we do with the browser support policy?

* Level 1 - full support. We run automated testing for these platforms 
  - amd64 versions of latest Windows and Windows Server versions, with the latest GA update pack (we will need to specify editions in the final policy)
  - versions in our soon-to-be-official Docker packages (at the moment: windowsservercore and nanoserver 1809)
* Level 2 - generally supported. We do not actively test it, but we intend to keep compatibility, and we are happy to accept patches
  - Windows and Windows Server 64bit versions which are generally supported by MS
* Level 3 - Best effort - We will consider patches if they do not put Level 1/2 support at risk and if they do not create bug maintenance overhead. Support may have limitations and extra requirements. We do not test compatibility, and we may drop support if there is a need
  - x86 and other non-amd64 architectures
  - "exotic" windows versions like Windows Embedded
  - Preview releases and updates by Microsoft
  - Windows API emulation systems like Wine or ReactOS
* Level 4 - Unsupported
  - Platforms and OS versions which are known to be incompatible or which have severe limitations

Best regards,
Oleg




On Sat, Apr 11, 2020, 02:05 Daniel Beck <[hidden email]> wrote:


> On 10. Apr 2020, at 14:26, Oleg Nenashev <[hidden email]> wrote:
>
> I know for sure that there are Jenkins users running on Windows XP

That's no reason to enable this insanity.

I would advocate for just going with what's generally supported by Microsoft: Extended support would be in, "throwing bags of money at Microsoft" support is out, i.e. Windows 7 would have been unsupported since January.

This approach would also address the problem of not having to manually keep the policy up to date. As we've seen with the browser support policy, nobody will update it.
Additionally, this has the benefit of being fairly objective criteria, and would also save us from having to have this conversation again in two years.

(And TBH I would just ignore Windows Embedded Industry, seems like a lot of effort for very few users.)

Note also that this doesn't mean that Jenkins on these OSes would necessarily immediately break. If there's a new enough .NET Framework or whatever on Windows 7, and there's no reason to go with something newer, then Windows 7 will just continue to work. But users would know that they cannot indefinitely rely on it.

Obviously I'm +1 for whatever makes it easier for you to support these components, even if it's just small steps.

--
You received this message because you are subscribed to a topic in the Google Groups "Jenkins Developers" group.
To unsubscribe from this group and all its topics, send an email to [hidden email].


--
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 [hidden email].

--
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 [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/dc756e15-a1cf-4a1a-a4bd-5189d37e055b%40www.fastmail.com.
Reply | Threaded
Open this post in threaded view
|

Re: Proposal: Windows support policy for Jenkins

Oleg Nenashev
Hi all,

I have submitted a pull request with a draft policy: https://github.com/jenkins-infra/jenkins.io/pull/3295 .
I will appreciate any feedback from those who is running Jenkins on Windows.

Best regards,
Oleg

On Tuesday, April 14, 2020 at 3:02:04 PM UTC+2, Olblak wrote:
I like Oleg proposition very much as it clarifies the different levels of support, and it solves Daniel concerned.
We won't run any tests on deprecated infrastructure like XP.

On Tue, Apr 14, 2020, at 12:41 PM, Oleg Nenashev wrote:
Taking the feedback, should we introduce support levels like we do with the browser support policy?

* Level 1 - full support. We run automated testing for these platforms 
  - amd64 versions of latest Windows and Windows Server versions, with the latest GA update pack (we will need to specify editions in the final policy)
  - versions in our soon-to-be-official Docker packages (at the moment: windowsservercore and nanoserver 1809)
* Level 2 - generally supported. We do not actively test it, but we intend to keep compatibility, and we are happy to accept patches
  - Windows and Windows Server 64bit versions which are generally supported by MS
* Level 3 - Best effort - We will consider patches if they do not put Level 1/2 support at risk and if they do not create bug maintenance overhead. Support may have limitations and extra requirements. We do not test compatibility, and we may drop support if there is a need
  - x86 and other non-amd64 architectures
  - "exotic" windows versions like Windows Embedded
  - Preview releases and updates by Microsoft
  - Windows API emulation systems like Wine or ReactOS
* Level 4 - Unsupported
  - Platforms and OS versions which are known to be incompatible or which have severe limitations

Best regards,
Oleg




On Sat, Apr 11, 2020, 02:05 Daniel Beck <<a href="javascript:" target="_blank" gdf-obfuscated-mailto="asRXmzIbAQAJ" rel="nofollow" onmousedown="this.href=&#39;javascript:&#39;;return true;" onclick="this.href=&#39;javascript:&#39;;return true;">m...@...> wrote:


> On 10. Apr 2020, at 14:26, Oleg Nenashev <<a href="javascript:" rel="nofollow" target="_blank" gdf-obfuscated-mailto="asRXmzIbAQAJ" onmousedown="this.href=&#39;javascript:&#39;;return true;" onclick="this.href=&#39;javascript:&#39;;return true;">o.v.n...@...> wrote:
>
> I know for sure that there are Jenkins users running on Windows XP

That's no reason to enable this insanity.

I would advocate for just going with what's generally supported by Microsoft: Extended support would be in, "throwing bags of money at Microsoft" support is out, i.e. Windows 7 would have been unsupported since January.

This approach would also address the problem of not having to manually keep the policy up to date. As we've seen with the browser support policy, nobody will update it.
Additionally, this has the benefit of being fairly objective criteria, and would also save us from having to have this conversation again in two years.

(And TBH I would just ignore Windows Embedded Industry, seems like a lot of effort for very few users.)

Note also that this doesn't mean that Jenkins on these OSes would necessarily immediately break. If there's a new enough .NET Framework or whatever on Windows 7, and there's no reason to go with something newer, then Windows 7 will just continue to work. But users would know that they cannot indefinitely rely on it.

Obviously I'm +1 for whatever makes it easier for you to support these components, even if it's just small steps.

--
You received this message because you are subscribed to a topic in the Google Groups "Jenkins Developers" group.
To unsubscribe from this topic, visit <a href="https://groups.google.com/d/topic/jenkinsci-dev/oK8pBCzPPpo/unsubscribe" rel="nofollow" target="_blank" onmousedown="this.href=&#39;https://groups.google.com/d/topic/jenkinsci-dev/oK8pBCzPPpo/unsubscribe&#39;;return true;" onclick="this.href=&#39;https://groups.google.com/d/topic/jenkinsci-dev/oK8pBCzPPpo/unsubscribe&#39;;return true;">https://groups.google.com/d/topic/jenkinsci-dev/oK8pBCzPPpo/unsubscribe.
To unsubscribe from this group and all its topics, send an email to <a href="javascript:" rel="nofollow" target="_blank" gdf-obfuscated-mailto="asRXmzIbAQAJ" onmousedown="this.href=&#39;javascript:&#39;;return true;" onclick="this.href=&#39;javascript:&#39;;return true;">jenkin...@googlegroups.com.
To view this discussion on the web visit <a href="https://groups.google.com/d/msgid/jenkinsci-dev/C643B021-1451-4E76-921B-CD9543BA2C86%40beckweb.net" rel="nofollow" target="_blank" onmousedown="this.href=&#39;https://groups.google.com/d/msgid/jenkinsci-dev/C643B021-1451-4E76-921B-CD9543BA2C86%40beckweb.net&#39;;return true;" onclick="this.href=&#39;https://groups.google.com/d/msgid/jenkinsci-dev/C643B021-1451-4E76-921B-CD9543BA2C86%40beckweb.net&#39;;return true;">https://groups.google.com/d/msgid/jenkinsci-dev/C643B021-1451-4E76-921B-CD9543BA2C86%40beckweb.net.


--
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 <a href="javascript:" target="_blank" gdf-obfuscated-mailto="asRXmzIbAQAJ" rel="nofollow" onmousedown="this.href=&#39;javascript:&#39;;return true;" onclick="this.href=&#39;javascript:&#39;;return true;">jenkin...@googlegroups.com.
To view this discussion on the web visit <a href="https://groups.google.com/d/msgid/jenkinsci-dev/CAPfivLDBoybSRFz4Lsmo_kynGT-BqknBPK%2BjGS87-tO5hZnnuw%40mail.gmail.com?utm_medium=email&amp;utm_source=footer" target="_blank" rel="nofollow" onmousedown="this.href=&#39;https://groups.google.com/d/msgid/jenkinsci-dev/CAPfivLDBoybSRFz4Lsmo_kynGT-BqknBPK%2BjGS87-tO5hZnnuw%40mail.gmail.com?utm_medium\x3demail\x26utm_source\x3dfooter&#39;;return true;" onclick="this.href=&#39;https://groups.google.com/d/msgid/jenkinsci-dev/CAPfivLDBoybSRFz4Lsmo_kynGT-BqknBPK%2BjGS87-tO5hZnnuw%40mail.gmail.com?utm_medium\x3demail\x26utm_source\x3dfooter&#39;;return true;">https://groups.google.com/d/msgid/jenkinsci-dev/CAPfivLDBoybSRFz4Lsmo_kynGT-BqknBPK%2BjGS87-tO5hZnnuw%40mail.gmail.com.

--
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 [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/2f1f1308-60c9-42cf-8ed0-129e5fd98e28%40googlegroups.com.
Reply | Threaded
Open this post in threaded view
|

Re: Proposal: Windows support policy for Jenkins

Oleg Nenashev
The policy draft was approved at the last governance meeting. After it there were some changes in the plull request, mostly spelling ones. The only notable change is moving Windows 10 amd-64 support from Tier 1 to Tier 2, because we do not actually test it in our CICD flows.

Tier 2 still means "supported", so I think we are fine. Is everyone fine with merging the support policy?

Thanks in advance,
Oleg




On Tuesday, May 19, 2020 at 3:13:10 PM UTC+2, Oleg Nenashev wrote:
Hi all,

I have submitted a pull request with a draft policy: <a href="https://github.com/jenkins-infra/jenkins.io/pull/3295" target="_blank" rel="nofollow" onmousedown="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fgithub.com%2Fjenkins-infra%2Fjenkins.io%2Fpull%2F3295\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNG8JMlNFxJfO3baTiIUM4bJ44SnXw&#39;;return true;" onclick="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fgithub.com%2Fjenkins-infra%2Fjenkins.io%2Fpull%2F3295\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNG8JMlNFxJfO3baTiIUM4bJ44SnXw&#39;;return true;">https://github.com/jenkins-infra/jenkins.io/pull/3295 .
I will appreciate any feedback from those who is running Jenkins on Windows.

Best regards,
Oleg

On Tuesday, April 14, 2020 at 3:02:04 PM UTC+2, Olblak wrote:
I like Oleg proposition very much as it clarifies the different levels of support, and it solves Daniel concerned.
We won't run any tests on deprecated infrastructure like XP.

On Tue, Apr 14, 2020, at 12:41 PM, Oleg Nenashev wrote:
Taking the feedback, should we introduce support levels like we do with the browser support policy?

* Level 1 - full support. We run automated testing for these platforms 
  - amd64 versions of latest Windows and Windows Server versions, with the latest GA update pack (we will need to specify editions in the final policy)
  - versions in our soon-to-be-official Docker packages (at the moment: windowsservercore and nanoserver 1809)
* Level 2 - generally supported. We do not actively test it, but we intend to keep compatibility, and we are happy to accept patches
  - Windows and Windows Server 64bit versions which are generally supported by MS
* Level 3 - Best effort - We will consider patches if they do not put Level 1/2 support at risk and if they do not create bug maintenance overhead. Support may have limitations and extra requirements. We do not test compatibility, and we may drop support if there is a need
  - x86 and other non-amd64 architectures
  - "exotic" windows versions like Windows Embedded
  - Preview releases and updates by Microsoft
  - Windows API emulation systems like Wine or ReactOS
* Level 4 - Unsupported
  - Platforms and OS versions which are known to be incompatible or which have severe limitations

Best regards,
Oleg




On Sat, Apr 11, 2020, 02:05 Daniel Beck <[hidden email]> wrote:


> On 10. Apr 2020, at 14:26, Oleg Nenashev <[hidden email]> wrote:
>
> I know for sure that there are Jenkins users running on Windows XP

That's no reason to enable this insanity.

I would advocate for just going with what's generally supported by Microsoft: Extended support would be in, "throwing bags of money at Microsoft" support is out, i.e. Windows 7 would have been unsupported since January.

This approach would also address the problem of not having to manually keep the policy up to date. As we've seen with the browser support policy, nobody will update it.
Additionally, this has the benefit of being fairly objective criteria, and would also save us from having to have this conversation again in two years.

(And TBH I would just ignore Windows Embedded Industry, seems like a lot of effort for very few users.)

Note also that this doesn't mean that Jenkins on these OSes would necessarily immediately break. If there's a new enough .NET Framework or whatever on Windows 7, and there's no reason to go with something newer, then Windows 7 will just continue to work. But users would know that they cannot indefinitely rely on it.

Obviously I'm +1 for whatever makes it easier for you to support these components, even if it's just small steps.

--
You received this message because you are subscribed to a topic in the Google Groups "Jenkins Developers" group.
To unsubscribe from this topic, visit <a href="https://groups.google.com/d/topic/jenkinsci-dev/oK8pBCzPPpo/unsubscribe" rel="nofollow" target="_blank" onmousedown="this.href=&#39;https://groups.google.com/d/topic/jenkinsci-dev/oK8pBCzPPpo/unsubscribe&#39;;return true;" onclick="this.href=&#39;https://groups.google.com/d/topic/jenkinsci-dev/oK8pBCzPPpo/unsubscribe&#39;;return true;">https://groups.google.com/d/topic/jenkinsci-dev/oK8pBCzPPpo/unsubscribe.
To unsubscribe from this group and all its topics, send an email to [hidden email].
To view this discussion on the web visit <a href="https://groups.google.com/d/msgid/jenkinsci-dev/C643B021-1451-4E76-921B-CD9543BA2C86%40beckweb.net" rel="nofollow" target="_blank" onmousedown="this.href=&#39;https://groups.google.com/d/msgid/jenkinsci-dev/C643B021-1451-4E76-921B-CD9543BA2C86%40beckweb.net&#39;;return true;" onclick="this.href=&#39;https://groups.google.com/d/msgid/jenkinsci-dev/C643B021-1451-4E76-921B-CD9543BA2C86%40beckweb.net&#39;;return true;">https://groups.google.com/d/msgid/jenkinsci-dev/C643B021-1451-4E76-921B-CD9543BA2C86%40beckweb.net.


--
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 [hidden email].
To view this discussion on the web visit <a href="https://groups.google.com/d/msgid/jenkinsci-dev/CAPfivLDBoybSRFz4Lsmo_kynGT-BqknBPK%2BjGS87-tO5hZnnuw%40mail.gmail.com?utm_medium=email&amp;utm_source=footer" rel="nofollow" target="_blank" onmousedown="this.href=&#39;https://groups.google.com/d/msgid/jenkinsci-dev/CAPfivLDBoybSRFz4Lsmo_kynGT-BqknBPK%2BjGS87-tO5hZnnuw%40mail.gmail.com?utm_medium\x3demail\x26utm_source\x3dfooter&#39;;return true;" onclick="this.href=&#39;https://groups.google.com/d/msgid/jenkinsci-dev/CAPfivLDBoybSRFz4Lsmo_kynGT-BqknBPK%2BjGS87-tO5hZnnuw%40mail.gmail.com?utm_medium\x3demail\x26utm_source\x3dfooter&#39;;return true;">https://groups.google.com/d/msgid/jenkinsci-dev/CAPfivLDBoybSRFz4Lsmo_kynGT-BqknBPK%2BjGS87-tO5hZnnuw%40mail.gmail.com.

--
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 [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/378e4ac0-495b-4a40-9224-c6b818ee6b6b%40googlegroups.com.
Reply | Threaded
Open this post in threaded view
|

Re: Proposal: Windows support policy for Jenkins

Mark Waite-2
+1 from me.  I test Windows 10 more than I test any other Windows version.  I'm quite fine with it being Tier 1 or Tier 2.  Either is fine with me.

On Thursday, May 28, 2020 at 1:14:55 PM UTC-6, Oleg Nenashev wrote:
The policy draft was approved at the last governance meeting. After it there were some changes in the pull request, mostly spelling ones. The only notable change is moving Windows 10 amd-64 support from Tier 1 to Tier 2, because we do not actually test it in our CICD flows.

Tier 2 still means "supported", so I think we are fine. Is everyone fine with merging the support policy?

Thanks in advance,
Oleg




On Tuesday, May 19, 2020 at 3:13:10 PM UTC+2, Oleg Nenashev wrote:
Hi all,

I have submitted a pull request with a draft policy: <a href="https://github.com/jenkins-infra/jenkins.io/pull/3295" rel="nofollow" target="_blank" onmousedown="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fgithub.com%2Fjenkins-infra%2Fjenkins.io%2Fpull%2F3295\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNG8JMlNFxJfO3baTiIUM4bJ44SnXw&#39;;return true;" onclick="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fgithub.com%2Fjenkins-infra%2Fjenkins.io%2Fpull%2F3295\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNG8JMlNFxJfO3baTiIUM4bJ44SnXw&#39;;return true;">https://github.com/jenkins-infra/jenkins.io/pull/3295 .
I will appreciate any feedback from those who is running Jenkins on Windows.

Best regards,
Oleg

On Tuesday, April 14, 2020 at 3:02:04 PM UTC+2, Olblak wrote:
I like Oleg proposition very much as it clarifies the different levels of support, and it solves Daniel concerned.
We won't run any tests on deprecated infrastructure like XP.

On Tue, Apr 14, 2020, at 12:41 PM, Oleg Nenashev wrote:
Taking the feedback, should we introduce support levels like we do with the browser support policy?

* Level 1 - full support. We run automated testing for these platforms 
  - amd64 versions of latest Windows and Windows Server versions, with the latest GA update pack (we will need to specify editions in the final policy)
  - versions in our soon-to-be-official Docker packages (at the moment: windowsservercore and nanoserver 1809)
* Level 2 - generally supported. We do not actively test it, but we intend to keep compatibility, and we are happy to accept patches
  - Windows and Windows Server 64bit versions which are generally supported by MS
* Level 3 - Best effort - We will consider patches if they do not put Level 1/2 support at risk and if they do not create bug maintenance overhead. Support may have limitations and extra requirements. We do not test compatibility, and we may drop support if there is a need
  - x86 and other non-amd64 architectures
  - "exotic" windows versions like Windows Embedded
  - Preview releases and updates by Microsoft
  - Windows API emulation systems like Wine or ReactOS
* Level 4 - Unsupported
  - Platforms and OS versions which are known to be incompatible or which have severe limitations

Best regards,
Oleg




On Sat, Apr 11, 2020, 02:05 Daniel Beck <[hidden email]> wrote:


> On 10. Apr 2020, at 14:26, Oleg Nenashev <[hidden email]> wrote:
>
> I know for sure that there are Jenkins users running on Windows XP

That's no reason to enable this insanity.

I would advocate for just going with what's generally supported by Microsoft: Extended support would be in, "throwing bags of money at Microsoft" support is out, i.e. Windows 7 would have been unsupported since January.

This approach would also address the problem of not having to manually keep the policy up to date. As we've seen with the browser support policy, nobody will update it.
Additionally, this has the benefit of being fairly objective criteria, and would also save us from having to have this conversation again in two years.

(And TBH I would just ignore Windows Embedded Industry, seems like a lot of effort for very few users.)

Note also that this doesn't mean that Jenkins on these OSes would necessarily immediately break. If there's a new enough .NET Framework or whatever on Windows 7, and there's no reason to go with something newer, then Windows 7 will just continue to work. But users would know that they cannot indefinitely rely on it.

Obviously I'm +1 for whatever makes it easier for you to support these components, even if it's just small steps.

--
You received this message because you are subscribed to a topic in the Google Groups "Jenkins Developers" group.
To unsubscribe from this topic, visit <a href="https://groups.google.com/d/topic/jenkinsci-dev/oK8pBCzPPpo/unsubscribe" rel="nofollow" target="_blank" onmousedown="this.href=&#39;https://groups.google.com/d/topic/jenkinsci-dev/oK8pBCzPPpo/unsubscribe&#39;;return true;" onclick="this.href=&#39;https://groups.google.com/d/topic/jenkinsci-dev/oK8pBCzPPpo/unsubscribe&#39;;return true;">https://groups.google.com/d/topic/jenkinsci-dev/oK8pBCzPPpo/unsubscribe.
To unsubscribe from this group and all its topics, send an email to [hidden email].
To view this discussion on the web visit <a href="https://groups.google.com/d/msgid/jenkinsci-dev/C643B021-1451-4E76-921B-CD9543BA2C86%40beckweb.net" rel="nofollow" target="_blank" onmousedown="this.href=&#39;https://groups.google.com/d/msgid/jenkinsci-dev/C643B021-1451-4E76-921B-CD9543BA2C86%40beckweb.net&#39;;return true;" onclick="this.href=&#39;https://groups.google.com/d/msgid/jenkinsci-dev/C643B021-1451-4E76-921B-CD9543BA2C86%40beckweb.net&#39;;return true;">https://groups.google.com/d/msgid/jenkinsci-dev/C643B021-1451-4E76-921B-CD9543BA2C86%40beckweb.net.


--
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 [hidden email].
To view this discussion on the web visit <a href="https://groups.google.com/d/msgid/jenkinsci-dev/CAPfivLDBoybSRFz4Lsmo_kynGT-BqknBPK%2BjGS87-tO5hZnnuw%40mail.gmail.com?utm_medium=email&amp;utm_source=footer" rel="nofollow" target="_blank" onmousedown="this.href=&#39;https://groups.google.com/d/msgid/jenkinsci-dev/CAPfivLDBoybSRFz4Lsmo_kynGT-BqknBPK%2BjGS87-tO5hZnnuw%40mail.gmail.com?utm_medium\x3demail\x26utm_source\x3dfooter&#39;;return true;" onclick="this.href=&#39;https://groups.google.com/d/msgid/jenkinsci-dev/CAPfivLDBoybSRFz4Lsmo_kynGT-BqknBPK%2BjGS87-tO5hZnnuw%40mail.gmail.com?utm_medium\x3demail\x26utm_source\x3dfooter&#39;;return true;">https://groups.google.com/d/msgid/jenkinsci-dev/CAPfivLDBoybSRFz4Lsmo_kynGT-BqknBPK%2BjGS87-tO5hZnnuw%40mail.gmail.com.

--
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 [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/59b6074d-f484-4afc-bb7f-8f768200a59a%40googlegroups.com.
Reply | Threaded
Open this post in threaded view
|

Re: Proposal: Windows support policy for Jenkins

slide
It's possible we could test on a Windows 10 VM on Azure/AWS. I could look into that.

On Thu, May 28, 2020 at 12:46 PM Mark Waite <[hidden email]> wrote:
+1 from me.  I test Windows 10 more than I test any other Windows version.  I'm quite fine with it being Tier 1 or Tier 2.  Either is fine with me.

On Thursday, May 28, 2020 at 1:14:55 PM UTC-6, Oleg Nenashev wrote:
The policy draft was approved at the last governance meeting. After it there were some changes in the pull request, mostly spelling ones. The only notable change is moving Windows 10 amd-64 support from Tier 1 to Tier 2, because we do not actually test it in our CICD flows.

Tier 2 still means "supported", so I think we are fine. Is everyone fine with merging the support policy?

Thanks in advance,
Oleg




On Tuesday, May 19, 2020 at 3:13:10 PM UTC+2, Oleg Nenashev wrote:
Hi all,

I have submitted a pull request with a draft policy: https://github.com/jenkins-infra/jenkins.io/pull/3295 .
I will appreciate any feedback from those who is running Jenkins on Windows.

Best regards,
Oleg

On Tuesday, April 14, 2020 at 3:02:04 PM UTC+2, Olblak wrote:
I like Oleg proposition very much as it clarifies the different levels of support, and it solves Daniel concerned.
We won't run any tests on deprecated infrastructure like XP.

On Tue, Apr 14, 2020, at 12:41 PM, Oleg Nenashev wrote:
Taking the feedback, should we introduce support levels like we do with the browser support policy?

* Level 1 - full support. We run automated testing for these platforms 
  - amd64 versions of latest Windows and Windows Server versions, with the latest GA update pack (we will need to specify editions in the final policy)
  - versions in our soon-to-be-official Docker packages (at the moment: windowsservercore and nanoserver 1809)
* Level 2 - generally supported. We do not actively test it, but we intend to keep compatibility, and we are happy to accept patches
  - Windows and Windows Server 64bit versions which are generally supported by MS
* Level 3 - Best effort - We will consider patches if they do not put Level 1/2 support at risk and if they do not create bug maintenance overhead. Support may have limitations and extra requirements. We do not test compatibility, and we may drop support if there is a need
  - x86 and other non-amd64 architectures
  - "exotic" windows versions like Windows Embedded
  - Preview releases and updates by Microsoft
  - Windows API emulation systems like Wine or ReactOS
* Level 4 - Unsupported
  - Platforms and OS versions which are known to be incompatible or which have severe limitations

Best regards,
Oleg




On Sat, Apr 11, 2020, 02:05 Daniel Beck <[hidden email]> wrote:


> On 10. Apr 2020, at 14:26, Oleg Nenashev <[hidden email]> wrote:
>
> I know for sure that there are Jenkins users running on Windows XP

That's no reason to enable this insanity.

I would advocate for just going with what's generally supported by Microsoft: Extended support would be in, "throwing bags of money at Microsoft" support is out, i.e. Windows 7 would have been unsupported since January.

This approach would also address the problem of not having to manually keep the policy up to date. As we've seen with the browser support policy, nobody will update it.
Additionally, this has the benefit of being fairly objective criteria, and would also save us from having to have this conversation again in two years.

(And TBH I would just ignore Windows Embedded Industry, seems like a lot of effort for very few users.)

Note also that this doesn't mean that Jenkins on these OSes would necessarily immediately break. If there's a new enough .NET Framework or whatever on Windows 7, and there's no reason to go with something newer, then Windows 7 will just continue to work. But users would know that they cannot indefinitely rely on it.

Obviously I'm +1 for whatever makes it easier for you to support these components, even if it's just small steps.

--
You received this message because you are subscribed to a topic in the Google Groups "Jenkins Developers" group.
To unsubscribe from this group and all its topics, send an email to [hidden email].


--
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 [hidden email].

--
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 [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/59b6074d-f484-4afc-bb7f-8f768200a59a%40googlegroups.com.


--

--
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 [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/CAPiUgVeEj3P07bU-ihoajOwjJq2gw%2B8ij-Sa2-i3LT4FLe6vDw%40mail.gmail.com.
Reply | Threaded
Open this post in threaded view
|

Re: Proposal: Windows support policy for Jenkins

Tim Van Holder
In reply to this post by Oleg Nenashev
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 <a href="https://github.com/winsw/winsw" target="_blank" rel="nofollow" onmousedown="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fgithub.com%2Fwinsw%2Fwinsw\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGZy4Lvz5OLVsh7G9M3hD78zTN6Dg&#39;;return true;" onclick="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fgithub.com%2Fwinsw%2Fwinsw\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGZy4Lvz5OLVsh7G9M3hD78zTN6Dg&#39;;return true;">Windows Service Wrapper (WinSW) and <a href="https://github.com/kohsuke/winp" target="_blank" rel="nofollow" onmousedown="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fgithub.com%2Fkohsuke%2Fwinp\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNHPvzL1x1MXIN219uFwq0-4kxLLYg&#39;;return true;" onclick="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fgithub.com%2Fkohsuke%2Fwinp\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNHPvzL1x1MXIN219uFwq0-4kxLLYg&#39;;return true;">Windows Process Management Library (WinP), which depend on Windows versions and, in the case of windows services, on .NET Framework.

In the <a href="https://jenkins.io/sigs/platform/" target="_blank" rel="nofollow" onmousedown="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fjenkins.io%2Fsigs%2Fplatform%2F\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGMoowL_sP9Eh2CDajb1nFJYcnbEg&#39;;return true;" onclick="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fjenkins.io%2Fsigs%2Fplatform%2F\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGMoowL_sP9Eh2CDajb1nFJYcnbEg&#39;;return true;">Jenkins Platform SIG 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 (<a href="https://www.techrepublic.com/article/windows-xp-dies-final-death-as-embedded-posready-2009-reaches-end-of-life/" target="_blank" rel="nofollow" onmousedown="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fwww.techrepublic.com%2Farticle%2Fwindows-xp-dies-final-death-as-embedded-posready-2009-reaches-end-of-life%2F\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNEKzyd1TW-0cVPJ6lyORND6DoaCmA&#39;;return true;" onclick="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fwww.techrepublic.com%2Farticle%2Fwindows-xp-dies-final-death-as-embedded-posready-2009-reaches-end-of-life%2F\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNEKzyd1TW-0cVPJ6lyORND6DoaCmA&#39;;return true;">WinXP Exmbedded POSReady), 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 <a href="https://jenkins.io/project/roadmap/" target="_blank" rel="nofollow" onmousedown="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fjenkins.io%2Fproject%2Froadmap%2F\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNHesepNhorHd8BuwVyVY35pAkGefw&#39;;return true;" onclick="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fjenkins.io%2Fproject%2Froadmap%2F\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNHesepNhorHd8BuwVyVY35pAkGefw&#39;;return true;">Jenkins Roadmap. I also created a <a href="https://issues.jenkins-ci.org/browse/JENKINS-61865" target="_blank" rel="nofollow" onmousedown="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fissues.jenkins-ci.org%2Fbrowse%2FJENKINS-61865\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGpUa3W2j7rzE9CwdtAayQ7dchMXw&#39;;return true;" onclick="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fissues.jenkins-ci.org%2Fbrowse%2FJENKINS-61865\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGpUa3W2j7rzE9CwdtAayQ7dchMXw&#39;;return true;">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 the Google Groups "Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/63f4cfe7-c9a8-44ec-9021-c2f3caa93d86%40googlegroups.com.
Reply | Threaded
Open this post in threaded view
|

Re: Proposal: Windows support policy for Jenkins

Oleg Nenashev
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 <[hidden email]> 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) and Windows Process Management Library (WinP), which depend on Windows versions and, in the case of windows services, on .NET Framework.

In the Jenkins Platform SIG 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), 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. I also created a 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.
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 [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/63f4cfe7-c9a8-44ec-9021-c2f3caa93d86%40googlegroups.com.

--
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 [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/CAPfivLBDAO8w3n4Sxq5HBpbWUio8cM0N2hGv3YmPizvav361mw%40mail.gmail.com.
Reply | Threaded
Open this post in threaded view
|

Re: Proposal: Windows support policy for Jenkins

James Nord-2
In reply to this post by slide
I'm not sure it's just a technical issue.

last I was working in this area there where licensing issues around running Windows 10 in VMs (when you run the windows Amis in Aws you also pay the license for the software, same for GCP Azure etc).  Thus we would need to have our own licenses for all these VMS and could not scale on demand.
Then there is the question if which windows 10, the just released 2004, or any of the earlier but still supported versions.  They all have their quirks (esp SSH for agents).

I'm one of the minority that develops and tests on Windows, and normally a big advocate for putting windows in CI so it's not me finding all the build issues, but as far as win10 in the build farm is concerned I think we're on the path of diminishing returns.

--
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 [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/75bb8d8d-0fe6-4eae-a2e0-c851147d070f%40googlegroups.com.
Reply | Threaded
Open this post in threaded view
|

Re: Proposal: Windows support policy for Jenkins

Oleg Nenashev
Anyway, at the governance meeting we agreed to keep the Windows 10 support as Level 2 for now.
Later we can move it to Level 1 if/when we have enough test coverage there.

On Wednesday, June 3, 2020 at 11:11:33 PM UTC+2, James Nord wrote:
I'm not sure it's just a technical issue.

last I was working in this area there where licensing issues around running Windows 10 in VMs (when you run the windows Amis in Aws you also pay the license for the software, same for GCP Azure etc).  Thus we would need to have our own licenses for all these VMS and could not scale on demand.
Then there is the question if which windows 10, the just released 2004, or any of the earlier but still supported versions.  They all have their quirks (esp SSH for agents).

I'm one of the minority that develops and tests on Windows, and normally a big advocate for putting windows in CI so it's not me finding all the build issues, but as far as win10 in the build farm is concerned I think we're on the path of diminishing returns.

--
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 [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/4b704f09-dde3-4b5a-9ddf-d9593eec0c1f%40googlegroups.com.