From d15180aa578ed02a787bc6355e8ee4fc718ef2bd Mon Sep 17 00:00:00 2001
From: Maxim Zakharov <maxim.m.zakharov@intel.com>
Date: Tue, 29 Dec 2020 20:50:02 +0300
Subject: [PATCH] list_components publishing to GitHub Pages (#37)

---
 .github/workflows/list_components.yml         | 150 +++++++++++++++---
 .gitignore                                    |   1 +
 .reuse/dep5                                   |   8 +
 doc/Makefile                                  |  20 +++
 doc/make.bat                                  |  35 ++++
 doc/requirements.txt                          |   8 +
 doc/source/_static/favicons.png               | Bin 0 -> 467 bytes
 doc/source/_static/oneAPI-rgb-rev-100.png     | Bin 0 -> 7414 bytes
 doc/source/conf.py                            |  67 ++++++++
 doc/source/index.rst                          |  94 +++++++++++
 doc/source/list_components/linux_aikit.txt    |   1 +
 doc/source/list_components/linux_apt.txt      |   1 +
 doc/source/list_components/linux_basekit.txt  |   1 +
 doc/source/list_components/linux_dlfdkit.txt  |   1 +
 doc/source/list_components/linux_hpckit.txt   |   1 +
 doc/source/list_components/linux_iotkit.txt   |   1 +
 .../list_components/linux_renderkit.txt       |   1 +
 doc/source/list_components/linux_yum_dnf.txt  |   1 +
 doc/source/list_components/macos_basekit.txt  |   1 +
 doc/source/list_components/macos_hpckit.txt   |   1 +
 .../list_components/macos_renderkit.txt       |   1 +
 .../list_components/windows_basekit.txt       |   1 +
 doc/source/list_components/windows_hpckit.txt |   1 +
 doc/source/list_components/windows_iotkit.txt |   1 +
 .../list_components/windows_renderkit.txt     |   1 +
 scripts/list_components_linux.sh              |   4 +-
 scripts/list_components_linux_apt.sh          |   4 +-
 scripts/list_components_linux_dnf.sh          |   4 +-
 scripts/list_components_macos.sh              |   5 +-
 scripts/list_components_windows.bat           |   6 +-
 30 files changed, 397 insertions(+), 24 deletions(-)
 create mode 100644 .reuse/dep5
 create mode 100644 doc/Makefile
 create mode 100644 doc/make.bat
 create mode 100644 doc/requirements.txt
 create mode 100644 doc/source/_static/favicons.png
 create mode 100644 doc/source/_static/oneAPI-rgb-rev-100.png
 create mode 100644 doc/source/conf.py
 create mode 100644 doc/source/index.rst
 create mode 100644 doc/source/list_components/linux_aikit.txt
 create mode 100644 doc/source/list_components/linux_apt.txt
 create mode 100644 doc/source/list_components/linux_basekit.txt
 create mode 100644 doc/source/list_components/linux_dlfdkit.txt
 create mode 100644 doc/source/list_components/linux_hpckit.txt
 create mode 100644 doc/source/list_components/linux_iotkit.txt
 create mode 100644 doc/source/list_components/linux_renderkit.txt
 create mode 100644 doc/source/list_components/linux_yum_dnf.txt
 create mode 100644 doc/source/list_components/macos_basekit.txt
 create mode 100644 doc/source/list_components/macos_hpckit.txt
 create mode 100644 doc/source/list_components/macos_renderkit.txt
 create mode 100644 doc/source/list_components/windows_basekit.txt
 create mode 100644 doc/source/list_components/windows_hpckit.txt
 create mode 100644 doc/source/list_components/windows_iotkit.txt
 create mode 100644 doc/source/list_components/windows_renderkit.txt

diff --git a/.github/workflows/list_components.yml b/.github/workflows/list_components.yml
index 191ccd1..28de752 100644
--- a/.github/workflows/list_components.yml
+++ b/.github/workflows/list_components.yml
@@ -31,59 +31,95 @@ jobs:
         shell: bash
     steps:
     - uses: actions/checkout@v2
+    - uses: actions/setup-python@v2
+      with:
+        python-version: '3.x'
     - name: Intel® oneAPI Base Toolkit
-      run: scripts/list_components_windows.bat $WINDOWS_BASEKIT_URL
+      run: scripts/list_components_windows.bat $WINDOWS_BASEKIT_URL doc\\source\\${{ github.workflow }}\\${{ github.job }}_basekit.txt
     - name: Intel® oneAPI HPC Toolkit
-      run: scripts/list_components_windows.bat $WINDOWS_HPCKIT_URL
+      run: scripts/list_components_windows.bat $WINDOWS_HPCKIT_URL doc\\source\\${{ github.workflow }}\\${{ github.job }}_hpckit.txt
     - name: Intel® oneAPI IoT Toolkit
-      run: scripts/list_components_windows.bat $WINDOWS_IOTKIT_URL
+      run: scripts/list_components_windows.bat $WINDOWS_IOTKIT_URL doc\\source\\${{ github.workflow }}\\${{ github.job }}_iotkit.txt
     - name: Intel® oneAPI Rendering Toolkit
-      run: scripts/list_components_windows.bat $WINDOWS_RENDERKIT_URL
+      run: scripts/list_components_windows.bat $WINDOWS_RENDERKIT_URL doc\\source\\${{ github.workflow }}\\${{ github.job }}_renderkit.txt
+
+    - name: Upload artifacts
+      uses: actions/upload-artifact@v2
+      with:
+        name: ${{ github.job }}
+        path: doc/source/${{ github.workflow }}/${{ github.job }}_*
 
   linux:
-    runs-on: ubuntu-latest
+    runs-on: ubuntu-20.04
     defaults:
       run:
         shell: bash
     steps:
     - uses: actions/checkout@v2
+    - uses: actions/setup-python@v2
+      with:
+        python-version: '3.x'
     - name: Intel® oneAPI Base Toolkit
-      run: scripts/list_components_linux.sh $LINUX_BASEKIT_URL
+      run: scripts/list_components_linux.sh $LINUX_BASEKIT_URL doc/source/${{ github.workflow }}/${{ github.job }}_basekit.txt
     - name: Intel® oneAPI HPC Toolkit
-      run: scripts/list_components_linux.sh $LINUX_HPCKIT_URL
+      run: scripts/list_components_linux.sh $LINUX_HPCKIT_URL doc/source/${{ github.workflow }}/${{ github.job }}_hpckit.txt
     - name: Intel® oneAPI IoT Toolkit
-      run: scripts/list_components_linux.sh $LINUX_IOTKIT_URL
+      run: scripts/list_components_linux.sh $LINUX_IOTKIT_URL doc/source/${{ github.workflow }}/${{ github.job }}_iotkit.txt
     - name: Intel® AI Analytics Toolkit
-      run: scripts/list_components_linux.sh $LINUX_AIKIT_URL
+      run: scripts/list_components_linux.sh $LINUX_AIKIT_URL doc/source/${{ github.workflow }}/${{ github.job }}_aikit.txt
     - name: Intel® oneAPI DL Framework Developer Toolkit
-      run: scripts/list_components_linux.sh $LINUX_DLFDKIT_URL
+      run: scripts/list_components_linux.sh $LINUX_DLFDKIT_URL doc/source/${{ github.workflow }}/${{ github.job }}_dlfdkit.txt
     - name: Intel® oneAPI Rendering Toolkit
-      run: scripts/list_components_linux.sh $LINUX_RENDERKIT_URL
+      run: scripts/list_components_linux.sh $LINUX_RENDERKIT_URL doc/source/${{ github.workflow }}/${{ github.job }}_renderkit.txt
+
+    - name: Upload artifacts
+      uses: actions/upload-artifact@v2
+      with:
+        name: ${{ github.job }}
+        path: doc/source/${{ github.workflow }}/${{ github.job }}_*
 
   linux_apt:
-    runs-on: ubuntu-latest
+    runs-on: ubuntu-20.04
     defaults:
       run:
         shell: bash
     steps:
     - uses: actions/checkout@v2
+    - uses: actions/setup-python@v2
+      with:
+        python-version: '3.x'
     - name: setup apt repo
       run: scripts/setup_apt_repo_linux.sh
     - name: Intel® oneAPI packages provided in APT repository
-      run: scripts/list_components_linux_apt.sh
+      run: scripts/list_components_linux_apt.sh doc/source/${{ github.workflow }}/${{ github.job }}.txt
+
+    - name: Upload artifacts
+      uses: actions/upload-artifact@v2
+      with:
+        name: ${{ github.job }}
+        path: doc/source/${{ github.workflow }}/${{ github.job }}.txt
 
   linux_yum_dnf:
-    runs-on: ubuntu-latest
+    runs-on: ubuntu-20.04
     container: fedora
     defaults:
       run:
         shell: bash
     steps:
     - uses: actions/checkout@v2
+    - uses: actions/setup-python@v2
+      with:
+        python-version: '3.x'
     - name: setup yum/dnf repo
       run: scripts/setup_yum_dnf_repo_linux.sh
     - name: Intel® oneAPI packages provided in YUM/DNF repository
-      run: scripts/list_components_linux_dnf.sh
+      run: scripts/list_components_linux_dnf.sh doc/source/${{ github.workflow }}/${{ github.job }}.txt
+
+    - name: Upload artifacts
+      uses: actions/upload-artifact@v2
+      with:
+        name: ${{ github.job }}
+        path: doc/source/${{ github.workflow }}/${{ github.job }}.txt
 
   macos:
     runs-on: macos-latest
@@ -92,9 +128,87 @@ jobs:
         shell: bash
     steps:
     - uses: actions/checkout@v2
+    - uses: actions/setup-python@v2
+      with:
+        python-version: '3.x'
     - name: Intel® oneAPI Base Toolkit
-      run: scripts/list_components_macos.sh $MACOS_BASEKIT_URL
+      run: scripts/list_components_macos.sh $MACOS_BASEKIT_URL doc/source/${{ github.workflow }}/${{ github.job }}_basekit.txt
     - name: Intel® oneAPI HPC Toolkit
-      run: scripts/list_components_macos.sh $MACOS_HPCKIT_URL
+      run: scripts/list_components_macos.sh $MACOS_HPCKIT_URL doc/source/${{ github.workflow }}/${{ github.job }}_hpckit.txt
     - name: Intel® oneAPI Rendering Toolkit
-      run: scripts/list_components_macos.sh $MACOS_RENDERKIT_URL
+      run: scripts/list_components_macos.sh $MACOS_RENDERKIT_URL doc/source/${{ github.workflow }}/${{ github.job }}_renderkit.txt
+
+    - name: Upload artifacts
+      uses: actions/upload-artifact@v2
+      with:
+        name: ${{ github.job }}
+        path: doc/source/${{ github.workflow }}/${{ github.job }}_*
+
+  publish:
+    runs-on: ubuntu-20.04
+    needs: [windows, linux, linux_apt, linux_yum_dnf, macos]
+    defaults:
+      run:
+        shell: bash
+        working-directory: doc
+    steps:
+    - uses: actions/checkout@v2
+    - name: Download artifacts - windows
+      uses: actions/download-artifact@v2
+      with:
+        name: windows
+        path: doc/source/${{ github.workflow }}
+    - name: Download artifacts - linux
+      uses: actions/download-artifact@v2
+      with:
+        name: linux
+        path: doc/source/${{ github.workflow }}
+    - name: Download artifacts - linux_apt
+      uses: actions/download-artifact@v2
+      with:
+        name: linux_apt
+        path: doc/source/${{ github.workflow }}
+    - name: Download artifacts - linux_yum_dnf
+      uses: actions/download-artifact@v2
+      with:
+        name: linux_yum_dnf
+        path: doc/source/${{ github.workflow }}
+    - name: Download artifacts - macos
+      uses: actions/download-artifact@v2
+      with:
+        name: macos
+        path: doc/source/${{ github.workflow }}
+    - uses: actions/setup-python@v2
+      with:
+        python-version: '3.x'
+    - name: Install prerequisites
+      run: python -m pip install --quiet -r requirements.txt
+    - name: Build doc
+      run: |
+        find source/${{ github.workflow }} -type f -maxdepth 1 ! -name "*apt*" ! -name "*yum*" -exec sed -i -e 1,5d {} \;
+        find source/${{ github.workflow }} -type f -maxdepth 1 -name "*windows*" -exec sed -i -e 1,2d {} \;
+        sed -i -e 1,7d source/${{ github.workflow }}/linux_yum_dnf.txt
+        make html
+    - name: Save built doc as artifact
+      uses: actions/upload-artifact@v2
+      with:
+          name: ${{ github.job }}
+          path: doc/build
+    - name: Checkout gh-pages
+      if: ${{ github.ref == 'refs/heads/master' }}
+      uses: actions/checkout@v2
+      with:
+        ref: gh-pages
+        path: gh-pages
+    - name: Publish to github pages
+      if: ${{ github.ref == 'refs/heads/master' }}
+      run: |
+          cd ../gh-pages
+          rm -rf *
+          touch .nojekyll
+          cp -r ../doc/build/html/* .
+          git config user.name github-actions
+          git config user.email github-actions@github.com
+          git add .
+          git commit -m "Update from github actions"
+          git push
diff --git a/.gitignore b/.gitignore
index 29c781c..c69b892 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,3 +5,4 @@
 *~
 src/*.bin
 src/*.out
+doc/build
diff --git a/.reuse/dep5 b/.reuse/dep5
new file mode 100644
index 0000000..05f6841
--- /dev/null
+++ b/.reuse/dep5
@@ -0,0 +1,8 @@
+Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: oneapi-ci
+Upstream-Contact: Maxim Zakharov <maxim.m.zakharov@intel.com>
+Source:
+
+Files: doc/*
+Copyright: 2020 Intel Corporation
+License: CC-BY-4.0
diff --git a/doc/Makefile b/doc/Makefile
new file mode 100644
index 0000000..d0c3cbf
--- /dev/null
+++ b/doc/Makefile
@@ -0,0 +1,20 @@
+# Minimal makefile for Sphinx documentation
+#
+
+# You can set these variables from the command line, and also
+# from the environment for the first two.
+SPHINXOPTS    ?=
+SPHINXBUILD   ?= sphinx-build
+SOURCEDIR     = source
+BUILDDIR      = build
+
+# Put it first so that "make" without argument is like "make help".
+help:
+	@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
+
+.PHONY: help Makefile
+
+# Catch-all target: route all unknown targets to Sphinx using the new
+# "make mode" option.  $(O) is meant as a shortcut for $(SPHINXOPTS).
+%: Makefile
+	@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
diff --git a/doc/make.bat b/doc/make.bat
new file mode 100644
index 0000000..6247f7e
--- /dev/null
+++ b/doc/make.bat
@@ -0,0 +1,35 @@
+@ECHO OFF
+
+pushd %~dp0
+
+REM Command file for Sphinx documentation
+
+if "%SPHINXBUILD%" == "" (
+	set SPHINXBUILD=sphinx-build
+)
+set SOURCEDIR=source
+set BUILDDIR=build
+
+if "%1" == "" goto help
+
+%SPHINXBUILD% >NUL 2>NUL
+if errorlevel 9009 (
+	echo.
+	echo.The 'sphinx-build' command was not found. Make sure you have Sphinx
+	echo.installed, then set the SPHINXBUILD environment variable to point
+	echo.to the full path of the 'sphinx-build' executable. Alternatively you
+	echo.may add the Sphinx directory to PATH.
+	echo.
+	echo.If you don't have Sphinx installed, grab it from
+	echo.http://sphinx-doc.org/
+	exit /b 1
+)
+
+%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
+goto end
+
+:help
+%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
+
+:end
+popd
diff --git a/doc/requirements.txt b/doc/requirements.txt
new file mode 100644
index 0000000..7d7a7bc
--- /dev/null
+++ b/doc/requirements.txt
@@ -0,0 +1,8 @@
+# SPDX-FileCopyrightText: 2020 Intel Corporation
+#
+# SPDX-License-Identifier: MIT
+
+reuse
+Sphinx
+sphinx-book-theme
+sphinxcontrib-spelling
diff --git a/doc/source/_static/favicons.png b/doc/source/_static/favicons.png
new file mode 100644
index 0000000000000000000000000000000000000000..f450376b19e2d945e6d2da8b329de8aed320a9b7
GIT binary patch
literal 467
zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4rT@h1`S>QU<L*T=3*z$5DpHG+YkL8FfcG|
z3GfMVbuaLl-t>uqfuTC-F#|T>sd<orfkBsLeTK_p1BSy3CqF9keY17(4~SYBhP5$f
zcNrMgq<h?FV3@$bu#$nn7$UWG=~p|3OAz*inzt$LS7x<+TGIb5%k?$`!>;0pYgP=G
z=5>G0_P-lxcC9((ts28NMuzE~rLShUeRh&Q%D}+Tkn~!H;dDXBeOZPx%nXwl82Wh_
zmTX%1bF0S;F9rq%o01^EV1|#^9%P=MwqaFO$DK#ZpUt1Ocl)vZ2S0Ux=xgFCX;`y=
zLEPhK&o9oJw&={Gn}0T+Tk!kY`=Xs2U+ryg+IoPq%<d-x14FZ?i(`ny)Y{WWg_sNl
zTrZyUndEouZb5nZkN^LZoE@tU-`yMhmBDVO*_H>_)jD@4Ow-?Hn|$kWf}{`6jkA9)
z@SjZG63@?hW^ty=fwg_wOwYsT2vpqr)NQzaO%kg%U;K*MyLL|R7y75}@Kv@|VNKuj
sxh~68k24nWP78@#6~wNp)V{5b+36xj|MHX39-!dzboFyt=akR{0Ebn&ZvX%Q

literal 0
HcmV?d00001

diff --git a/doc/source/_static/oneAPI-rgb-rev-100.png b/doc/source/_static/oneAPI-rgb-rev-100.png
new file mode 100644
index 0000000000000000000000000000000000000000..58d2d5c54e586b53d027d39236038dc60f5fea94
GIT binary patch
literal 7414
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

literal 0
HcmV?d00001

diff --git a/doc/source/conf.py b/doc/source/conf.py
new file mode 100644
index 0000000..a389166
--- /dev/null
+++ b/doc/source/conf.py
@@ -0,0 +1,67 @@
+# Configuration file for the Sphinx documentation builder.
+#
+# This file only contains a selection of the most common options. For a full
+# list see the documentation:
+# https://www.sphinx-doc.org/en/master/usage/configuration.html
+
+# -- Path setup --------------------------------------------------------------
+
+# If extensions (or modules to document with autodoc) are in another directory,
+# add these directories to sys.path here. If the directory is relative to the
+# documentation root, use os.path.abspath to make it absolute, like shown here.
+#
+# import os
+# import sys
+# sys.path.insert(0, os.path.abspath('.'))
+
+
+# -- Project information -----------------------------------------------------
+
+project = 'Intel® oneAPI CI Samples'
+copyright = '2020 Intel Corporation'
+author = 'Intel Corporation'
+
+
+# -- General configuration ---------------------------------------------------
+
+# Add any Sphinx extension module names here, as strings. They can be
+# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
+# ones.
+extensions = []
+
+# Add any paths that contain templates here, relative to this directory.
+templates_path = ['_templates']
+
+# List of patterns, relative to source directory, that match files and
+# directories to ignore when looking for source files.
+# This pattern also affects html_static_path and html_extra_path.
+exclude_patterns = []
+
+
+# -- Options for HTML output -------------------------------------------------
+
+# The theme to use for HTML and HTML Help pages.  See the documentation for
+# a list of builtin themes.
+#
+html_theme = 'sphinx_book_theme'
+html_title = "Intel® oneAPI CI Samples Documentation"
+html_logo = '_static/oneAPI-rgb-rev-100.png'
+html_favicon = '_static/favicons.png'
+
+# The theme to use for HTML and HTML Help pages.  See the documentation for
+# a list of builtin themes.
+#
+html_theme = 'sphinx_book_theme'
+
+html_theme_options = {
+    'repository_url': 'https://github.com/oneapi-src/oneapi-ci',
+    'path_to_docs': 'doc/source',
+    'use_issues_button': True,
+    'use_edit_page_button': True,
+    'repository_branch': 'master',
+}
+
+# Add any paths that contain custom static files (such as style sheets) here,
+# relative to this directory. They are copied after the builtin static files,
+# so a file named "default.css" will overwrite the builtin "default.css".
+html_static_path = ['_static']
diff --git a/doc/source/index.rst b/doc/source/index.rst
new file mode 100644
index 0000000..f8b9880
--- /dev/null
+++ b/doc/source/index.rst
@@ -0,0 +1,94 @@
+.. toctree::
+   :maxdepth: 2
+
+=====================================
+Components available for installation
+=====================================
+
+Windows, Web installer
+======================
+
+Intel\ |r| oneAPI Base Toolkit
+------------------------------
+.. include:: list_components/windows_basekit.txt
+   :literal:
+
+Intel\ |r| oneAPI HPC Toolkit
+-----------------------------
+.. include:: list_components/windows_hpckit.txt
+   :literal:
+
+Intel\ |r| oneAPI IoT Toolkit
+-----------------------------
+.. include:: list_components/windows_iotkit.txt
+   :literal:
+
+Intel\ |r| oneAPI Rendering Toolkit
+-----------------------------------
+.. include:: list_components/windows_renderkit.txt
+   :literal:
+
+Linux, Web installer
+====================
+
+Intel\ |r| oneAPI Base Toolkit
+------------------------------
+.. include:: list_components/linux_basekit.txt
+   :literal:
+
+Intel\ |r| oneAPI HPC Toolkit
+-----------------------------
+.. include:: list_components/linux_hpckit.txt
+   :literal:
+
+Intel\ |r| oneAPI IoT Toolkit
+-----------------------------
+.. include:: list_components/linux_iotkit.txt
+   :literal:
+
+Intel\ |r| AI Analytics Toolkit
+-------------------------------
+.. include:: list_components/linux_aikit.txt
+   :literal:
+
+Intel\ |r| oneAPI DL Framework Developer Toolkit
+------------------------------------------------
+.. include:: list_components/linux_dlfdkit.txt
+   :literal:
+
+Intel\ |r| oneAPI Rendering Toolkit
+-----------------------------------
+.. include:: list_components/linux_renderkit.txt
+   :literal:
+
+Linux, APT
+==========
+
+.. include:: list_components/linux_yum_dnf.txt
+   :literal:
+
+Linux, YUM/DNF
+==============
+
+.. include:: list_components/linux_apt.txt
+   :literal:
+
+MacOS, Web installer
+====================
+
+Intel\ |r| oneAPI Base Toolkit
+------------------------------
+.. include:: list_components/macos_basekit.txt
+   :literal:
+
+Intel\ |r| oneAPI HPC Toolkit
+-----------------------------
+.. include:: list_components/macos_hpckit.txt
+   :literal:
+
+Intel\ |r| oneAPI Rendering Toolkit
+-----------------------------------
+.. include:: list_components/macos_renderkit.txt
+   :literal:
+
+.. |r| unicode:: U+000AE
diff --git a/doc/source/list_components/linux_aikit.txt b/doc/source/list_components/linux_aikit.txt
new file mode 100644
index 0000000..5e7746d
--- /dev/null
+++ b/doc/source/list_components/linux_aikit.txt
@@ -0,0 +1 @@
+Content is generated by CI job.
diff --git a/doc/source/list_components/linux_apt.txt b/doc/source/list_components/linux_apt.txt
new file mode 100644
index 0000000..5e7746d
--- /dev/null
+++ b/doc/source/list_components/linux_apt.txt
@@ -0,0 +1 @@
+Content is generated by CI job.
diff --git a/doc/source/list_components/linux_basekit.txt b/doc/source/list_components/linux_basekit.txt
new file mode 100644
index 0000000..5e7746d
--- /dev/null
+++ b/doc/source/list_components/linux_basekit.txt
@@ -0,0 +1 @@
+Content is generated by CI job.
diff --git a/doc/source/list_components/linux_dlfdkit.txt b/doc/source/list_components/linux_dlfdkit.txt
new file mode 100644
index 0000000..5e7746d
--- /dev/null
+++ b/doc/source/list_components/linux_dlfdkit.txt
@@ -0,0 +1 @@
+Content is generated by CI job.
diff --git a/doc/source/list_components/linux_hpckit.txt b/doc/source/list_components/linux_hpckit.txt
new file mode 100644
index 0000000..5e7746d
--- /dev/null
+++ b/doc/source/list_components/linux_hpckit.txt
@@ -0,0 +1 @@
+Content is generated by CI job.
diff --git a/doc/source/list_components/linux_iotkit.txt b/doc/source/list_components/linux_iotkit.txt
new file mode 100644
index 0000000..5e7746d
--- /dev/null
+++ b/doc/source/list_components/linux_iotkit.txt
@@ -0,0 +1 @@
+Content is generated by CI job.
diff --git a/doc/source/list_components/linux_renderkit.txt b/doc/source/list_components/linux_renderkit.txt
new file mode 100644
index 0000000..5e7746d
--- /dev/null
+++ b/doc/source/list_components/linux_renderkit.txt
@@ -0,0 +1 @@
+Content is generated by CI job.
diff --git a/doc/source/list_components/linux_yum_dnf.txt b/doc/source/list_components/linux_yum_dnf.txt
new file mode 100644
index 0000000..5e7746d
--- /dev/null
+++ b/doc/source/list_components/linux_yum_dnf.txt
@@ -0,0 +1 @@
+Content is generated by CI job.
diff --git a/doc/source/list_components/macos_basekit.txt b/doc/source/list_components/macos_basekit.txt
new file mode 100644
index 0000000..5e7746d
--- /dev/null
+++ b/doc/source/list_components/macos_basekit.txt
@@ -0,0 +1 @@
+Content is generated by CI job.
diff --git a/doc/source/list_components/macos_hpckit.txt b/doc/source/list_components/macos_hpckit.txt
new file mode 100644
index 0000000..5e7746d
--- /dev/null
+++ b/doc/source/list_components/macos_hpckit.txt
@@ -0,0 +1 @@
+Content is generated by CI job.
diff --git a/doc/source/list_components/macos_renderkit.txt b/doc/source/list_components/macos_renderkit.txt
new file mode 100644
index 0000000..5e7746d
--- /dev/null
+++ b/doc/source/list_components/macos_renderkit.txt
@@ -0,0 +1 @@
+Content is generated by CI job.
diff --git a/doc/source/list_components/windows_basekit.txt b/doc/source/list_components/windows_basekit.txt
new file mode 100644
index 0000000..5e7746d
--- /dev/null
+++ b/doc/source/list_components/windows_basekit.txt
@@ -0,0 +1 @@
+Content is generated by CI job.
diff --git a/doc/source/list_components/windows_hpckit.txt b/doc/source/list_components/windows_hpckit.txt
new file mode 100644
index 0000000..5e7746d
--- /dev/null
+++ b/doc/source/list_components/windows_hpckit.txt
@@ -0,0 +1 @@
+Content is generated by CI job.
diff --git a/doc/source/list_components/windows_iotkit.txt b/doc/source/list_components/windows_iotkit.txt
new file mode 100644
index 0000000..5e7746d
--- /dev/null
+++ b/doc/source/list_components/windows_iotkit.txt
@@ -0,0 +1 @@
+Content is generated by CI job.
diff --git a/doc/source/list_components/windows_renderkit.txt b/doc/source/list_components/windows_renderkit.txt
new file mode 100644
index 0000000..5e7746d
--- /dev/null
+++ b/doc/source/list_components/windows_renderkit.txt
@@ -0,0 +1 @@
+Content is generated by CI job.
diff --git a/scripts/list_components_linux.sh b/scripts/list_components_linux.sh
index 5af58e6..8bad3aa 100755
--- a/scripts/list_components_linux.sh
+++ b/scripts/list_components_linux.sh
@@ -5,13 +5,15 @@
 # SPDX-License-Identifier: MIT
 
 URL=$1
+FILENAME=$2
 
 curl --output webimage.sh --url "$URL" --retry 5 --retry-delay 5
 chmod +x webimage.sh
 ./webimage.sh -x -f webimage_extracted --log extract.log
 rm -rf webimage.sh
 WEBIMAGE_NAME=$(ls -1 webimage_extracted/)
-webimage_extracted/"$WEBIMAGE_NAME"/bootstrapper --list-components
+webimage_extracted/"$WEBIMAGE_NAME"/bootstrapper --list-components > "$FILENAME"
 installer_exit_code=$?
+cat "$FILENAME"
 rm -rf webimage_extracted
 exit $installer_exit_code
diff --git a/scripts/list_components_linux_apt.sh b/scripts/list_components_linux_apt.sh
index ed3b3b1..308818a 100755
--- a/scripts/list_components_linux_apt.sh
+++ b/scripts/list_components_linux_apt.sh
@@ -4,4 +4,6 @@
 #
 # SPDX-License-Identifier: MIT
 
-sudo apt-cache search ^intel-
+FILENAME=$1
+
+sudo apt-cache search ^intel- | sudo tee "$FILENAME"
diff --git a/scripts/list_components_linux_dnf.sh b/scripts/list_components_linux_dnf.sh
index 4e54bc6..29a71b3 100755
--- a/scripts/list_components_linux_dnf.sh
+++ b/scripts/list_components_linux_dnf.sh
@@ -4,4 +4,6 @@
 #
 # SPDX-License-Identifier: MIT
 
-sudo dnf -y --disablerepo="*" --enablerepo="oneAPI" list available
+FILENAME=$1
+
+sudo dnf -y --disablerepo="*" --enablerepo="oneAPI" list available | sudo tee "$FILENAME"
diff --git a/scripts/list_components_macos.sh b/scripts/list_components_macos.sh
index 0722d75..5934003 100755
--- a/scripts/list_components_macos.sh
+++ b/scripts/list_components_macos.sh
@@ -5,10 +5,11 @@
 # SPDX-License-Identifier: MIT
 
 URL=$1
+FILENAME=$2
 
 curl --output webimage.dmg --url "$URL" --retry 5 --retry-delay 5
 hdiutil attach webimage.dmg -quiet
-sudo /Volumes/"$(basename "$URL" .dmg)"/bootstrapper.app/Contents/MacOS/bootstrapper --list-components
-hdiutil detach /Volumes/"$(basename "$URL" .dmg)" -quiet
+sudo /Volumes/"$(basename "$URL" .dmg)"/bootstrapper.app/Contents/MacOS/bootstrapper --list-components | sudo tee "$FILENAME"
 installer_exit_code=$?
+hdiutil detach /Volumes/"$(basename "$URL" .dmg)" -quiet
 exit $installer_exit_code
diff --git a/scripts/list_components_windows.bat b/scripts/list_components_windows.bat
index 3c91170..6176f08 100644
--- a/scripts/list_components_windows.bat
+++ b/scripts/list_components_windows.bat
@@ -3,8 +3,12 @@ REM
 REM SPDX-License-Identifier: MIT
 
 set URL=%1
+set FILENAME=%2
 
 curl.exe --output webimage.exe --url %URL% --retry 5 --retry-delay 5
 start /b /wait webimage.exe -s -x -f webimage_extracted --log extract.log
 del webimage.exe
-webimage_extracted\bootstrapper.exe --list-components
+webimage_extracted\bootstrapper.exe --list-components > %FILENAME%
+installer_exit_code=%ERRORLEVEL%
+type %FILENAME%
+exit /b %installer_exit_code%
-- 
GitLab