Skip to content

Commit 70219cc

Browse files
[WIP] Add remaining apps
1 parent 947f812 commit 70219cc

File tree

1 file changed

+195
-0
lines changed

1 file changed

+195
-0
lines changed

.github/workflows/sbom.yaml

Lines changed: 195 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,31 @@ jobs:
7676
npx @cyclonedx/cyclonedx-npm --ignore-npm-errors --output-format XML --output-file './bom.nextcloud.npm.xml'
7777
7878
79+
#
80+
# Theme
81+
#
82+
83+
# SBOM for NPM (install and generate)
84+
85+
- name: Set up node with version from package.json's engines
86+
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2
87+
with:
88+
node-version-file: "themes/nc-ionos-theme/IONOS/package.json"
89+
90+
- name: "Install dependencies (theme - npm)"
91+
run: |
92+
cd themes/nc-ionos-theme/IONOS
93+
npm ci
94+
95+
- name: Generate SBOM (theme - npm)
96+
#
97+
# See previous step's comment on these options
98+
#
99+
run: |
100+
cd themes/nc-ionos-theme/IONOS
101+
npx @cyclonedx/cyclonedx-npm --ignore-npm-errors --output-format XML --output-file '../../../bom.hidrive-next-theme.xml'
102+
103+
79104
# Apps
80105
#
81106
# Apps reference custom-npms via relative paths and can therefor not
@@ -156,7 +181,158 @@ jobs:
156181
cd apps-custom/nc_theming
157182
composer CycloneDX:make-sbom --output-file=../../bom.app-theming.xml
158183
184+
#
185+
# App: viewer
186+
#
187+
188+
# SBOM for composer (generate)
189+
190+
- name: Generate SBOM (apps:viewer - composer)
191+
# https://packagist.org/packages/cyclonedx/cyclonedx-php-composer
192+
run: |
193+
cd apps-external/viewer
194+
composer CycloneDX:make-sbom --output-file=../../bom.app-viewer.composer.xml
195+
196+
# SBOM for NPM (install and generate)
197+
198+
- name: Set up node with version from package.json's engines
199+
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2
200+
with:
201+
node-version-file: "apps-external/viewer/package.json"
159202

