You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@netbeans.apache.org by mb...@apache.org on 2023/02/27 22:46:53 UTC
[netbeans] branch master updated: switch CI from release to full cluster config.
This is an automated email from the ASF dual-hosted git repository.
mbien pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/netbeans.git
The following commit(s) were added to refs/heads/master by this push:
new 63e6894b35 switch CI from release to full cluster config.
new df0c22a07a Merge pull request #5568 from mbien/switch-to-full
63e6894b35 is described below
commit 63e6894b359f0ee83429336a9f52caf3701cc78b
Author: Michael Bien <mb...@gmail.com>
AuthorDate: Sun Feb 26 21:30:28 2023 +0100
switch CI from release to full cluster config.
- both configs have the same set of clusters at the moment
- allows us to test more clusters than those which are in the release
config
- updated README
- clusters.properties cleanup
---
.github/workflows/main.yml | 15 +-
README.md | 12 +-
.../org/netbeans/nbbuild/CheckModuleConfigs.java | 8 +-
nbbuild/cluster.properties | 360 +--------------------
4 files changed, 32 insertions(+), 363 deletions(-)
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 0424fc88e6..6a074772ab 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -36,6 +36,9 @@ env:
-Dmetabuild.jsonurl=https://raw.githubusercontent.com/apache/netbeans-jenkins-lib/master/meta/netbeansrelease.json
-Dtest-unit-sys-prop.ignore.random.failures=true
+ # what to build and test, see nbbuild/cluster.properties
+ CLUSTER_CONFIG: 'full'
+
# flags for conditional, long running steps or jobs configurable with labels. If this is not a PR, everything will run.
# 'Java' label
test_java: ${{ contains(github.event.pull_request.labels.*.name, 'Java') || contains(github.event.pull_request.labels.*.name, 'ci:all-tests') || github.event_name != 'pull_request' }}
@@ -122,7 +125,7 @@ jobs:
echo "org.gradle.java.home=$JAVA_HOME_11_X64" >> ~/.gradle/gradle.properties
- name: Build NetBeans
- run: ant -quiet -Dcluster.config=release build-nozip
+ run: ant -quiet -Dcluster.config=$CLUSTER_CONFIG build-nozip
- name: Prepare Artifact
if: ${{ matrix.java == '11' }}
@@ -139,7 +142,7 @@ jobs:
- name: Create Dev Build
if: ${{ matrix.java == '11' && contains(github.event.pull_request.labels.*.name, 'ci:dev-build') && success() }}
- run: ant -quiet zip-cluster-config -Dcluster.config=release
+ run: ant -quiet zip-cluster-config -Dcluster.config=$CLUSTER_CONFIG
- name: Upload Dev Build
if: ${{ matrix.java == '11' && contains(github.event.pull_request.labels.*.name, 'ci:dev-build') && success() }}
@@ -183,7 +186,7 @@ jobs:
run: tar --zstd -xf build.tar.zst
- name: Commit Validation tests
- run: ant $OPTS -Dcluster.config=release commit-validation
+ run: ant $OPTS -Dcluster.config=$CLUSTER_CONFIG commit-validation
- name: Create Test Summary
uses: test-summary/action@v2
@@ -285,12 +288,12 @@ jobs:
run: tar --zstd -xf build.tar.zst
- name: Test Netbeans Build System
- run: ant $OPTS -Dcluster.config=release localtest
+ run: ant $OPTS -Dcluster.config=$CLUSTER_CONFIG localtest
- name: Build all Tests
# runs only in PRs if requested, nowhere else (~18 min)
if: env.test_tests == 'true' && github.event_name == 'pull_request' && success()
- run: ant -quiet -Dcluster.config=release test -Dtest.includes=NoTestsJustBuild
+ run: ant -quiet -Dcluster.config=$CLUSTER_CONFIG test -Dtest.includes=NoTestsJustBuild
build-nbms:
@@ -1719,7 +1722,7 @@ jobs:
run: ant $OPTS -f platform/core.network test
- name: Commit Validation tests
- run: ant $OPTS -Dcluster.config=release commit-validation
+ run: ant $OPTS -Dcluster.config=$CLUSTER_CONFIG commit-validation
- name: Create Test Summary
uses: test-summary/action@v2
diff --git a/README.md b/README.md
index 0e4b0dc2fb..524d4f2ff6 100644
--- a/README.md
+++ b/README.md
@@ -48,21 +48,21 @@ Apache NetBeans is an open source development environment, tooling platform, and
### Building NetBeans
-Build with the default config (See the [cluster.config](https://github.com/apache/netbeans/blob/ab66c7fdfdcbf0bde67b96ddb075c83451cdd1a6/nbbuild/cluster.properties#L19) property.)
+Build the default `release` config (See the [cluster.config](https://github.com/apache/netbeans/blob/ab66c7fdfdcbf0bde67b96ddb075c83451cdd1a6/nbbuild/cluster.properties#L19) property.)
```
-$ ant
+$ ant build
```
Build the basic project (mainly Java features):
```
-$ ant -Dcluster.config=basic
+$ ant -Dcluster.config=basic build
```
-Build the full project (including Groovy, PHP, JavaEE/JakartaEE and JavaScript features):
+Build the full project (may include clusters which are not be in the release):
```
-$ ant -Dcluster.config=full
+$ ant -Dcluster.config=full build
```
Build the NetBeans Platform:
```
-$ ant -Dcluster.config=platform
+$ ant -Dcluster.config=platform build
```
Cleanup:
```
diff --git a/nbbuild/antsrc/org/netbeans/nbbuild/CheckModuleConfigs.java b/nbbuild/antsrc/org/netbeans/nbbuild/CheckModuleConfigs.java
index 1bedd75d2e..6b0146718a 100644
--- a/nbbuild/antsrc/org/netbeans/nbbuild/CheckModuleConfigs.java
+++ b/nbbuild/antsrc/org/netbeans/nbbuild/CheckModuleConfigs.java
@@ -57,10 +57,7 @@ public final class CheckModuleConfigs extends Task {
File clusterPropertiesFile = new File(nbroot, "nbbuild" + File.separatorChar + "cluster.properties");
Map<String,Object> properties = getProject().getProperties();
Map<String,Set<String>> clusters = loadModuleClusters(properties, clusterPropertiesFile);
- Set<String> allClusterModules = new TreeSet<>();
- for (Set<String> s : clusters.values()) {
- allClusterModules.addAll(s);
- }
+
// Check that javadoc <= full cluster config:
Set<String> javadoc = splitToSet(getProject().getProperty("config.javadoc.all"), "config.javadoc.all");
for (Set<String> modules : clusters.values()) {
@@ -80,8 +77,7 @@ public final class CheckModuleConfigs extends Task {
}
allClusters.put(m.group(1), splitToList((String) clusterDef.getValue(), clusterDef.getKey()));
}
- allClusters.get("experimental").removeAll(allClusters.get("betauc")); // intentionally a superset
- allClusters.get("betauc").removeAll(allClusters.get("stableuc")); // ditto
+
for (Map.Entry<String,List<String>> entry : allClusters.entrySet()) {
String name = entry.getKey();
List<String> modules = entry.getValue();
diff --git a/nbbuild/cluster.properties b/nbbuild/cluster.properties
index 10ada663ad..5f8913e486 100644
--- a/nbbuild/cluster.properties
+++ b/nbbuild/cluster.properties
@@ -19,6 +19,7 @@
cluster.config=release
clusters.prefix=libnb
+# clusters of the Apache NetBeans release, can be a subset of the 'full' config
clusters.config.release.list=\
${clusters.config.java.list},\
nb.cluster.apisupport,\
@@ -30,6 +31,10 @@ clusters.config.release.list=\
nb.cluster.ergonomics
# ergonomics must be last
+# full config must contain all clusters
+clusters.config.full.list=\
+ ${clusters.config.release.list}
+
clusters.config.platform.list=\
nb.cluster.harness,\
nb.cluster.bootstrap,\
@@ -41,20 +46,6 @@ clusters.config.basic.list=\
nb.cluster.ergonomics
# ergonomics must be last
-clusters.config.standard.list=\
- ${clusters.config.java.list},\
- nb.cluster.apisupport,\
- nb.cluster.webcommon,\
- nb.cluster.enterprise
-
-clusters.config.full.list=\
- nb.cluster.cpplite,\
- nb.cluster.groovy,\
- nb.cluster.php,\
- ${clusters.config.standard.list},\
- nb.cluster.ergonomics
-# ergonomics must be last
-
clusters.config.php.list=\
${clusters.config.platform.list},\
nb.cluster.ide,\
@@ -77,8 +68,8 @@ clusters.config.cnd.list=\
clusters.config.cndext.list=\
${clusters.config.cnd.list},\
- nb.cluster.cndext,\
- nb.cluster.extide,\
+ nb.cluster.cndext,\
+ nb.cluster.extide,\
nb.cluster.java
clusters.config.cpplite.list=\
@@ -114,32 +105,6 @@ clusters.config.identity.list=\
${clusters.config.enterprise.list},\
nb.cluster.identity
-clusters.config.mobility.list=\
- ${clusters.config.enterprise.list},\
- nb.cluster.mobility
-
-clusters.config.jdev.list=\
- ${clusters.config.platform.list},\
- nb.cluster.ide,\
- nb.cluster.extide,\
- nb.cluster.websvccommon,\
- nb.cluster.java,\
- nb.cluster.profiler,\
- nb.cluster.jira,\
- nb.cluster.odcs
-
-clusters.config.bloated.list=\
- nb.cluster.identity,\
- ${clusters.config.full.list}
-# ergonomics must be last
-
-# For technical reasons, nb.cluster.experimental is a superset of nb.cluster.betauc and nb.cluster.stableuc, so cannot list at once:
-clusters.config.experimental.list=\
- ${clusters.config.bloated.list},\
- nb.cluster.jira,\
- nb.cluster.team,\
- nb.cluster.experimental
-
clusters.config.stableuc.list=\
${clusters.config.full.list},\
nb.cluster.jira,\
@@ -147,33 +112,6 @@ clusters.config.stableuc.list=\
nb.cluster.stableuc
# could put ergonomics last, but undesirable to also do so for clusters.config.experimental.list, so exclude stableuc from ergonomics processing
-clusters.config.betauc.list=\
- ${clusters.config.full.list},\
- nb.cluster.jira,\
- nb.cluster.team,\
- nb.cluster.betauc
-
-clusters.config.minimal.list=\
- ${clusters.config.platform.list},\
- nb.cluster.ide,\
- nb.cluster.nb
-
-clusters.config.javacard.list=\
- ${clusters.config.java.list},\
- nb.cluster.javacard
-
-clusters.config.remote.list=\
- ${clusters.config.java.list},\
- nb.cluster.remote
-
-clusters.config.python.list=\
- ${clusters.config.minimal.list},\
- nb.cluster.python
-
-clusters.config.odcs.list=\
- ${clusters.config.minimal.list},\
- nb.cluster.odcs
-
clusters.list=\
${clusters.config.full.list}
@@ -418,7 +356,7 @@ nb.cluster.ide=\
hudson.mercurial,\
hudson.subversion,\
hudson.tasklist,\
- hudson.ui,\
+ hudson.ui,\
ide.kit,\
image,\
javascript2.debug,\
@@ -448,7 +386,7 @@ nb.cluster.ide=\
libs.jaxb,\
libs.jcodings,\
libs.jsch.agentproxy,\
- libs.json_simple,\
+ libs.json_simple,\
libs.lucene,\
libs.snakeyaml_engine,\
libs.svnClientAdapter,\
@@ -559,7 +497,7 @@ nb.cluster.ide=\
versioning.system.cvss.installer,\
versioning.ui,\
versioning.util,\
- web.browser.api,\
+ web.browser.api,\
web.common,\
web.common.ui,\
web.indent,\
@@ -877,7 +815,7 @@ nb.cluster.enterprise=\
web.refactoring,\
web.struts,\
weblogic.common,\
- websocket,\
+ websocket,\
websvc.clientapi,\
websvc.core,\
websvc.customization,\
@@ -1045,28 +983,6 @@ nb.cluster.groovy=\
libs.groovy,\
maven.groovy
-nb.cluster.mobility.dir=mobility
-nb.cluster.mobility.depends=\
- nb.cluster.platform,\
- nb.cluster.java,\
- nb.cluster.websvccommon,\
- nb.cluster.apisupport,\
- nb.cluster.ide,\
- nb.cluster.enterprise,\
- nb.cluster.extide
-nb.cluster.mobility=\
- api.mobility,\
- j2me.common.ant,\
- j2me.keystore,\
- j2me.kit,\
- j2me.project,\
- mobility.cldcplatform,\
- mobility.databindingme,\
- mobility.end2end,\
- mobility.jsr172,\
- mobility.licensing,\
- mobility.project.ant
-
nb.cluster.identity.dir=identity
nb.cluster.identity.depends=\
nb.cluster.platform,\
@@ -1249,31 +1165,6 @@ nb.cluster.team=\
versioning.kenai,\
versioning.system.cvss
-nb.cluster.odcs.dir=extra
-nb.cluster.odcs.depends=
-nb.cluster.odcs=\
- c.tasktop.c2c.server.cloud.api,\
- c.tasktop.c2c.server.common.api,\
- c.tasktop.c2c.server.profile.api,\
- c.tasktop.c2c.server.scm.api,\
- c.tasktop.c2c.server.tasks.api,\
- c.tasktop.c2c.server.wiki.api,\
- o.codehaus.jackson.core,\
- o.codehaus.jackson.mapper,\
- odcs,\
- odcs.git,\
- odcs.hudson,\
- odcs.kit,\
- odcs.tasks,\
- odcs.tasks.bridge,\
- odcs.ui,\
- odcs.versioning,\
- oracle.clouddev.server.profile.activity.client.api,\
- oracle.clouddev.server.profile.activity.client.rest,\
- oracle.eclipse.tools.cloud.dev.tasks,\
- team.server,\
- team.server.nb
-
nb.cluster.stableuc.dir=extra
nb.cluster.stableuc.depends=${clusters.config.full.list}
nb.cluster.stableuc=\
@@ -1302,24 +1193,9 @@ nb.cluster.stableuc=\
libs.oracle.cloud,\
libs.ppawtlayout,\
loadgenerator,\
- maven.util,\
- mobility.antext,\
- mobility.cldcplatform.catalog,\
- mobility.deployment.ftpscp,\
- mobility.deployment.nokia,\
- mobility.deployment.sonyericsson,\
- mobility.deployment.webdav,\
- mobility.editor,\
- mobility.j2meunit,\
- mobility.kit,\
- mobility.plugins.mpowerplayer,\
- mobility.project,\
- mobility.project.bridge,\
- mobility.project.bridge.impl,\
- mobility.svgcore,\
+ maven.util,\
mvd,\
o.apache.tools.ant.module.docs,\
- otherlicenses/mobility.proguard,\
profiler.commandrunner,\
profiler.loadgen,\
svg.perseus,\
@@ -1347,152 +1223,6 @@ nb.cluster.stableuc=\
vmd.screen,\
vmd.structure
-nb.cluster.betauc.dir=extra
-nb.cluster.betauc.depends=${clusters.config.full.list}
-nb.cluster.betauc=\
- ${nb.cluster.stableuc},\
- clearcase,\
- coherence,\
- contrib/ant.freeform.samples,\
- contrib/api.workqueues,\
- contrib/apisupport.projectinspector,\
- contrib/autoproject.core,\
- contrib/autoproject.java,\
- contrib/autoproject.profiler,\
- contrib/autoproject.web,\
- contrib/cnd.debugger.gdbserver,\
- contrib/docbook,\
- contrib/docbook.project,\
- contrib/imagepaste,\
- contrib/insertunicode,\
- contrib/j2ee.geronimo2,\
- contrib/j2ee.jetty,\
- contrib/libs.selenium,\
- contrib/libs.selenium.server,\
- contrib/logmanagement,\
- contrib/masterfs.suspend,\
- contrib/modulemanager,\
- contrib/quickfilechooser,\
- contrib/selenium,\
- contrib/selenium.maven,\
- contrib/selenium.php,\
- contrib/selenium.server,\
- o.apache.jmeter.module,\
- websvc.rest.wadl.design,\
- websvc.rest.wadl.model
-
-nb.cluster.experimental.dir=extra
-nb.cluster.experimental.depends=${clusters.config.full.list}
-nb.cluster.experimental=\
- ${nb.cluster.betauc},\
- avatar_js.project,\
- c.s.collablet,\
- c.s.collablet.moxc,\
- collab.channel.chat,\
- collab.channel.chat.html,\
- collab.channel.chat.java,\
- collab.channel.chat.text,\
- collab.channel.chat.xml,\
- collab.channel.filesharing,\
- collab.channel.output,\
- collab.kit,\
- collab.provider.im,\
- collab.ui,\
- contrib/a11y,\
- contrib/accelerators.terminal,\
- contrib/apisupport.beanbrowser,\
- contrib/apisupport.tc.cobertura,\
- contrib/archiver,\
- contrib/autosave,\
- contrib/c.ericsson.otp.erlang,\
- contrib/codetemplatetools,\
- contrib/de.hunsicker.jalopy.plugin.netbeans,\
- contrib/editor.deprecated.pre61completion,\
- contrib/editor.deprecated.pre61settings,\
- contrib/editor.fold.support,\
- contrib/editor.hints.i18n,\
- contrib/editor.nexterror,\
- contrib/encoding,\
- contrib/explorefromhere,\
- contrib/fisheye,\
- contrib/folder2html,\
- contrib/formatmany,\
- contrib/genericnavigator,\
- contrib/graphicclassview,\
- contrib/group,\
- contrib/gsf,\
- contrib/gsf.api,\
- contrib/gsfpath.api,\
- contrib/hexeditor,\
- contrib/htmlprojects,\
- contrib/j2ee.oc4j,\
- contrib/j2ee.sun.ws7,\
- contrib/java.debugjavac,\
- contrib/java.ext.editor,\
- contrib/javahints,\
- contrib/javanavigators,\
- contrib/jemmysupport,\
- contrib/languages.execution,\
- contrib/languages.prolog,\
- contrib/languages.tcl,\
- contrib/languages.velocity,\
- contrib/libs.commons_lang,\
- contrib/libs.ical4j,\
- contrib/libs.jcalendar,\
- contrib/licensechanger,\
- contrib/loaderswitcher,\
- contrib/moduleresolver,\
- contrib/mount,\
- contrib/nbignore,\
- contrib/nborgsourcebrowse,\
- contrib/o.jython,\
- contrib/o.jython.distro,\
- contrib/o.n.contrib.debuggerretry,\
- contrib/o.n.erdbeans,\
- contrib/o.n.misc.diff,\
- contrib/performance.insane,\
- contrib/perspective,\
- contrib/python.console,\
- contrib/python.core,\
- contrib/python.debugger,\
- contrib/python.editor,\
- contrib/python.help,\
- contrib/python.hints,\
- contrib/python.kit,\
- contrib/python.options,\
- contrib/python.platform,\
- contrib/python.project,\
- contrib/python.project2,\
- contrib/python.samples,\
- contrib/python.source,\
- contrib/python.testrunner,\
- contrib/showtodos,\
- contrib/sysprops,\
- contrib/tanui,\
- contrib/websvc.saas.services.rtm,\
- contrib/whichproject,\
- j2ee.websphere6,\
- j2me.cdc.platform.bdj,\
- j2me.cdc.project.bdj,\
- keyring.jps,\
- languages.refactoring,\
- libs.xmlbeans,\
- mercurial.search,\
- o.n.bluej,\
- o.n.bluej.ui,\
- projectimport.jbuilder,\
- traceio,\
- uihandler.interactive,\
- web.domdiff,\
- web.facelets010114,\
- web.jsf.extensions,\
- web.livehtml,\
- websvc.axis2,\
- websvc.jaxrpc,\
- websvc.jaxrpc16,\
- websvc.jaxrpckit,\
- websvc.registry
-
nb.cluster.extide.dir=extide
nb.cluster.extide.depends=\
nb.cluster.ide,\
@@ -1505,10 +1235,6 @@ nb.cluster.extide=\
o.apache.tools.ant.module,\
options.java
-# XXX needs updates to build:
-# contrib/c.s.fortress,\
-# contrib/fortress.editing,\
-
nb.cluster.webcommon.dir=webcommon
nb.cluster.webcommon.depends=\
nb.cluster.ide,\
@@ -1536,7 +1262,7 @@ nb.cluster.webcommon=\
javascript2.extdoc,\
javascript2.extjs,\
javascript2.html,\
- javascript2.jade,\
+ javascript2.jade,\
javascript2.jquery,\
javascript2.jsdoc,\
javascript2.json,\
@@ -1544,10 +1270,10 @@ nb.cluster.webcommon=\
javascript2.knockout,\
javascript2.lexer,\
javascript2.model,\
- javascript2.nodejs,\
+ javascript2.nodejs,\
javascript2.prototypejs,\
javascript2.react,\
- javascript2.requirejs,\
+ javascript2.requirejs,\
javascript2.sdoc,\
javascript2.source.query,\
javascript2.types,\
@@ -1582,29 +1308,6 @@ nb.cluster.websvccommon=\
websvc.saas.kit,\
websvc.saas.ui
-nb.cluster.javacard.dir=javacard
-nb.cluster.javacard.depends=\
- nb.cluster.ide,\
- nb.cluster.extide,\
- nb.cluster.platform,\
- nb.cluster.java
-nb.cluster.javacard=\
- javacard.apdu.io,\
- javacard.apdufile,\
- javacard.common,\
- javacard.console,\
- javacard.filemodels,\
- javacard.kit,\
- javacard.oberthur,\
- javacard.platform.ui,\
- javacard.project,\
- javacard.ri.bundle,\
- javacard.ri.platform,\
- javacard.spi,\
- properties.based.dataobjects,\
- simple.project.templates,\
- swing.customizerlayout
-
nb.cluster.javafx.dir=javafx
nb.cluster.javafx.depends=\
nb.cluster.ide,\
@@ -1621,36 +1324,3 @@ nb.cluster.javafx=\
javafx2.samples,\
javafx2.scenebuilder,\
maven.htmlui
-
-nb.cluster.remote.dir=extra
-nb.cluster.remote.depends=\
- nb.cluster.java,\
- nb.cluster.ide,\
- nb.cluster.extide,\
- nb.cluster.platform,\
- nb.cluster.harness
-nb.cluster.remote=\
- contrib/dew4nb,\
- contrib/json,\
- contrib/remote.project.finder,\
- contrib/remote.server
-
-nb.cluster.python.depends=\
- nb.cluster.ide
-nb.cluster.python=\
- contrib/o.jython,\
- contrib/o.jython.distro,\
- contrib/python.console,\
- contrib/python.core,\
- contrib/python.debugger,\
- contrib/python.editor,\
- contrib/python.help,\
- contrib/python.hints,\
- contrib/python.kit,\
- contrib/python.options,\
- contrib/python.platform,\
- contrib/python.project,\
- contrib/python.project2,\
- contrib/python.samples,\
- contrib/python.source,\
- contrib/python.testrunner
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@netbeans.apache.org
For additional commands, e-mail: commits-help@netbeans.apache.org
For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists