Proposal: Windows support policy for Jenkins

classic Classic list List threaded Threaded
11 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

ben732@gmail.com
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.