diff --git a/.github/renovate.json b/.github/renovate.json index 4d3b65715..f9ac95a8e 100644 --- a/.github/renovate.json +++ b/.github/renovate.json @@ -34,13 +34,19 @@ } ], - "regexManagers": [ + "customManagers": [ { "description": "Because the Node version we use for building the VS Code plugin is managed by a Maven plugin, we need a custom regex version detection strategy. This rule matches versions defined as a Maven property of the form x.x.x.", "fileMatch": ["\\.pom\\.xml$", "(^|/)pom\\.xml$"], "matchStrings": ["(?.*?)<\\/node\\.version>"], "depNameTemplate": "node", "datasourceTemplate": "node" + }, + { + "description": "Detect Maven goals in GitHub workflows and actions.", + "fileMatch": ["(^|/)(workflow-templates|\\.(?:github|gitea|forgejo)/(?:workflows|actions))/.+\\.ya?ml$", "(^|/)action\\.ya?ml$"], + "matchStrings": ["mvn (?[^\\s:]+:[^\\s:]+):(?[^\\s:]+):[^\\s:]+"], + "datasourceTemplate": "maven" } ], diff --git a/.github/workflows/cve-scanning.yml b/.github/workflows/cve-scanning.yml index bb3112cce..a4529c484 100644 --- a/.github/workflows/cve-scanning.yml +++ b/.github/workflows/cve-scanning.yml @@ -41,7 +41,7 @@ jobs: --suppression CVE-suppressions.xml --failOnCVSS 7 - name: Upload results - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: CVE Scan Report path: ${{github.workspace}}/reports diff --git a/.github/workflows/license-scanning.yml b/.github/workflows/license-scanning.yml index c373d4c9f..0a15a0ee9 100644 --- a/.github/workflows/license-scanning.yml +++ b/.github/workflows/license-scanning.yml @@ -19,15 +19,46 @@ concurrency: cancel-in-progress: true env: - ALLOW_LICENSES: "'The Apache Software License, Version 2.0' and licenses/license/name!='BSD' and licenses/license/name!='BSD-style license' and licenses/license/name!='Apache License, Version 2.0'" - REPORT_PATH: "target/generated-resources/licenses.xml" + ALLOW_LICENSES: " + licenses/license/name!='Apache License, Version 2.0' and + not(contains(licenses/license/url, '://www.apache.org/licenses/LICENSE-2.0.txt')) and + + licenses/license/name!='BSD License' and + not(contains(licenses/license/url, 'antlr.org/license.html')) and + + licenses/license/name!='New BSD License' and + not(contains(licenses/license/url, '://www.opensource.org/licenses/bsd-license.php')) and + + licenses/license/name!='BSD-3-Clause' and + not(contains(licenses/license/url, '://asm.ow2.io/license.html')) and + + licenses/license/name!='Eclipse Public License - v 1.0' and + not(contains(licenses/license/url, '://www.eclipse.org/legal/epl-v10.html')) and + + licenses/license/name!='Eclipse Public License - v 2.0' and + not(contains(licenses/license/url, '://www.eclipse.org/legal/epl-v20.html')) and + not(contains(licenses/license/url, '://www.eclipse.org/legal/epl-2.0')) and + + licenses/license/name!='GNU Lesser General Public License' and + not(contains(licenses/license/url, '://www.gnu.org/licenses/old-licenses/lgpl-2.1.html')) and + + licenses/license/name!='GNU General Public License (GPL), version 2, with the Classpath exception' and + not(contains(licenses/license/url, '://openjdk.java.net/legal/gplv2+ce.html')) and + + licenses/license/name!='The MIT License' and + not(contains(licenses/license/url, '://opensource.org/licenses/MIT')) and + not(contains(licenses/license/url, '://www.opensource.org/licenses/mit-license.php')) and + + licenses/license/name!='CDDL + GPLv2 with classpath exception' and + not(contains(licenses/license/url, '://github.com/javaee/javax.annotation/blob/master/LICENSE')) and + + licenses/license/name!='Public Domain' + " + REPORT_PATH: "target/generated-resources" jobs: scan: runs-on: ubuntu-latest - strategy: - matrix: - module-folder: ["./", "./rosetta-ide", "./rosetta-runtime", "./rosetta-testing", "./rosetta-tools", "./rosetta-xcore-plugin-dependencies", "./rosetta-maven-plugin", "./rosetta-profiling"] steps: - uses: actions/checkout@v4 - name: Install XQ @@ -37,21 +68,19 @@ jobs: build-command: install run-tests: false - name: License XML report - run: mvn org.codehaus.mojo:license-maven-plugin:2.0.0:download-licenses + run: mvn org.codehaus.mojo:license-maven-plugin:2.4.0:aggregate-download-licenses - name: Validate XML report run: | - LICENSE_REPORT=`xq "//dependency[licenses/license/name!=${{ env.ALLOW_LICENSES }}]" ./${{ env.REPORT_PATH }}` - LINES_FOUND=`echo $LICENSE_REPORT | wc -l` - echo "License issues found ..." - if [ $LINES_FOUND -gt 1 ]; then echo $LICENSE_REPORT ; exit -1; fi - working-directory: ${{ matrix.module-folder }} + LICENSE_REPORT=`xq "//dependency[${{ env.ALLOW_LICENSES }}]" ./${{ env.REPORT_PATH }}/licenses.xml` + LINES_FOUND=`echo "$LICENSE_REPORT" | wc -l` + if [ $LINES_FOUND -gt 1 ]; then echo "License issues found ..." ; echo "$LICENSE_REPORT" ; exit -1; fi - name: Upload license reports - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: license-reports - path: '**/dependencies.html' + path: '**/${{ env.REPORT_PATH }}/' - name: Upload license XML reports - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: - name: license-xml-report - path: '**/${{ env.REPORT_PATH }}' + name: license-xml-reports + path: '**/${{ env.REPORT_PATH }}/licenses.xml'