203+
- name: "Install dependencies (apps:viewer - npm)"
204+
run: |
205+
cd apps-external/viewer
206+
npm ci
207+
208+
- name: Generate SBOM (apps:viewer - npm)
209+
#
210+
# See previous step's comment on these options
211+
#
212+
run: |
213+
cd apps-external/viewer
214+
npx @cyclonedx/cyclonedx-npm --ignore-npm-errors --output-format XML --output-file '../../bom.app-viewer.npm.xml'
215+
216+
217+
#
218+
# App: user_oidc
219+
#
220+
221+
# SBOM for composer (generate)
222+
223+
- name: Generate SBOM (apps:user_oidc - composer)
224+
# https://packagist.org/packages/cyclonedx/cyclonedx-php-composer
225+
run: |
226+
cd apps-external/user_oidc
227+
composer CycloneDX:make-sbom --output-file=../../bom.app-user_oidc.composer.xml
228+
229+
# SBOM for NPM (install and generate)
230+
231+
- name: Set up node with version from package.json's engines
232+
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2
233+
with:
234+
node-version-file: "apps-external/user_oidc/package.json"
235+
236+
- name: "Install dependencies (apps:user_oidc - npm)"
237+
run: |
238+
cd apps-external/user_oidc
239+
npm ci
240+
241+
- name: Generate SBOM (apps:user_oidc - npm)
242+
#
243+
# See previous step's comment on these options
244+
#
245+
run: |
246+
cd apps-external/user_oidc
247+
npx @cyclonedx/cyclonedx-npm --ignore-npm-errors --output-format XML --output-file '../../bom.app-user_oidc.npm.xml'
248+
249+
#
250+
# App: groupquota
251+
#
252+
253+
# SBOM for composer (generate)
254+
255+
- name: Generate SBOM (apps:groupquota - composer)
256+
# https://packagist.org/packages/cyclonedx/cyclonedx-php-composer
257+
run: |
258+
cd apps-external/groupquota
259+
composer CycloneDX:make-sbom --output-file=../../bom.app-groupquota.xml
260+
261+
#
262+
# App: richdocuments
263+
#
264+
265+
# SBOM for composer (generate)
266+
267+
- name: Generate SBOM (apps:richdocuments - composer)
268+
# https://packagist.org/packages/cyclonedx/cyclonedx-php-composer
269+
run: |
270+
cd apps-external/richdocuments
271+
composer CycloneDX:make-sbom --output-file=../../bom.app-richdocuments.composer.xml
272+
273+
# SBOM for NPM (install and generate)
274+
275+
- name: Set up node with version from package.json's engines
276+
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2
277+
with:
278+
node-version-file: "apps-external/richdocuments/package.json"
279+
280+
- name: "Install dependencies (apps:richdocuments - npm)"
281+
run: |
282+
cd apps-external/richdocuments
283+
npm ci
284+
285+
- name: Generate SBOM (apps:richdocuments - npm)
286+
#
287+
# See previous step's comment on these options
288+
#
289+
run: |
290+
cd apps-external/richdocuments
291+
npx @cyclonedx/cyclonedx-npm --ignore-npm-errors --output-format XML --output-file '../../bom.app-richdocuments.npm.xml'
292+
293+
#
294+
# App: files_downloadlimit
295+
#
296+
297+
# SBOM for composer (generate)
298+
299+
- name: Generate SBOM (apps:files_downloadlimit - composer)
300+
# https://packagist.org/packages/cyclonedx/cyclonedx-php-composer
301+
run: |
302+
cd apps-external/files_downloadlimit
303+
composer CycloneDX:make-sbom --output-file=../../bom.app-files_downloadlimit.composer.xml
304+
305+
# SBOM for NPM (install and generate)
306+
307+
- name: Set up node with version from package.json's engines
308+
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2
309+
with:
310+
node-version-file: "apps-external/files_downloadlimit/package.json"
311+
312+
- name: "Install dependencies (apps:files_downloadlimit - npm)"
313+
run: |
314+
cd apps-external/files_downloadlimit
315+
npm ci
316+
317+
- name: Generate SBOM (apps:files_downloadlimit - npm)
318+
#
319+
# See previous step's comment on these options
320+
#
321+
run: |
322+
cd apps-external/files_downloadlimit
323+
npx @cyclonedx/cyclonedx-npm --ignore-npm-errors --output-format XML --output-file '../../bom.app-files_downloadlimit.npm.xml'
324+
325+
#
326+
# App: serverinfo
327+
#
328+
329+
# SBOM for composer (generate)
330+
331+
- name: Generate SBOM (apps:serverinfo - composer)
332+
# https://packagist.org/packages/cyclonedx/cyclonedx-php-composer
333+
run: |
334+
cd apps-external/serverinfo
335+
composer CycloneDX:make-sbom --output-file=../../bom.app-serverinfo.xml
160336
161337
162338
# Pass BOMs to next Job
@@ -167,6 +343,7 @@ jobs:
167343
name: bom-partials
168344
path: |
169345
bom.nextcloud.*.xml
346+
bom.hidrive-next-theme.*.xml
170347
bom.app-*.xml
171348
172349
merge-sboms:
@@ -201,6 +378,10 @@ jobs:
201378
202379
merge_bom "nextcloud"
203380
merge_bom "app-simplesettings"
381+
merge_bom "app-viewer"
382+
merge_bom "app-user_oidc"
383+
merge_bom "app-richdocuments"
384+
merge_bom "app-files_downloadlimit"
204385
205386
- name: Show BOMs
206387
run: |
@@ -214,10 +395,17 @@ jobs:
214395
name: final-boms
215396
path: |
216397
bom.nextcloud.xml
398+
bom.hidrive-next-theme.xml
217399
bom.app-simplesettings.xml
218400
bom.app-googleanalytics.xml
219401
bom.app-ionos-processes.xml
220402
bom.app-theming.xml
403+
bom.app-viewer.xml
404+
bom.app-user_oidc.xml
405+
bom.app-groupquota.xml
406+
bom.app-richdocuments.xml
407+
bom.app-files_downloadlimit.xml
408+
bom.app-serverinfo.xml
221409
222410
upload-sboms:
223411
needs: merge-sboms
@@ -252,8 +440,15 @@ jobs:
252440
}
253441
254442
upload_bom "bom.nextcloud.xml" "${{ vars.DT_OBJECT_NEXTCLOUD }}" \
443+
&& upload_bom "bom.hidrive-next-theme.xml" "${{ vars.DT_OBJECT_THEME }}" \
255444
&& upload_bom "bom.app-simplesettings.xml" "${{ vars.DT_OBJECT_APP_SIMPLESETTINGS }}" \
256445
&& upload_bom "bom.app-googleanalytics.xml" "${{ vars.DT_OBJECT_APP_GOOGLE_ANALYTICS }}" \
257446
&& upload_bom "bom.app-ionos-processes.xml" "${{ vars.DT_OBJECT_APP_IONOS_PROCESSES }}" \
258447
&& upload_bom "bom.app-theming.xml" "${{ vars.DT_OBJECT_APP_THEMING }}" \
448+
&& upload_bom "bom.app-viewer.xml" "${{ vars.DT_OBJECT_APP_VIEWER }}" \
449+
&& upload_bom "bom.app-user_oidc.xml" "${{ vars.DT_OBJECT_APP_USER_OIDC }}" \
450+
&& upload_bom "bom.app-groupquota.xml" "${{ vars.DT_OBJECT_APP_GROUPQUOTA }}" \
451+
&& upload_bom "bom.app-richdocuments.xml" "${{ vars.DT_OBJECT_APP_RICHDOCUMENTS }}" \
452+
&& upload_bom "bom.app-files_downloadlimit.xml" "${{ vars.DT_OBJECT_APP_FILES_DOWNLOADLIMIT }}" \
453+
&& upload_bom "bom.app-serverinfo.xml" "${{ vars.DT_OBJECT_APP_SERVERINFO }}" \
259454
|| exit 1

0 commit comments

Comments
 (0)