[edk2-devel] [edk2-redfish-client][PATCH] RedfishClientPkg/.github: add build check and uncrustify check

Nickle Wang via groups.io posted 1 patch 10 months, 4 weeks ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/edk2 tags/patchew/20230607161223.15282-1-nicklew@nvidia.com
.github/.github/workflows/build.sh            | 70 +++++++++++++++++++
.github/.github/workflows/build.yml           | 61 ++++++++++++++++
.github/.github/workflows/uncrustify-check.sh | 51 ++++++++++++++
.github/.github/workflows/uncrustify.yml      | 44 ++++++++++++
4 files changed, 226 insertions(+)
create mode 100755 .github/.github/workflows/build.sh
create mode 100644 .github/.github/workflows/build.yml
create mode 100755 .github/.github/workflows/uncrustify-check.sh
create mode 100644 .github/.github/workflows/uncrustify.yml
[edk2-devel] [edk2-redfish-client][PATCH] RedfishClientPkg/.github: add build check and uncrustify check
Posted by Nickle Wang via groups.io 10 months, 4 weeks ago
Enable Github Actions to check below items:
- RedfishClientPkg build check on push and pull request
- Uncrustify check on pull request

Signed-off-by: Nickle Wang <nicklew@nvidia.com>
Cc: Abner Chang <abner.chang@amd.com>
Cc: Igor Kulchytskyy <igork@ami.com>
---
 .github/.github/workflows/build.sh            | 70 +++++++++++++++++++
 .github/.github/workflows/build.yml           | 61 ++++++++++++++++
 .github/.github/workflows/uncrustify-check.sh | 51 ++++++++++++++
 .github/.github/workflows/uncrustify.yml      | 44 ++++++++++++
 4 files changed, 226 insertions(+)
 create mode 100755 .github/.github/workflows/build.sh
 create mode 100644 .github/.github/workflows/build.yml
 create mode 100755 .github/.github/workflows/uncrustify-check.sh
 create mode 100644 .github/.github/workflows/uncrustify.yml

