mbien commented on code in PR #7206:
URL: https://github.com/apache/netbeans/pull/7206#discussion_r1543510597


##########
.github/workflows/main.yml:
##########
@@ -164,6 +125,60 @@ jobs:
           retention-days: 7
           if-no-files-found: error
 
+    outputs:
+      # labels are mapped to fields for pipeline customization. If this is not 
a PR, (almost) everything will run, but with a reduced matrix.
+
+      # labels for special commands:
+      # 'ci:all-tests' enables everything
+      # 'ci:no-build' disables the build job (and test jobs too)
+      # 'ci:dev-build' produces an artifact containing a runnable NetBeans zip 
distribution
+
+      # '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' }}
+
+      # 'JavaFX' label
+      test_javafx: ${{ contains(github.event.pull_request.labels.*.name, 
'JavaFX') || contains(github.event.pull_request.labels.*.name, 'ci:all-tests') 
|| github.event_name != 'pull_request' }}
+
+      # 'JavaDoc' or 'API Change' labels
+      test_javadoc: ${{ contains(github.event.pull_request.labels.*.name, 
'JavaDoc') || contains(github.event.pull_request.labels.*.name, 'API Change') 
|| contains(github.event.pull_request.labels.*.name, 'ci:all-tests') || 
github.event_name != 'pull_request' }}
+
+      # 'JavaScript' label
+      test_javascript: ${{ contains(github.event.pull_request.labels.*.name, 
'JavaScript') || contains(github.event.pull_request.labels.*.name, 
'ci:all-tests') || github.event_name != 'pull_request' }}
+
+      # 'PHP' label
+      test_php: ${{ contains(github.event.pull_request.labels.*.name, 'PHP') 
|| contains(github.event.pull_request.labels.*.name, 'ci:all-tests') || 
github.event_name != 'pull_request' }}
+
+      # 'Groovy' label
+      test_groovy: ${{ contains(github.event.pull_request.labels.*.name, 
'Groovy') || contains(github.event.pull_request.labels.*.name, 'ci:all-tests') 
|| github.event_name != 'pull_request' }}
+
+      # 'Rust' label
+      test_rust: ${{ contains(github.event.pull_request.labels.*.name, 'Rust') 
|| contains(github.event.pull_request.labels.*.name, 'ci:all-tests') || 
github.event_name != 'pull_request' }}
+
+      # 'Platform' label
+      test_platform: ${{ contains(github.event.pull_request.labels.*.name, 
'Platform') || contains(github.event.pull_request.labels.*.name, 
'ci:all-tests') || github.event_name != 'pull_request' }}
+
+      # 'LSP' label for enabling Language Server Protocol tests
+      test_lsp: ${{ contains(github.event.pull_request.labels.*.name, 'LSP') 
|| contains(github.event.pull_request.labels.*.name, 'ci:all-tests') || 
github.event_name != 'pull_request' }}
+
+      # 'GraalVM' label for tests requirering GraalVM
+      test_graalvm: ${{ contains(github.event.pull_request.labels.*.name, 
'GraalVM') || contains(github.event.pull_request.labels.*.name, 'ci:all-tests') 
|| github.event_name != 'pull_request' }}
+
+      # 'VSCode Extension' label for building and testing the VSCode Extension
+      test_vscode_extension: ${{ 
contains(github.event.pull_request.labels.*.name, 'VSCode Extension') || 
contains(github.event.pull_request.labels.*.name, 'ci:all-tests') || 
github.event_name != 'pull_request' }}
+ 
+      # 'Ant', 'Gradle', 'Maven' and 'MX' labels trigger build-tools job
+      test_build_tools: ${{ contains(github.event.pull_request.labels.*.name, 
'Ant') || contains(github.event.pull_request.labels.*.name, 'Gradle') || 
contains(github.event.pull_request.labels.*.name, 'Maven') || 
contains(github.event.pull_request.labels.*.name, 'MX') || 
contains(github.event.pull_request.labels.*.name, 'ci:all-tests') || 
github.event_name != 'pull_request' }}
+ 
+      # 'git', 'subversion' and 'mercurial' labels trigger versioning job
+      test_versioning: ${{ contains(github.event.pull_request.labels.*.name, 
'git') || contains(github.event.pull_request.labels.*.name, 'subversion') || 
contains(github.event.pull_request.labels.*.name, 'mercurial') || 
contains(github.event.pull_request.labels.*.name, 'ci:all-tests') || 
github.event_name != 'pull_request' }}
+ 
+      # 'Java EE/Jakarta EE', 'Micronaut' and 'enterprise' labels trigger 
versioning job
+      test_enterprise: ${{ contains(github.event.pull_request.labels.*.name, 
'Java EE/Jakarta EE') || contains(github.event.pull_request.labels.*.name, 
'Micronaut') || contains(github.event.pull_request.labels.*.name, 'enterprise') 
|| contains(github.event.pull_request.labels.*.name, 'ci:all-tests') || 
github.event_name != 'pull_request' }}

Review Comment:
   @sdedic since I believe you asked me about this before: the enterprise job 
would be now also opt-in, it listens to 
https://github.com/apache/netbeans/labels/enterprise, 
https://github.com/apache/netbeans/labels/Java%20EE%2FJakarta%20EE and 
https://github.com/apache/netbeans/labels/Micronaut after this change.
   
   analog to the build-tools and versioning jobs



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists

Reply via email to