This is an automated email from the ASF dual-hosted git repository.
nicoloboschi pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pulsar.git
The following commit(s) were added to refs/heads/master by this push:
new 8f4c0e058f9 [ci] Move owasp check into the main workflow (#17568)
8f4c0e058f9 is described below
commit 8f4c0e058f97213796862a198b637886f083bd9a
Author: Nicolò Boschi <[email protected]>
AuthorDate: Mon Sep 12 15:26:09 2022 +0200
[ci] Move owasp check into the main workflow (#17568)
---
.github/changes-filter.yaml | 5 ++
.github/workflows/ci-owasp-dep-check.yaml | 101 ------------------------------
.github/workflows/pulsar-ci.yaml | 68 ++++++++++++++++++++
3 files changed, 73 insertions(+), 101 deletions(-)
diff --git a/.github/changes-filter.yaml b/.github/changes-filter.yaml
index b14153acb82..82f5b22a8aa 100644
--- a/.github/changes-filter.yaml
+++ b/.github/changes-filter.yaml
@@ -12,3 +12,8 @@ tests:
- added|modified: '**/src/test/java/**/*.java'
cpp:
- 'pulsar-client-cpp/**'
+need_owasp:
+ - 'pom.xml'
+ - '**/pom.xml'
+ - 'src/owasp-dependency-check-false-positives.xml'
+ - 'src/owasp-dependency-check-suppressions.xml'
\ No newline at end of file
diff --git a/.github/workflows/ci-owasp-dep-check.yaml
b/.github/workflows/ci-owasp-dep-check.yaml
deleted file mode 100644
index 27f820fb20a..00000000000
--- a/.github/workflows/ci-owasp-dep-check.yaml
+++ /dev/null
@@ -1,101 +0,0 @@
-#
-# 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.
-#
-
-name: CI - Misc - OWASP Dependency Check
-on:
- pull_request:
- branches:
- - master
- push:
- branches:
- - branch-*
-
-env:
- MAVEN_OPTS: -Dhttp.keepAlive=false -Dmaven.wagon.http.pool=false
-Dmaven.wagon.http.retryHandler.class=standard
-Dmaven.wagon.http.retryHandler.count=3
-
-concurrency:
- group: ${{ github.workflow }}-${{ github.ref }}
- cancel-in-progress: true
-
-jobs:
-
- owasp-dep-check:
- name:
- runs-on: ubuntu-20.04
- timeout-minutes: 120
-
- steps:
- - name: checkout
- uses: actions/checkout@v2
-
- - name: Tune Runner VM
- uses: ./.github/actions/tune-runner-vm
-
- - name: Detect changed pom files
- id: changes
- uses: apache/pulsar-test-infra/paths-filter@master
- with:
- filters: |
- poms:
- - 'pom.xml'
- - '**/pom.xml'
- - 'src/owasp-dependency-check-false-positives.xml'
- - 'src/owasp-dependency-check-suppressions.xml'
- - '.github/workflows/ci-owasp-dep-check.yaml'
-
- - name: Cache local Maven repository
- if: ${{ steps.changes.outputs.poms == 'true' }}
- uses: actions/cache@v2
- with:
- path: |
- ~/.m2/repository/*/*/*
- !~/.m2/repository/org/apache/pulsar
- key: ${{ runner.os }}-m2-dependencies-all-${{
hashFiles('**/pom.xml') }}
- restore-keys: |
- ${{ runner.os }}-m2-dependencies-core-modules-${{
hashFiles('**/pom.xml') }}
- ${{ runner.os }}-m2-dependencies-core-modules-
-
- - name: Set up JDK 17
- uses: actions/setup-java@v2
- if: ${{ steps.changes.outputs.poms == 'true' }}
- with:
- distribution: 'temurin'
- java-version: 17
-
- - name: clean disk
- if: ${{ steps.changes.outputs.poms == 'true' }}
- run: |
- sudo swapoff -a
- sudo rm -rf /swapfile /usr/share/dotnet /usr/local/lib/android
/opt/ghc
- sudo apt clean
- docker rmi $(docker images -q) -f
- df -h
-
- # Projects dependent on flume, hdfs, hbase, and trino currently excluded
from the scan.
- - name: run "clean verify" to trigger dependency check
- if: ${{ steps.changes.outputs.poms == 'true' }}
- run: mvn -q -B -ntp clean verify -PskipDocker,owasp-dependency-check
-DskipTests -pl
'!pulsar-sql,!distribution/io,!distribution/offloaders,!tiered-storage/file-system,!pulsar-io/flume,!pulsar-io/hbase,!pulsar-io/hdfs2,!pulsar-io/hdfs3,!pulsar-io/docs,!pulsar-io/jdbc/openmldb'
-
- - name: Upload report
- uses: actions/upload-artifact@v3
- if: ${{ cancelled() || failure() }}
- continue-on-error: true
- with:
- name: dependency report
- path: target/dependency-check-report.html
diff --git a/.github/workflows/pulsar-ci.yaml b/.github/workflows/pulsar-ci.yaml
index 6185757a95e..1cc95c1f56c 100644
--- a/.github/workflows/pulsar-ci.yaml
+++ b/.github/workflows/pulsar-ci.yaml
@@ -855,6 +855,74 @@ jobs:
- name: build package
run: mvn -B clean package -DskipTests -T 1C -ntp
+ owasp-dep-check:
+ name: OWASP dependency check
+ runs-on: ubuntu-20.04
+ timeout-minutes: 120
+ needs: [ 'changed_files_job', 'integration-tests' ]
+ if: ${{ needs.changed_files_job.outputs.need_owasp == 'true' }}
+ steps:
+ - name: checkout
+ uses: actions/checkout@v2
+
+ - name: Tune Runner VM
+ uses: ./.github/actions/tune-runner-vm
+
+ - name: Setup ssh access to build runner VM
+ # ssh access is enabled for builds in own forks
+ if: ${{ github.repository != 'apache/pulsar' }}
+ uses: ./.github/actions/ssh-access
+ with:
+ limit-access-to-actor: true
+
+ - name: Cache Maven dependencies
+ uses: actions/cache@v2
+ with:
+ path: |
+ ~/.m2/repository/*/*/*
+ !~/.m2/repository/org/apache/pulsar
+ key: ${{ runner.os }}-m2-dependencies-core-modules-${{
hashFiles('**/pom.xml') }}
+ restore-keys: |
+ ${{ runner.os }}-m2-dependencies-core-modules-
+ - name: Set up JDK ${{ matrix.jdk || '17' }}
+ uses: actions/setup-java@v2
+ with:
+ distribution: 'temurin'
+ java-version: ${{ matrix.jdk || '17' }}
+
+ - name: clean disk
+ run: |
+ sudo swapoff -a
+ sudo rm -rf /swapfile /usr/share/dotnet /usr/local/lib/android
/opt/ghc
+ sudo apt clean
+ docker rmi $(docker images -q) -f
+ df -h
+ - name: Install gh-actions-artifact-client.js
+ uses: apache/pulsar-test-infra/gh-actions-artifact-client/dist@master
+
+ - name: Restore maven build results from Github artifact cache
+ run: |
+ cd $HOME
+ $GITHUB_WORKSPACE/build/pulsar_ci_tool.sh
restore_tar_from_github_actions_artifacts pulsar-maven-repository-binaries
+ # Projects dependent on flume, hdfs, hbase, and presto currently
excluded from the scan.
+ - name: run "clean verify" to trigger dependency check
+ run: mvn -q -B -ntp verify -PskipDocker,owasp-dependency-check
-DskipTests -pl
'!pulsar-sql,!distribution/io,!distribution/offloaders,!tiered-storage/file-system,!pulsar-io/flume,!pulsar-io/hbase,!pulsar-io/hdfs2,!pulsar-io/hdfs3,!pulsar-io/docs,!pulsar-io/jdbc/openmldb'
+
+ - name: Upload report
+ uses: actions/upload-artifact@v3
+ if: ${{ cancelled() || failure() }}
+ continue-on-error: true
+ with:
+ name: dependency report
+ path: target/dependency-check-report.html
+
+ - name: Wait for ssh connection when build fails
+ # ssh access is enabled for builds in own forks
+ uses: ./.github/actions/ssh-access
+ if: ${{ failure() && github.repository != 'apache/pulsar' }}
+ continue-on-error: true
+ with:
+ action: wait
# This job is required for pulls to be merged.
# It depends on all other jobs in this workflow.