diff --git a/.github/.github/workflows/build.sh b/.github/.github/workflows/build.sh
new file mode 100755
index 00000000..f919d551
--- /dev/null
+++ b/.github/.github/workflows/build.sh
@@ -0,0 +1,70 @@
+#!/bin/bash
+#
+# Copyright (c) 2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+#
+
+
+ARCH="X64"
+TARGET="DEBUG"
+TOOLCHAIN="GCC5"
+
+if [ $# -eq 0 ]
+then
+    echo "usage: $0 [path to edk2] [path to edk2-redfish-client] [ARCH] [TARGET] [TOOLCHAIN]"
+    exit 1
+fi
+
+EDK2_ROOT="$PWD/$1"
+EDK2_REDFISH_CLIENT="$PWD/$2"
+ARCH="$3"
+TARGET="$4"
+TOOLCHAIN="$5"
+
+if [ ! -e "$EDK2_ROOT" ]
+then
+    echo "$EDK2_ROOT does not exist"
+    exit 1
+fi
+
+if [ ! -e "$EDK2_REDFISH_CLIENT" ]
+then
+    echo "$EDK2_REDFISH_CLIENT does not exist"
+    exit 1
+fi
+
+export PACKAGES_PATH="$EDK2_ROOT:$EDK2_REDFISH_CLIENT"
+echo "PACKAGES_PATH: $PACKAGES_PATH"
+echo "ARCH: $ARCH"
+echo "TARGET: $TARGET"
+echo "TOOLCHAIN: $TOOLCHAIN"
+
+cd "$EDK2_ROOT"
+. edksetup.sh BaseTools
+
+if [ ! -e "BaseTools/Source/C/bin" ]
+then
+  echo "binary does not exist, rebuild it"
+
+  cd BaseTools
+  make
+  cd ..
+
+  echo "If there is build error related to nasm, try to use latest nasm from: https://www.nasm.us/pub/nasm/releasebuilds/"
+  echo ""
+  echo "1) wget https://www.nasm.us/pub/nasm/releasebuilds/2.15rc12/nasm-2.15rc12.tar.gz"
+  echo "2) tar zxvf nasm-2.15rc12.tar.gz"
+  echo "3) cd nasm-2.15rc12"
+  echo "4) ./configure --prefix=/usr"
+  echo "5) sudo make install"
+  echo "6) nasm -v"
+fi
+
+build -p RedfishClientPkg/RedfishClientPkg.dsc -a $ARCH -t $TOOLCHAIN -b $TARGET
+if [ $? -ne 0 ]
+then
+  exit 1
+fi
+
+exit 0
diff --git a/.github/.github/workflows/build.yml b/.github/.github/workflows/build.yml
new file mode 100644
index 00000000..f44184b3
--- /dev/null
+++ b/.github/.github/workflows/build.yml
@@ -0,0 +1,61 @@
+# @file
+# GitHub Workflow for build checks
+#
+# Copyright (c) 2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+##
+name: "RedfishClientPkg Build"
+on:
+  push:
+    branches:
+      - main
+  pull_request:
+    branches:
+      - main
+    paths-ignore:
+      - '**/*.bat'
+      - '**/*.md'
+      - '**/*.py'
+      - '**/*.rst'
+      - '**/*.sh'
+      - '**/*.txt'
+
+jobs:
+  edk2-redfish-client-build:
+    strategy:
+          fail-fast: false
+          matrix:
+            include:
+              - Target: "DEBUG"
+                ArchList: "X64"
+                ToolChain: "GCC5"
+              - Target: "RELEASE"
+                ArchList: "X64"
+                ToolChain: "GCC5"
+              - Target: "NOOPT"
+                ArchList: "X64"
+                ToolChain: "GCC5"
+    runs-on: ubuntu-latest
+    container:
+      image: ghcr.io/tianocore/containers/ubuntu-22-dev:latest
+      options: --user root -v ${{ github.workspace }}:/home/edk2
+      env:
+        EDK2_DOCKER_USER_HOME: "/home/edk2"
+    name: edk2 build test
+    steps:
+      - name: checkout edk2
+        uses: actions/checkout@v3
+        with:
+          repository: tianocore/edk2
+          path: ./edk2
+          submodules: recursive
+      - name: checkout edk2-redfish-client
+        uses: actions/checkout@v3
+        with:
+          path: ./edk2-redfish-client
+      - name: edk2 build
+        run: |
+          ./edk2-redfish-client/.github/workflows/build.sh ./edk2 ./edk2-redfish-client ${{ matrix.ArchList }} ${{ matrix.Target }} ${{ matrix.ToolChain }}
+        shell: bash
+
diff --git a/.github/.github/workflows/uncrustify-check.sh b/.github/.github/workflows/uncrustify-check.sh
new file mode 100755
index 00000000..b739a60b
--- /dev/null
+++ b/.github/.github/workflows/uncrustify-check.sh
@@ -0,0 +1,51 @@
+#!/bin/bash
+#
+# Copyright (c) 2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+#
+
+
+if [ $# -ne 3 ]
+then
+    echo "usage: $0 [PATH to CONFIG FILE] [PATH to REPO.] [NO. of COMMITS]"
+    exit 1
+fi
+
+CONFIG_FILE="$PWD/$1"
+REPO_PATH="$PWD/$2"
+NO_COMMITS="$3"
+
+if [ ! -e "$CONFIG_FILE" ]
+then
+    echo "$CONFIG_FILE does not exist"
+    exit 1
+fi
+
+if [ ! -e "$REPO_PATH" ]
+then
+    echo "$REPO_PATH does not exist"
+    exit 1
+fi
+
+cd "$REPO_PATH"
+
+FAILURE=0
+CHANGED_FILES=$(git diff --name-only HEAD~$NO_COMMITS)
+for file in $CHANGED_FILES
+do
+  echo "Uncrustify check file: $file"
+  uncrustify -c $CONFIG_FILE -f $file --check
+  if [ $? -ne 0 ]
+  then
+    echo "Uncrustify check failure on file: $file"
+    FAILURE=1
+  fi
+done
+
+if [ $FAILURE -eq 0 ]
+then
+  exit 0
+fi
+
+exit 1
diff --git a/.github/.github/workflows/uncrustify.yml b/.github/.github/workflows/uncrustify.yml
new file mode 100644
index 00000000..aa603c8d
--- /dev/null
+++ b/.github/.github/workflows/uncrustify.yml
@@ -0,0 +1,44 @@
+# @file
+# GitHub Workflow for uncrustify check
+#
+# Copyright (c) 2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+##
+name: "Uncrustify check"
+on:
+  pull_request:
+    branches:
+      - main
+    paths:
+      - '**/*.h'
+      - '**/*.c'
+
+jobs:
+  uncrustify-check:
+    runs-on: ubuntu-latest
+    name: Uncrustify check
+    steps:
+      - name: checkout edk2
+        uses: actions/checkout@v3
+        with:
+          repository: tianocore/edk2
+          path: ./edk2
+      - name: checkout edk2-redfish-client
+        uses: actions/checkout@v3
+        with:
+          path: ./edk2-redfish-client
+          ref: ${{ github.event.pull_request.head.sha }}
+          fetch-depth: 0
+      - name: uncrustify setup
+        run: |
+          git clone https://projectmu@dev.azure.com/projectmu/Uncrustify/_git/Uncrustify uncrustify-edk2
+          cd uncrustify-edk2
+          mkdir build
+          cd build
+          cmake ..
+          cmake --build .
+          cp uncrustify /usr/local/bin && chmod +x /usr/local/bin/uncrustify
+      - name: uncrustify check changed files
+        run: ./edk2-redfish-client/.github/workflows/uncrustify-check.sh ./edk2/.pytool/Plugin/UncrustifyCheck/uncrustify.cfg ./edk2-redfish-client ${{ github.event.pull_request.commits }}
+        shell: bash
-- 
2.17.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#105870): https://edk2.groups.io/g/devel/message/105870
Mute This Topic: https://groups.io/mt/99388066/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
Re: [edk2-devel] [edk2-redfish-client][PATCH] RedfishClientPkg/.github: add build check and uncrustify check
Posted by Chang, Abner via groups.io 10 months, 4 weeks ago
[AMD Official Use Only - General]

Nice work Nickle!!

Reviewed-by: Abner Chang <abner.chang@amd.com>

> -----Original Message-----
> From: Nickle Wang <nicklew@nvidia.com>
> Sent: Thursday, June 8, 2023 12:12 AM
> To: devel@edk2.groups.io
> Cc: Chang, Abner <Abner.Chang@amd.com>; Igor Kulchytskyy
> <igork@ami.com>
> Subject: [edk2-redfish-client][PATCH] RedfishClientPkg/.github: add build
> check and uncrustify check
>
> Caution: This message originated from an External Source. Use proper caution
> when opening attachments, clicking links, or responding.
>
>
> Enable Github Actions to check below items:
> - RedfishClientPkg build check on push and pull request
> - Uncrustify check on pull request
>
> Signed-off-by: Nickle Wang <nicklew@nvidia.com>
> Cc: Abner Chang <abner.chang@amd.com>
> Cc: Igor Kulchytskyy <igork@ami.com>
> ---
>  .github/.github/workflows/build.sh            | 70 +++++++++++++++++++
>  .github/.github/workflows/build.yml           | 61 ++++++++++++++++
>  .github/.github/workflows/uncrustify-check.sh | 51 ++++++++++++++
>  .github/.github/workflows/uncrustify.yml      | 44 ++++++++++++
>  4 files changed, 226 insertions(+)
>  create mode 100755 .github/.github/workflows/build.sh
>  create mode 100644 .github/.github/workflows/build.yml
>  create mode 100755 .github/.github/workflows/uncrustify-check.sh
>  create mode 100644 .github/.github/workflows/uncrustify.yml
>
> diff --git a/.github/.github/workflows/build.sh
> b/.github/.github/workflows/build.sh
> new file mode 100755
> index 00000000..f919d551
> --- /dev/null
> +++ b/.github/.github/workflows/build.sh
> @@ -0,0 +1,70 @@
> +#!/bin/bash
> +#
> +# Copyright (c) 2023, NVIDIA CORPORATION & AFFILIATES. All rights
> reserved.
> +#
> +# SPDX-License-Identifier: BSD-2-Clause-Patent
> +#
> +
> +
> +ARCH="X64"
> +TARGET="DEBUG"
> +TOOLCHAIN="GCC5"
> +
> +if [ $# -eq 0 ]
> +then
> +    echo "usage: $0 [path to edk2] [path to edk2-redfish-client] [ARCH]
> [TARGET] [TOOLCHAIN]"
> +    exit 1
> +fi
> +
> +EDK2_ROOT="$PWD/$1"
> +EDK2_REDFISH_CLIENT="$PWD/$2"
> +ARCH="$3"
> +TARGET="$4"
> +TOOLCHAIN="$5"
> +
> +if [ ! -e "$EDK2_ROOT" ]
> +then
> +    echo "$EDK2_ROOT does not exist"
> +    exit 1
> +fi
> +
> +if [ ! -e "$EDK2_REDFISH_CLIENT" ]
> +then
> +    echo "$EDK2_REDFISH_CLIENT does not exist"
> +    exit 1
> +fi
> +
> +export PACKAGES_PATH="$EDK2_ROOT:$EDK2_REDFISH_CLIENT"
> +echo "PACKAGES_PATH: $PACKAGES_PATH"
> +echo "ARCH: $ARCH"
> +echo "TARGET: $TARGET"
> +echo "TOOLCHAIN: $TOOLCHAIN"
> +
> +cd "$EDK2_ROOT"
> +. edksetup.sh BaseTools
> +
> +if [ ! -e "BaseTools/Source/C/bin" ]
> +then
> +  echo "binary does not exist, rebuild it"
> +
> +  cd BaseTools
> +  make
> +  cd ..
> +
> +  echo "If there is build error related to nasm, try to use latest nasm from:
> https://www.nasm.us/pub/nasm/releasebuilds/"
> +  echo ""
> +  echo "1) wget
> https://www.nasm.us/pub/nasm/releasebuilds/2.15rc12/nasm-
> 2.15rc12.tar.gz"
> +  echo "2) tar zxvf nasm-2.15rc12.tar.gz"
> +  echo "3) cd nasm-2.15rc12"
> +  echo "4) ./configure --prefix=/usr"
> +  echo "5) sudo make install"
> +  echo "6) nasm -v"
> +fi
> +
> +build -p RedfishClientPkg/RedfishClientPkg.dsc -a $ARCH -t $TOOLCHAIN -b
> $TARGET
> +if [ $? -ne 0 ]
> +then
> +  exit 1
> +fi
> +
> +exit 0
> diff --git a/.github/.github/workflows/build.yml
> b/.github/.github/workflows/build.yml
> new file mode 100644
> index 00000000..f44184b3
> --- /dev/null
> +++ b/.github/.github/workflows/build.yml
> @@ -0,0 +1,61 @@
> +# @file
> +# GitHub Workflow for build checks
> +#
> +# Copyright (c) 2023, NVIDIA CORPORATION & AFFILIATES. All rights
> reserved.
> +#
> +# SPDX-License-Identifier: BSD-2-Clause-Patent
> +##
> +name: "RedfishClientPkg Build"
> +on:
> +  push:
> +    branches:
> +      - main
> +  pull_request:
> +    branches:
> +      - main
> +    paths-ignore:
> +      - '**/*.bat'
> +      - '**/*.md'
> +      - '**/*.py'
> +      - '**/*.rst'
> +      - '**/*.sh'
> +      - '**/*.txt'
> +
> +jobs:
> +  edk2-redfish-client-build:
> +    strategy:
> +          fail-fast: false
> +          matrix:
> +            include:
> +              - Target: "DEBUG"
> +                ArchList: "X64"
> +                ToolChain: "GCC5"
> +              - Target: "RELEASE"
> +                ArchList: "X64"
> +                ToolChain: "GCC5"
> +              - Target: "NOOPT"
> +                ArchList: "X64"
> +                ToolChain: "GCC5"
> +    runs-on: ubuntu-latest
> +    container:
> +      image: ghcr.io/tianocore/containers/ubuntu-22-dev:latest
> +      options: --user root -v ${{ github.workspace }}:/home/edk2
> +      env:
> +        EDK2_DOCKER_USER_HOME: "/home/edk2"
> +    name: edk2 build test
> +    steps:
> +      - name: checkout edk2
> +        uses: actions/checkout@v3
> +        with:
> +          repository: tianocore/edk2
> +          path: ./edk2
> +          submodules: recursive
> +      - name: checkout edk2-redfish-client
> +        uses: actions/checkout@v3
> +        with:
> +          path: ./edk2-redfish-client
> +      - name: edk2 build
> +        run: |
> +          ./edk2-redfish-client/.github/workflows/build.sh ./edk2 ./edk2-
> redfish-client ${{ matrix.ArchList }} ${{ matrix.Target }} ${{ matrix.ToolChain }}
> +        shell: bash
> +
> diff --git a/.github/.github/workflows/uncrustify-check.sh
> b/.github/.github/workflows/uncrustify-check.sh
> new file mode 100755
> index 00000000..b739a60b
> --- /dev/null
> +++ b/.github/.github/workflows/uncrustify-check.sh
> @@ -0,0 +1,51 @@
> +#!/bin/bash
> +#
> +# Copyright (c) 2023, NVIDIA CORPORATION & AFFILIATES. All rights
> reserved.
> +#
> +# SPDX-License-Identifier: BSD-2-Clause-Patent
> +#
> +
> +
> +if [ $# -ne 3 ]
> +then
> +    echo "usage: $0 [PATH to CONFIG FILE] [PATH to REPO.] [NO. of
> COMMITS]"
> +    exit 1
> +fi
> +
> +CONFIG_FILE="$PWD/$1"
> +REPO_PATH="$PWD/$2"
> +NO_COMMITS="$3"
> +
> +if [ ! -e "$CONFIG_FILE" ]
> +then
> +    echo "$CONFIG_FILE does not exist"
> +    exit 1
> +fi
> +
> +if [ ! -e "$REPO_PATH" ]
> +then
> +    echo "$REPO_PATH does not exist"
> +    exit 1
> +fi
> +
> +cd "$REPO_PATH"
> +
> +FAILURE=0
> +CHANGED_FILES=$(git diff --name-only HEAD~$NO_COMMITS)
> +for file in $CHANGED_FILES
> +do
> +  echo "Uncrustify check file: $file"
> +  uncrustify -c $CONFIG_FILE -f $file --check
> +  if [ $? -ne 0 ]
> +  then
> +    echo "Uncrustify check failure on file: $file"
> +    FAILURE=1
> +  fi
> +done
> +
> +if [ $FAILURE -eq 0 ]
> +then
> +  exit 0
> +fi
> +
> +exit 1
> diff --git a/.github/.github/workflows/uncrustify.yml
> b/.github/.github/workflows/uncrustify.yml
> new file mode 100644
> index 00000000..aa603c8d
> --- /dev/null
> +++ b/.github/.github/workflows/uncrustify.yml
> @@ -0,0 +1,44 @@
> +# @file
> +# GitHub Workflow for uncrustify check
> +#
> +# Copyright (c) 2023, NVIDIA CORPORATION & AFFILIATES. All rights
> reserved.
> +#
> +# SPDX-License-Identifier: BSD-2-Clause-Patent
> +##
> +name: "Uncrustify check"
> +on:
> +  pull_request:
> +    branches:
> +      - main
> +    paths:
> +      - '**/*.h'
> +      - '**/*.c'
> +
> +jobs:
> +  uncrustify-check:
> +    runs-on: ubuntu-latest
> +    name: Uncrustify check
> +    steps:
> +      - name: checkout edk2
> +        uses: actions/checkout@v3
> +        with:
> +          repository: tianocore/edk2
> +          path: ./edk2
> +      - name: checkout edk2-redfish-client
> +        uses: actions/checkout@v3
> +        with:
> +          path: ./edk2-redfish-client
> +          ref: ${{ github.event.pull_request.head.sha }}
> +          fetch-depth: 0
> +      - name: uncrustify setup
> +        run: |
> +          git clone
> https://projectmu@dev.azure.com/projectmu/Uncrustify/_git/Uncrustify
> uncrustify-edk2
> +          cd uncrustify-edk2
> +          mkdir build
> +          cd build
> +          cmake ..
> +          cmake --build .
> +          cp uncrustify /usr/local/bin && chmod +x /usr/local/bin/uncrustify
> +      - name: uncrustify check changed files
> +        run: ./edk2-redfish-client/.github/workflows/uncrustify-
> check.sh ./edk2/.pytool/Plugin/UncrustifyCheck/uncrustify.cfg ./edk2-
> redfish-client ${{ github.event.pull_request.commits }}
> +        shell: bash
> --
> 2.17.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#105883): https://edk2.groups.io/g/devel/message/105883
Mute This Topic: https://groups.io/mt/99388066/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
Re: [edk2-devel] [edk2-redfish-client][PATCH] RedfishClientPkg/.github: add build check and uncrustify check
Posted by Igor Kulchytskyy via groups.io 10 months, 4 weeks ago
Thank you, Nickle

Get Outlook for Android<https://aka.ms/AAb9ysg>
________________________________
From: Chang, Abner <Abner.Chang@amd.com>
Sent: Wednesday, June 7, 2023 8:28:11 PM
To: Nickle Wang <nicklew@nvidia.com>; devel@edk2.groups.io <devel@edk2.groups.io>
Cc: Igor Kulchytskyy <igork@ami.com>
Subject: [EXTERNAL] RE: [edk2-redfish-client][PATCH] RedfishClientPkg/.github: add build check and uncrustify check


**CAUTION: The e-mail below is from an external source. Please exercise caution before opening attachments, clicking links, or following guidance.**

[AMD Official Use Only - General]

Nice work Nickle!!

Reviewed-by: Abner Chang <abner.chang@amd.com>

> -----Original Message-----
> From: Nickle Wang <nicklew@nvidia.com>
> Sent: Thursday, June 8, 2023 12:12 AM
> To: devel@edk2.groups.io
> Cc: Chang, Abner <Abner.Chang@amd.com>; Igor Kulchytskyy
> <igork@ami.com>
> Subject: [edk2-redfish-client][PATCH] RedfishClientPkg/.github: add build
> check and uncrustify check
>
> Caution: This message originated from an External Source. Use proper caution
> when opening attachments, clicking links, or responding.
>
>
> Enable Github Actions to check below items:
> - RedfishClientPkg build check on push and pull request
> - Uncrustify check on pull request
>
> Signed-off-by: Nickle Wang <nicklew@nvidia.com>
> Cc: Abner Chang <abner.chang@amd.com>
> Cc: Igor Kulchytskyy <igork@ami.com>
> ---
>  .github/.github/workflows/build.sh            | 70 +++++++++++++++++++
>  .github/.github/workflows/build.yml           | 61 ++++++++++++++++
>  .github/.github/workflows/uncrustify-check.sh | 51 ++++++++++++++
>  .github/.github/workflows/uncrustify.yml      | 44 ++++++++++++
>  4 files changed, 226 insertions(+)
>  create mode 100755 .github/.github/workflows/build.sh
>  create mode 100644 .github/.github/workflows/build.yml
>  create mode 100755 .github/.github/workflows/uncrustify-check.sh
>  create mode 100644 .github/.github/workflows/uncrustify.yml
>
> diff --git a/.github/.github/workflows/build.sh
> b/.github/.github/workflows/build.sh
> new file mode 100755
> index 00000000..f919d551
> --- /dev/null
> +++ b/.github/.github/workflows/build.sh
> @@ -0,0 +1,70 @@
> +#!/bin/bash
> +#
> +# Copyright (c) 2023, NVIDIA CORPORATION & AFFILIATES. All rights
> reserved.
> +#
> +# SPDX-License-Identifier: BSD-2-Clause-Patent
> +#
> +
> +
> +ARCH="X64"
> +TARGET="DEBUG"
> +TOOLCHAIN="GCC5"
> +
> +if [ $# -eq 0 ]
> +then
> +    echo "usage: $0 [path to edk2] [path to edk2-redfish-client] [ARCH]
> [TARGET] [TOOLCHAIN]"
> +    exit 1
> +fi
> +
> +EDK2_ROOT="$PWD/$1"
> +EDK2_REDFISH_CLIENT="$PWD/$2"
> +ARCH="$3"
> +TARGET="$4"
> +TOOLCHAIN="$5"
> +
> +if [ ! -e "$EDK2_ROOT" ]
> +then
> +    echo "$EDK2_ROOT does not exist"
> +    exit 1
> +fi
> +
> +if [ ! -e "$EDK2_REDFISH_CLIENT" ]
> +then
> +    echo "$EDK2_REDFISH_CLIENT does not exist"
> +    exit 1
> +fi
> +
> +export PACKAGES_PATH="$EDK2_ROOT:$EDK2_REDFISH_CLIENT"
> +echo "PACKAGES_PATH: $PACKAGES_PATH"
> +echo "ARCH: $ARCH"
> +echo "TARGET: $TARGET"
> +echo "TOOLCHAIN: $TOOLCHAIN"
> +
> +cd "$EDK2_ROOT"
> +. edksetup.sh BaseTools
> +
> +if [ ! -e "BaseTools/Source/C/bin" ]
> +then
> +  echo "binary does not exist, rebuild it"
> +
> +  cd BaseTools
> +  make
> +  cd ..
> +
> +  echo "If there is build error related to nasm, try to use latest nasm from:
> https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.nasm.us%2Fpub%2Fnasm%2Freleasebuilds%2F&data=05%7C01%7Cigork%40ami.com%7Cfe7c0814e24544d5839a08db67b73fa7%7C27e97857e15f486cb58e86c2b3040f93%7C1%7C0%7C638217808989823384%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=51RRpRuxeci9god2Hs5e%2Fa4S7GdeejhRpofp%2FSpjPS4%3D&reserved=0"<https://www.nasm.us/pub/nasm/releasebuilds/>
> +  echo ""
> +  echo "1) wget
> https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.nasm.us%2Fpub%2Fnasm%2Freleasebuilds%2F2.15rc12%2Fnasm-&data=05%7C01%7Cigork%40ami.com%7Cfe7c0814e24544d5839a08db67b73fa7%7C27e97857e15f486cb58e86c2b3040f93%7C1%7C0%7C638217808989823384%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=0X%2B8JSzM7hjzAvLuE6AG1nf6dLKL4SHknyd%2Bv306N%2BA%3D&reserved=0<https://www.nasm.us/pub/nasm/releasebuilds/2.15rc12/nasm->
> 2.15rc12.tar.gz"
> +  echo "2) tar zxvf nasm-2.15rc12.tar.gz"
> +  echo "3) cd nasm-2.15rc12"
> +  echo "4) ./configure --prefix=/usr"
> +  echo "5) sudo make install"
> +  echo "6) nasm -v"
> +fi
> +
> +build -p RedfishClientPkg/RedfishClientPkg.dsc -a $ARCH -t $TOOLCHAIN -b
> $TARGET
> +if [ $? -ne 0 ]
> +then
> +  exit 1
> +fi
> +
> +exit 0
> diff --git a/.github/.github/workflows/build.yml
> b/.github/.github/workflows/build.yml
> new file mode 100644
> index 00000000..f44184b3
> --- /dev/null
> +++ b/.github/.github/workflows/build.yml
> @@ -0,0 +1,61 @@
> +# @file
> +# GitHub Workflow for build checks
> +#
> +# Copyright (c) 2023, NVIDIA CORPORATION & AFFILIATES. All rights
> reserved.
> +#
> +# SPDX-License-Identifier: BSD-2-Clause-Patent
> +##
> +name: "RedfishClientPkg Build"
> +on:
> +  push:
> +    branches:
> +      - main
> +  pull_request:
> +    branches:
> +      - main
> +    paths-ignore:
> +      - '**/*.bat'
> +      - '**/*.md'
> +      - '**/*.py'
> +      - '**/*.rst'
> +      - '**/*.sh'
> +      - '**/*.txt'
> +
> +jobs:
> +  edk2-redfish-client-build:
> +    strategy:
> +          fail-fast: false
> +          matrix:
> +            include:
> +              - Target: "DEBUG"
> +                ArchList: "X64"
> +                ToolChain: "GCC5"
> +              - Target: "RELEASE"
> +                ArchList: "X64"
> +                ToolChain: "GCC5"
> +              - Target: "NOOPT"
> +                ArchList: "X64"
> +                ToolChain: "GCC5"
> +    runs-on: ubuntu-latest
> +    container:
> +      image: ghcr.io/tianocore/containers/ubuntu-22-dev:latest
> +      options: --user root -v ${{ github.workspace }}:/home/edk2
> +      env:
> +        EDK2_DOCKER_USER_HOME: "/home/edk2"
> +    name: edk2 build test
> +    steps:
> +      - name: checkout edk2
> +        uses: actions/checkout@v3
> +        with:
> +          repository: tianocore/edk2
> +          path: ./edk2
> +          submodules: recursive
> +      - name: checkout edk2-redfish-client
> +        uses: actions/checkout@v3
> +        with:
> +          path: ./edk2-redfish-client
> +      - name: edk2 build
> +        run: |
> +          ./edk2-redfish-client/.github/workflows/build.sh ./edk2 ./edk2-
> redfish-client ${{ matrix.ArchList }} ${{ matrix.Target }} ${{ matrix.ToolChain }}
> +        shell: bash
> +
> diff --git a/.github/.github/workflows/uncrustify-check.sh
> b/.github/.github/workflows/uncrustify-check.sh
> new file mode 100755
> index 00000000..b739a60b
> --- /dev/null
> +++ b/.github/.github/workflows/uncrustify-check.sh
> @@ -0,0 +1,51 @@
> +#!/bin/bash
> +#
> +# Copyright (c) 2023, NVIDIA CORPORATION & AFFILIATES. All rights
> reserved.
> +#
> +# SPDX-License-Identifier: BSD-2-Clause-Patent
> +#
> +
> +
> +if [ $# -ne 3 ]
> +then
> +    echo "usage: $0 [PATH to CONFIG FILE] [PATH to REPO.] [NO. of
> COMMITS]"
> +    exit 1
> +fi
> +
> +CONFIG_FILE="$PWD/$1"
> +REPO_PATH="$PWD/$2"
> +NO_COMMITS="$3"
> +
> +if [ ! -e "$CONFIG_FILE" ]
> +then
> +    echo "$CONFIG_FILE does not exist"
> +    exit 1
> +fi
> +
> +if [ ! -e "$REPO_PATH" ]
> +then
> +    echo "$REPO_PATH does not exist"
> +    exit 1
> +fi
> +
> +cd "$REPO_PATH"
> +
> +FAILURE=0
> +CHANGED_FILES=$(git diff --name-only HEAD~$NO_COMMITS)
> +for file in $CHANGED_FILES
> +do
> +  echo "Uncrustify check file: $file"
> +  uncrustify -c $CONFIG_FILE -f $file --check
> +  if [ $? -ne 0 ]
> +  then
> +    echo "Uncrustify check failure on file: $file"
> +    FAILURE=1
> +  fi
> +done
> +
> +if [ $FAILURE -eq 0 ]
> +then
> +  exit 0
> +fi
> +
> +exit 1
> diff --git a/.github/.github/workflows/uncrustify.yml
> b/.github/.github/workflows/uncrustify.yml
> new file mode 100644
> index 00000000..aa603c8d
> --- /dev/null
> +++ b/.github/.github/workflows/uncrustify.yml
> @@ -0,0 +1,44 @@
> +# @file
> +# GitHub Workflow for uncrustify check
> +#
> +# Copyright (c) 2023, NVIDIA CORPORATION & AFFILIATES. All rights
> reserved.
> +#
> +# SPDX-License-Identifier: BSD-2-Clause-Patent
> +##
> +name: "Uncrustify check"
> +on:
> +  pull_request:
> +    branches:
> +      - main
> +    paths:
> +      - '**/*.h'
> +      - '**/*.c'
> +
> +jobs:
> +  uncrustify-check:
> +    runs-on: ubuntu-latest
> +    name: Uncrustify check
> +    steps:
> +      - name: checkout edk2
> +        uses: actions/checkout@v3
> +        with:
> +          repository: tianocore/edk2
> +          path: ./edk2
> +      - name: checkout edk2-redfish-client
> +        uses: actions/checkout@v3
> +        with:
> +          path: ./edk2-redfish-client
> +          ref: ${{ github.event.pull_request.head.sha }}
> +          fetch-depth: 0
> +      - name: uncrustify setup
> +        run: |
> +          git clone
> https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fprojectmu%40dev.azure.com%2Fprojectmu%2FUncrustify%2F_git%2FUncrustify&data=05%7C01%7Cigork%40ami.com%7Cfe7c0814e24544d5839a08db67b73fa7%7C27e97857e15f486cb58e86c2b3040f93%7C1%7C0%7C638217808989823384%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=G3FDWSoOa51omLECnejM1KQltXtVzH3r0YcET%2B0FqJs%3D&reserved=0<https://projectmu@dev.azure.com/projectmu/Uncrustify/_git/Uncrustify>
> uncrustify-edk2
> +          cd uncrustify-edk2
> +          mkdir build
> +          cd build
> +          cmake ..
> +          cmake --build .
> +          cp uncrustify /usr/local/bin && chmod +x /usr/local/bin/uncrustify
> +      - name: uncrustify check changed files
> +        run: ./edk2-redfish-client/.github/workflows/uncrustify-
> check.sh ./edk2/.pytool/Plugin/UncrustifyCheck/uncrustify.cfg ./edk2-
> redfish-client ${{ github.event.pull_request.commits }}
> +        shell: bash
> --
> 2.17.1

-The information contained in this message may be confidential and proprietary to American Megatrends (AMI). This communication is intended to be read only by the individual or entity to whom it is addressed or by their designee. If the reader of this message is not the intended recipient, you are on notice that any distribution of this message, in any form, is strictly prohibited. Please promptly notify the sender by reply e-mail or by telephone at 770-246-8600, and then delete or destroy all copies of the transmission.


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#105884): https://edk2.groups.io/g/devel/message/105884
Mute This Topic: https://groups.io/mt/99388066/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-