<!DOCTYPE html>
<!--[if lt IE 7]>      <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if IE 7]>         <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
<!--[if IE 8]>         <html class="no-js lt-ie9"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]--><head>
    <meta charset='utf-8'/><meta http-equiv='X-UA-Compatible' content='IE=edge'/><meta name='viewport' content='width=device-width, initial-scale=1'/><title>The Apache Groovy programming language - Continuous integration</title><link href='img/favicon.ico' type='image/x-ico' rel='icon'/><link rel='stylesheet' type='text/css' href='css/bootstrap.css'/><link rel='stylesheet' type='text/css' href='css/font-awesome.min.css'/><link rel='stylesheet' type='text/css' href='css/style.css'/>
</head><body>
    <div id='fork-me'>
        <a href='https://github.com/apache/groovy'>
            <img style='position: fixed; top: 20px; right: -58px; border: 0; z-index: 100; transform: rotate(45deg);' src='/img/horizontal-github-ribbon.png'/>
        </a>
    </div><div id='st-container' class='st-container st-effect-9'>
        <nav class='st-menu st-effect-9' id='menu-12'>
            <h2 class='icon icon-lab'>Socialize</h2><ul>
                <li>
                    <a href='http://groovy-lang.org/mailing-lists.html' class='icon'><span class='fa fa-envelope'></span> Discuss on the mailing-list</a>
                </li><li>
                    <a href='https://twitter.com/ApacheGroovy' class='icon'><span class='fa fa-twitter'></span> Groovy on Twitter</a>
                </li><li>
                    <a href='http://groovy-lang.org/events.html' class='icon'><span class='fa fa-calendar'></span> Events and conferences</a>
                </li><li>
                    <a href='https://github.com/apache/groovy' class='icon'><span class='fa fa-github'></span> Source code on GitHub</a>
                </li><li>
                    <a href='http://groovy-lang.org/reporting-issues.html' class='icon'><span class='fa fa-bug'></span> Report issues in Jira</a>
                </li><li>
                    <a href='http://stackoverflow.com/questions/tagged/groovy' class='icon'><span class='fa fa-stack-overflow'></span> Stack Overflow questions</a>
                </li><li>
                    <a href='http://groovycommunity.com/' class='icon'><span class='fa fa-slack'></span> Slack Community</a>
                </li>
            </ul>
        </nav><div class='st-pusher'>
            <div class='st-content'>
                <div class='st-content-inner'>
                    <!--[if lt IE 7]>
                    <p class="browsehappy">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</p>
                <![endif]--><div><div class='navbar navbar-default navbar-static-top' role='navigation'>
                            <div class='container'>
                                <div class='navbar-header'>
                                    <button type='button' class='navbar-toggle' data-toggle='collapse' data-target='.navbar-collapse'>
                                        <span class='sr-only'></span><span class='icon-bar'></span><span class='icon-bar'></span><span class='icon-bar'></span>
                                    </button><a class='navbar-brand' href='index.html'>
                                        <i class='fa fa-star'></i> Apache Groovy
                                    </a>
                                </div><div class='navbar-collapse collapse'>
                                    <ul class='nav navbar-nav navbar-right'>
                                        <li class=''><a href='http://groovy-lang.org/learn.html'>Learn</a></li><li class=''><a href='http://groovy-lang.org/documentation.html'>Documentation</a></li><li class=''><a href='/download.html'>Download</a></li><li class=''><a href='http://groovy-lang.org/support.html'>Support</a></li><li class=''><a href='/'>Contribute</a></li><li class=''><a href='http://groovy-lang.org/ecosystem.html'>Ecosystem</a></li><li class=''><a href='/events.html'></a></li><li>
                                            <a data-effect='st-effect-9' class='st-trigger' href='#'>Socialize</a>
                                        </li><li class=''>
                                            <a href='search.html'>
                                                <i class='fa fa-search'></i>
                                            </a>
                                        </li>
                                    </ul>
                                </div>
                            </div>
                        </div><div id='content' class='page-1'><div class='row'><div class='row-fluid'><div class='col-lg-8 col-lg-pull-0'><div id='contribute-btn'>
                                            <button type='button' class='btn btn-default' onclick='window.location.href="https://github.com/apache/groovy-website/tree/asf-site/site/src/site/pages/buildstatus.groovy"'>
                                                <i class='fa fa-pencil-square-o'></i> Improve this doc
                                            </button>
                                        </div><h1><i class='fa fa-circle-o-notch'></i> Continuous integration</h1><article><p>
                                    Our <a href='http://ci.groovy-lang.org?guest=1'>continuous integration server</a>,
                                    sponsored by <a href='http://www.jetbrains.com'>JetBrains</a>,
                                    builds Groovy against multiple JDK versions, as well as some projects from the community tested
                                    against development versions of Groovy:
                                </p><hr class='divider'/><h2>Groovy builds</h2><table class='table table-stripped'><thead><tr><th>Build name</th><th>Status</th></tr></thead><tbody><tr><td>Groovy master, JDK 11</td><td><a href='https://ci.groovy-lang.org/viewType.html?buildTypeId=MasterTestAllJdk11&tab=buildTypeStatusDiv&guest=1'><img src='https://ci.groovy-lang.org/app/rest/builds/buildType:(id:MasterTestAllJdk11)/statusIcon'/></a></td></tr><tr><td>Groovy master, JDK 8</td><td><a href='https://ci.groovy-lang.org/viewType.html?buildTypeId=MasterTestAllJdk8&tab=buildTypeStatusDiv&guest=1'><img src='https://ci.groovy-lang.org/app/rest/builds/buildType:(id:MasterTestAllJdk8)/statusIcon'/></a></td></tr><tr><td>Groovy 3.0.X, JDK 8</td><td><a href='https://ci.groovy-lang.org/viewType.html?buildTypeId=Groovy30xTestAllJdk8&tab=buildTypeStatusDiv&guest=1'><img src='https://ci.groovy-lang.org/app/rest/builds/buildType:(id:Groovy30xTestAllJdk8)/statusIcon'/></a></td></tr><tr><td>Groovy 2.5.X, JDK 8</td><td><a href='https://ci.groovy-lang.org/viewType.html?buildTypeId=Groovy25xCheckJdk8&tab=buildTypeStatusDiv&guest=1'><img src='https://ci.groovy-lang.org/app/rest/builds/buildType:(id:Groovy25xCheckJdk8)/statusIcon'/></a></td></tr><tr><td>Groovy 2.5.X, JDK 11</td><td><a href='https://ci.groovy-lang.org/viewType.html?buildTypeId=Groovy25xCheckJdk11&tab=buildTypeStatusDiv&guest=1'><img src='https://ci.groovy-lang.org/app/rest/builds/buildType:(id:Groovy25xCheckJdk11)/statusIcon'/></a></td></tr><tr><td>Groovy 2.4.X, JDK 8</td><td><a href='https://ci.groovy-lang.org/viewType.html?buildTypeId=Groovy24xCheckJdk8&tab=buildTypeStatusDiv&guest=1'><img src='https://ci.groovy-lang.org/app/rest/builds/buildType:(id:Groovy24xCheckJdk8)/statusIcon'/></a></td></tr></tbody></table><hr class='divider'/><h2>Community joint builds</h2><table class='table table-stripped'><thead><tr><th>Build name</th><th>Status</th></tr></thead><tbody><tr><td>Grails 3.2.x, Groovy 2.4.X</td><td><a href='https://ci.groovy-lang.org/viewType.html?buildTypeId=JointBuilds_Grails_Grails32x_Groovy24x&tab=buildTypeStatusDiv&guest=1'><img src='https://ci.groovy-lang.org/app/rest/builds/buildType:(id:JointBuilds_Grails_Grails32x_Groovy24x)/statusIcon'/></a></td></tr><tr><td>GORM 6.1.x, Groovy 2.4.X</td><td><a href='https://ci.groovy-lang.org/viewType.html?buildTypeId=JointBuilds_Grails_Gorm61xGroovy24x&tab=buildTypeStatusDiv&guest=1'><img src='https://ci.groovy-lang.org/app/rest/builds/buildType:(id:JointBuilds_Grails_Gorm61xGroovy24x)/statusIcon'/></a></td></tr><tr><td>Nextflow master, Groovy 2.4.X</td><td><a href='https://ci.groovy-lang.org/viewType.html?buildTypeId=JointBuilds_Nextflow_Groovy24xJointBuild&tab=buildTypeStatusDiv&guest=1'><img src='https://ci.groovy-lang.org/app/rest/builds/buildType:(id:JointBuilds_Nextflow_Groovy24xJointBuild)/statusIcon'/></a></td></tr><tr><td>Ratpack master, Groovy 2.4.X</td><td><a href='https://ci.groovy-lang.org/viewType.html?buildTypeId=JointBuilds_Ratpac_RatpackGroovy24x&tab=buildTypeStatusDiv&guest=1'><img src='https://ci.groovy-lang.org/app/rest/builds/buildType:(id:JointBuilds_Ratpac_RatpackGroovy24x)/statusIcon'/></a></td></tr></tbody></table><p>
                                    The Groovy development team is keen to test Groovy development versions against important
                                    ecosystem projects. If you want your project to be added to the list, please contact
                                    us on the <a href='http://groovy-lang.org/mailing-lists.html'>development mailing list</a>.
                                </p></article></div></div></div></div><footer id='footer'>
                            <div class='row'>
                                <div class='colset-3-footer'>
                                    <div class='col-1'>
                                        <h1>Groovy</h1><ul>
                                            <li><a href='http://groovy-lang.org/learn.html'>Learn</a></li><li><a href='http://groovy-lang.org/documentation.html'>Documentation</a></li><li><a href='/download.html'>Download</a></li><li><a href='http://groovy-lang.org/support.html'>Support</a></li><li><a href='/'>Contribute</a></li><li><a href='http://groovy-lang.org/ecosystem.html'>Ecosystem</a></li><li><a href='/events.html'></a></li>
                                        </ul>
                                    </div><div class='col-2'>
                                        <h1>About</h1><ul>
                                            <li><a href='https://github.com/apache/groovy'>Source code</a></li><li><a href='http://groovy-lang.org/security.html'>Security</a></li><li><a href='http://groovy-lang.org/learn.html#books'>Books</a></li><li><a href='http://groovy-lang.org/thanks.html'>Thanks</a></li><li><a href='http://www.apache.org/foundation/sponsorship.html'>Sponsorship</a></li><li><a href='http://groovy-lang.org/faq.html'>FAQ</a></li><li><a href='http://groovy-lang.org/search.html'>Search</a></li>
                                        </ul>
                                    </div><div class='col-3'>
                                        <h1>Socialize</h1><ul>
                                            <li><a href='http://groovy-lang.org/mailing-lists.html'>Discuss on the mailing-list</a></li><li><a href='https://twitter.com/ApacheGroovy'>Groovy on Twitter</a></li><li><a href='http://groovy-lang.org/events.html'>Events and conferences</a></li><li><a href='https://github.com/apache/groovy'>Source code on GitHub</a></li><li><a href='http://groovy-lang.org/reporting-issues.html'>Report issues in Jira</a></li><li><a href='http://stackoverflow.com/questions/tagged/groovy'>Stack Overflow questions</a></li><li><a href='http://groovycommunity.com/'>Slack Community</a></li>
                                        </ul>
                                    </div><div class='col-right'>
                                        <p>
                                            The Groovy programming language is supported by the <a href='http://www.apache.org'>Apache Software Foundation</a> and the Groovy community.
                                        </p><div text-align='right'>
                                            <img src='img/asf_logo.png' title='The Apache Software Foundation' alt='The Apache Software Foundation' style='width:60%'/>
                                        </div><p>Apache&reg; and the Apache feather logo are either registered trademarks or trademarks of The Apache Software Foundation.</p>
                                    </div>
                                </div><div class='clearfix'>&copy; 2003-2022 the Apache Groovy project &mdash; Groovy is Open Source: <a href='http://www.apache.org/licenses/LICENSE-2.0.html' alt='Apache 2 License'>license</a>, <a href='https://privacy.apache.org/policies/privacy-policy-public.html'>privacy policy</a>.</div>
                            </div>
                        </footer></div>
                </div>
            </div>
        </div>
    </div><script src='js/vendor/jquery-1.10.2.min.js' defer></script><script src='js/vendor/classie.js' defer></script><script src='js/vendor/bootstrap.js' defer></script><script src='js/vendor/sidebarEffects.js' defer></script><script src='js/vendor/modernizr-2.6.2.min.js' defer></script><script src='js/plugins.js' defer></script><script>
          (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
          (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
          m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
          })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

          ga('create', 'UA-257558-10', 'auto');
          ga('send', 'pageview');
    </script>
</body></html>