* [edk2-redfish-client][PATCH] RedfishClientPkg/.github: add build check and uncrustify check @ 2023-06-07 16:12 Nickle Wang 2023-06-08 0:28 ` Chang, Abner 0 siblings, 1 reply; 3+ messages in thread From: Nickle Wang @ 2023-06-07 16:12 UTC (permalink / raw) To: devel; +Cc: Abner Chang, Igor Kulchytskyy 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 ^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [edk2-redfish-client][PATCH] RedfishClientPkg/.github: add build check and uncrustify check 2023-06-07 16:12 [edk2-redfish-client][PATCH] RedfishClientPkg/.github: add build check and uncrustify check Nickle Wang @ 2023-06-08 0:28 ` Chang, Abner 2023-06-08 1:06 ` Igor Kulchytskyy 0 siblings, 1 reply; 3+ messages in thread From: Chang, Abner @ 2023-06-08 0:28 UTC (permalink / raw) To: Nickle Wang, devel@edk2.groups.io; +Cc: Igor Kulchytskyy [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 ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [edk2-redfish-client][PATCH] RedfishClientPkg/.github: add build check and uncrustify check 2023-06-08 0:28 ` Chang, Abner @ 2023-06-08 1:06 ` Igor Kulchytskyy 0 siblings, 0 replies; 3+ messages in thread From: Igor Kulchytskyy @ 2023-06-08 1:06 UTC (permalink / raw) To: Chang, Abner, Nickle Wang, devel@edk2.groups.io [-- Attachment #1: Type: text/plain, Size: 10948 bytes --] 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. [-- Attachment #2: Type: text/html, Size: 17648 bytes --] ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2023-06-08 1:06 UTC | newest] Thread overview: 3+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2023-06-07 16:12 [edk2-redfish-client][PATCH] RedfishClientPkg/.github: add build check and uncrustify check Nickle Wang 2023-06-08 0:28 ` Chang, Abner 2023-06-08 1:06 ` Igor Kulchytskyy
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox