-
Notifications
You must be signed in to change notification settings - Fork 132
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
kie-issues#1613: Add CI :: License headers / check
GitHub Actions workflow
#2111
Conversation
PR job Reproducerbuild-chain build full_downstream -f 'https://raw.githubusercontent.com/${AUTHOR:apache}/incubator-kie-kogito-pipelines/${BRANCH:main}/.ci/buildchain-config-pr-cdb.yaml' -o 'bc' -p apache/incubator-kie-kogito-apps -u #2111 --skipParallelCheckout NOTE: To install the build-chain tool, please refer to https://github.com/kiegroup/github-action-build-chain#local-execution Please look here: https://ci-builds.apache.org/job/KIE/job/kogito/job/main/job/pullrequest_jobs/job/kogito-apps-pr/job/PR-2111/1/display/redirect Console Logs[2024-10-10T13:54:37.606Z] [INFO] Kogito Example :: SonataFlow :: Java Embedded examples 999-SNAPSHOT SUCCESS [ 3.090 s][2024-10-10T13:54:37.606Z] [INFO] ------------------------------------------------------------------------ [2024-10-10T13:54:37.606Z] [INFO] BUILD SUCCESS [2024-10-10T13:54:37.606Z] [INFO] ------------------------------------------------------------------------ [2024-10-10T13:54:37.606Z] [INFO] Total time: 33:50 min [2024-10-10T13:54:37.606Z] [INFO] Finished at: 2024-10-10T09:54:37-04:00 [2024-10-10T13:54:37.606Z] [INFO] ------------------------------------------------------------------------ [2024-10-10T13:54:41.648Z] [INFO] Execution summary for apache/incubator-kie-kogito-examples [2024-10-10T13:54:41.648Z] # [BEFORE] [apache/incubator-kie-kogito-examples] export INTEGRATION_BRANCH= [2024-10-10T13:54:41.648Z] [INFO] OK [Executed in 0.519849 ms] [2024-10-10T13:54:41.648Z] [2024-10-10T13:54:41.648Z] # [BEFORE] [apache/incubator-kie-kogito-examples] bash -c "if [ ! -z '' ] && [ -f .ci/environments/update.sh ]; then .ci/environments/update.sh ; fi" [2024-10-10T13:54:41.648Z] [INFO] OK [Executed in 61.507325 ms] [2024-10-10T13:54:41.648Z] [2024-10-10T13:54:41.648Z] # [COMMANDS] [apache/incubator-kie-kogito-examples] mvn dependency:tree clean install -DskipTests -DskipITs -s /home/jenkins/jenkins-agent/workspace/uest_jobs_kogito-apps-pr_PR-2111/kogito-pipelines@tmp/config11975992966380149006tmp -Dmaven.wagon.http.ssl.insecure=true -Dmaven.test.failure.ignore=true -nsu -ntp -fae -e -Dhttp.keepAlive=false -Dmaven.wagon.http.pool=false -Dmaven.wagon.httpconnectionManager.ttlSeconds=120 -Dmaven.wagon.http.retryHandler.count=3 -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn -B [2024-10-10T13:54:41.648Z] [INFO] OK [Executed in 2036332.58328 ms] [2024-10-10T13:54:41.648Z] [2024-10-10T13:54:41.648Z] [INFO] [AFTER] No commands were found for apache/incubator-kie-kogito-examples [2024-10-10T13:54:41.648Z] [2024-10-10T13:54:41.648Z] # Uploading artifacts [2024-10-10T13:54:41.648Z] [INFO] Will not upload any artifacts in CLI environment [2024-10-10T13:54:41.648Z] [Pipeline] sh [2024-10-10T13:54:46.915Z] + find . -type d -name node_modules -exec rm -rf '{}' ';' [Pipeline] junit [2024-10-10T13:55:06.260Z] Recording test results [2024-10-10T14:01:34.214Z] [Checks API] No suitable checks publisher found. [Pipeline] archiveArtifacts [2024-10-10T14:01:34.458Z] Archiving artifacts [2024-10-10T14:02:25.752Z] ‘**/cypress/screenshots/**’ doesn’t match anything, but ‘**’ does. Perhaps that’s what you mean? [2024-10-10T14:02:25.752Z] No artifacts found that match the file pattern "**/cypress/screenshots/**,**/cypress/videos/**". Configuration error? [Pipeline] } [Pipeline] // withCredentials [Pipeline] } [2024-10-10T14:02:25.763Z] Deleting 1 temporary files [Pipeline] // configFileProvider [Pipeline] } [Pipeline] // stage [Pipeline] stage [Pipeline] { (Sonar analysis) [Pipeline] } [Pipeline] // stage [Pipeline] echo [2024-10-10T14:02:25.985Z] Got build result UNSTABLE [Pipeline] sh [2024-10-10T14:02:28.197Z] + wget --no-check-certificate -qO - 'https://ci-builds.apache.org/job/KIE/job/kogito/job/main/job/pullrequest_jobs/job/kogito-apps-pr/job/PR-2111/1/api/json?depth=0' [Pipeline] readJSON [Pipeline] sh [2024-10-10T14:02:31.778Z] + wget --no-check-certificate -qO - https://ci-builds.apache.org/job/KIE/job/kogito/job/main/job/pullrequest_jobs/job/kogito-apps-pr/job/PR-2111/1/consoleText [2024-10-10T14:02:31.778Z] + tail -n 50 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, just make sure the builds are green (disregarding flaky tests)
This will be addressed via apache/incubator-kie-issues#1613 |
CI :: Check license headers
GitHub Actions workflow
@@ -663,4 +663,4 @@ | |||
<!-- hint name="org.hibernate.timeout" value="200"/ --> | |||
</named-native-query> | |||
|
|||
</entity-mappings> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
maybe revert this change?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
CI :: Check license headers
GitHub Actions workflowCI :: Check license headers
GitHub Actions workflow
LICENSE
Outdated
for ./jitexecutor/jitexecutor-dmn/src/main/resources/META-INF/resources/bundle.js | ||
|
||
TODO check facebook thing |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
really not sure about this file, it contains so much:
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
/*!
Copyright (c) 2017 Jed Watson.
Licensed under the MIT License (MIT), see
http://jedwatson.github.io/classnames
/*
object-assign
(c) Sindre Sorhus
@license MIT
/** @license React v16.14.0
* react.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
/** @license React v16.14.0
* react-dom.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
/** @license React v0.19.1
* scheduler.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
** @license React v16.13.1
* react-is.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
/** @license URI.js v4.4.0 (c) 2011 Gary Court. License: http://github.com/garycourt/uri-js */
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It seems to be a combined js. I don't know what reviewers will say, but I hope it's not a blocker.
I think you can list the copyright [Sindre Sorhus, Jed Watson, Meta(Facebook), Gary Court] and license [MIT, BSD 2-clause].
FYI)
- https://github.com/facebook/react/blob/main/LICENSE . I think it's better to write
Copyright (c) Meta Platforms, Inc. and affiliates.
rather thanFacebook
. - https://github.com/garycourt/uri-js/blob/master/LICENSE is BSD 2-clause
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+1 on what @tkobayas said about Facebook -> Meta Platforms
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Unfortunately I'm not too deep into this project ... generally the "Licensed to the Apache Software" foundation header should only be used if it contains a significant amount of content from an Apache project and not simply stuff that's licensed under the Apache 2.0 license.
Do I understand it correctly, that ./jitexecutor/jitexecutor-dmn/src/main/resources/META-INF/resources/bundle.js contains resources from various sources? Usually in such a case it would be good to mention which parts are taken from which project and which license they are under. Would that be possible? Because otherwise it's not really possible to correctly find out which code is licensed under which license.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you all for inputs and comments. before we proceed with adding the bundle.js
entry into LICENSE
, I opened internal slack conversation about dropping it from the codebase. It is basically used in small demo webapp, that has actually an alternative in using curl
commands or swagger-ui
endpoints documentation. From my point of view, there is a chance we drop it.
If slack conversation will give me a green light for it, I can inform about it also using Apache mailing list, and if there is no objection, we can remove it.
If not, yes, we will need to figure out proper licensing.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@jomarko please use public channels, ML is supposed for that
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's great if we can drop it.
Btw, @pjfanning @chrisdutz Am I right to assume that this bundle.js
issue is not a blocker for 10.0.0 because the file is MIT and BSD which are Category A, so not hitting "Blocker" in https://issues.apache.org/jira/browse/LEGAL-469 ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it is not blocker but the getting the LICENSE text right is needed eventually
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I updated the LICENSE
entry for the bundle.js
Potential bundle.js
removal will be handled in a separate ticket.
@pjfanning and @chrisdutz it would be good to get your feedback on this as we progress towards RC4 |
While useful to try to tackle license headers, etc., the reason the release vote failed was down to specific issues around using Category B and X source code. That source code can be used if you have DISCLAIMER-WIP but you need to reference the Category B and X licenses in your LICENSE file. I would like the high priority, release blocking, issues to be tracked explicitly because that makes them easier to verify (issues and PRs that are separate). While DISCLAIMER-WIP allows some leeway for Category A licenses, we can't release if there is any other 3rd party code (without Category A license) and we need to check all the source for any such code. |
@pjfanning I've created this apache/incubator-kie-issues#1525 a while ago... @tkobayas's been helping keeping it up-to-date. Maybe it helps. |
@pjfanning , As @tiagobento mentioned, we have an EPIC issue to track all issues for 10.0.0 release and as its sub-task, this issue highlights the "Category X or Category B" blocker |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I approve this PR as the basis of NOTICE, LICENSE and rat-exclude is done. We can continue the work with new PRs, so we can focus on high priority issues (= "Category X or Category B" license) first.
The bundle.js license header was added inappropriately by apache#2043
CI :: Check license headers
GitHub Actions workflowCI :: Check license headers
GitHub Actions workflow
@jomarko We got 2 approvals. I think you can merge this when you are comfortable. |
@tkobayas hi, the approvals and reviews were quite old. I mean, I pushed quite a lot commits since reviews were provided (your review is an exception). I asked people for re-review. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you @jomarko !!
CI :: Check license headers
GitHub Actions workflowCI :: License headers / check
GitHub Actions workflow
…orkflow (apache#2111) * Add license header * rat-excludes * print rat-check output * rename the yaml file * Try to fix tests * List explicitely all files in .rat-excludes * Use apache-rat v0.16.1 * revert newline at the EOF * Everthing -> Everything * Add ./jitexecutor/jitexecutor-dmn/src/main/resources/META-INF/resources/bundle.js into LICENSE * CI :: License headers * Exclude bundle.js from license header check The bundle.js license header was added inappropriately by apache#2043
…orkflow (apache#2111) * Add license header * rat-excludes * print rat-check output * rename the yaml file * Try to fix tests * List explicitely all files in .rat-excludes * Use apache-rat v0.16.1 * revert newline at the EOF * Everthing -> Everything * Add ./jitexecutor/jitexecutor-dmn/src/main/resources/META-INF/resources/bundle.js into LICENSE * CI :: License headers * Exclude bundle.js from license header check The bundle.js license header was added inappropriately by apache#2043
…Actions workflow (#2154) * kie-issues#1613: Add `CI :: License headers / check` GitHub Actions workflow (#2111) * Add license header * rat-excludes * print rat-check output * rename the yaml file * Try to fix tests * List explicitely all files in .rat-excludes * Use apache-rat v0.16.1 * revert newline at the EOF * Everthing -> Everything * Add ./jitexecutor/jitexecutor-dmn/src/main/resources/META-INF/resources/bundle.js into LICENSE * CI :: License headers * Exclude bundle.js from license header check The bundle.js license header was added inappropriately by #2043 * data-index orm.xml license * Trigger build
This is a partial fix of the apache/incubator-kie-issues#1613. We open one PR per repository to fix this ticket.
Please make sure that your PR meets the following requirements:
KOGITO-XYZ Subject
[0.9.x] KOGITO-XYZ Subject
How to replicate CI configuration locally?
Build Chain tool does "simple" maven build(s), the builds are just Maven commands, but because the repositories relates and depends on each other and any change in API or class method could affect several of those repositories there is a need to use build-chain tool to handle cross repository builds and be sure that we always use latest version of the code for each repository.
build-chain tool is a build tool which can be used on command line locally or in Github Actions workflow(s), in case you need to change multiple repositories and send multiple dependent pull requests related with a change you can easily reproduce the same build by executing it on Github hosted environment or locally in your development environment. See local execution details to get more information about it.
How to retest this PR or trigger a specific build:
for pull request checks
Please add comment: Jenkins retest this
for a specific pull request check
Please add comment: Jenkins (re)run [kogito-apps|kogito-examples] tests
for quarkus branch checks
Run checks against Quarkus current used branch
Please add comment: Jenkins run quarkus-branch
for a quarkus branch specific check
Run checks against Quarkus current used branch
Please add comment: Jenkins (re)run [kogito-apps|kogito-examples] quarkus-branch
for quarkus main checks
Run checks against Quarkus main branch
Please add comment: Jenkins run quarkus-main
for a specific quarkus main check
Run checks against Quarkus main branch
Please add comment: Jenkins (re)run [kogito-apps|kogito-examples] quarkus-main
for quarkus lts checks
Run checks against Quarkus lts branch
Please add comment: Jenkins run quarkus-lts
for a specific quarkus lts check
Run checks against Quarkus lts branch
Please add comment: Jenkins (re)run [kogito-apps|kogito-examples] quarkus-lts
for native checks
Run native checks
Please add comment: Jenkins run native
for a specific native check
Run native checks
Please add comment: Jenkins (re)run [kogito-apps|kogito-examples] native
for native lts checks
Run native checks against quarkus lts branch
Please add comment: Jenkins run native-lts
for a specific native lts check
Run native checks against quarkus lts branch
Please add comment: Jenkins (re)run [kogito-apps|kogito-examples] native-lts
How to backport a pull request to a different branch?
In order to automatically create a backporting pull request please add one or more labels having the following format
backport-<branch-name>
, where<branch-name>
is the name of the branch where the pull request must be backported to (e.g.,backport-7.67.x
to backport the original PR to the7.67.x
branch).Once the original pull request is successfully merged, the automated action will create one backporting pull request per each label (with the previous format) that has been added.
If something goes wrong, the author will be notified and at this point a manual backporting is needed.
Quarkus-3 PR check is failing ... what to do ?
The Quarkus 3 check is applying patches from the `.ci/environments/quarkus-3/patches`.The first patch, called
0001_before_sh.patch
, is generated from Openrewrite.ci/environments/quarkus-3/quarkus3.yml
recipe. The patch is created to speed up the check. But it may be that some changes in the PR broke this patch.No panic, there is an easy way to regenerate it. You just need to comment on the PR:
and it should, after some minutes (~20/30min) apply a commit on the PR with the patch regenerated.
Other patches were generated manually. If any of it fails, you will need to manually update it... and push your changes.