Skip to content

Commit 0a2bb9c

Browse files
authored
Black Duck SCA Scan with Bridge CLI
1 parent dee54a1 commit 0a2bb9c

1 file changed

Lines changed: 65 additions & 0 deletions

File tree

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
name: blackducksca-bridge-cli
2+
on:
3+
push:
4+
branches: [ main, master, develop, stage, release ]
5+
pull_request:
6+
branches: [ main, master, develop, stage, release ]
7+
workflow_dispatch:
8+
jobs:
9+
blackduck:
10+
runs-on: [ mac-arm-sh ]
11+
defaults:
12+
run:
13+
working-directory: ${{ github.workspace }}/nodejs-npm
14+
15+
env:
16+
BRIDGE_BLACKDUCKSCA_URL: ${{ vars.BLACKDUCK_URL }}
17+
BRIDGE_BLACKDUCKSCA_TOKEN: ${{ secrets.BLACKDUCK_TOKEN }}
18+
BRIDGE_GITHUB_USER_TOKEN: ${{ secrets.GITHUB_TOKEN }}
19+
BRIDGE_GITHUB_REPOSITORY_OWNER_NAME: ${{ github.repository_owner }}
20+
BRIDGE_GITHUB_REPOSITORY_NAME: ${{ github.event.repository.name }}
21+
BRIDGE_GITHUB_REPOSITORY_BRANCH_NAME: ${{ github.ref_name }}
22+
### FIX PULL REQUEST CREATION
23+
BRIDGE_BLACKDUCKSCA_FIXPR_ENABLED: "true"
24+
### SARIF report parameters
25+
BRIDGE_BLACKDUCKSCA_REPORTS_SARIF_CREATE: "true"
26+
BRIDGE_DOWNLOAD_URL: https://repo.blackduck.com/bds-integrations-release/com/blackduck/integration/bridge/binaries/bridge-cli-bundle/latest
27+
BRIDGE_PROJECT_DIRECTORY: ${{ github.workspace }}/nodejs-npm
28+
29+
steps:
30+
- name: Checkout Source
31+
uses: actions/checkout@v4
32+
- name: Setup Node.js
33+
uses: actions/setup-node@v4
34+
with:
35+
node-version: '18'
36+
37+
- name: Install dependencies
38+
run: npm install
39+
40+
- name: Build Project
41+
run: |
42+
npm rebuild
43+
44+
- name: Download & Setup Bridge CLI on Windows
45+
if: runner.os == 'Windows'
46+
shell: powershell
47+
run: |-
48+
curl.exe -L -o $env:TEMP\bridge.zip "$env:BRIDGE_DOWNLOAD_URL/bridge-cli-bundle-win64.zip"
49+
Expand-Archive $env:TEMP\bridge.zip -DestinationPath $env:TEMP\bridge -Force
50+
$exe = Get-ChildItem $env:TEMP\bridge -Recurse -Filter bridge-cli.exe | Select-Object -First 1
51+
"BRIDGE_CLI_INSTALL_DIR=$($exe.FullName)" | Out-File -FilePath $env:GITHUB_ENV -Append
52+
53+
- name: Download & Setup Bridge CLI on macOS/Linux
54+
if: runner.os != 'Windows'
55+
shell: bash
56+
run: |-
57+
OS=$([[ "$RUNNER_OS" == "macOS" ]] && ([[ $(uname -m) =~ arm ]] && echo macos_arm || echo macosx) || ([[ $(uname -m) =~ arm ]] && echo linux_arm || echo linux64))
58+
curl -sSL -o bridge.zip "$BRIDGE_DOWNLOAD_URL/bridge-cli-bundle-$OS.zip"
59+
unzip -qo bridge.zip -d "$RUNNER_TEMP"
60+
echo "BRIDGE_CLI_INSTALL_DIR=$(find "$RUNNER_TEMP" -type f -name bridge-cli | head -n1)" >> "$GITHUB_ENV"
61+
62+
- name: Black Duck SCA Scan
63+
run: ${{ env.BRIDGE_CLI_INSTALL_DIR }} --stage blackducksca
64+
65+

0 commit comments

Comments
 (0)