You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
620 lines
21 KiB
YAML
620 lines
21 KiB
YAML
name: FreeRTOS Demos
|
|
on:
|
|
push:
|
|
pull_request:
|
|
workflow_dispatch:
|
|
|
|
env:
|
|
bashPass: \033[32;1mPASSED -
|
|
bashWarn: \033[33;1mWARNING -
|
|
bashFail: \033[31;1mFAILED -
|
|
bashEnd: \033[0m
|
|
|
|
pwshPass: "`e[32;1mPASSED -"
|
|
pwshWarn: "`e[33;1mWARNING -"
|
|
pwshFail: "`e[31;1mFAILED -"
|
|
pwshEnd: "`e[0m"
|
|
|
|
jobs:
|
|
WIN32-MSVC:
|
|
name: WIN32 MSVC
|
|
runs-on: windows-latest
|
|
steps:
|
|
- env:
|
|
stepName: Checkout Repository
|
|
name: ${{ env.stepName }}
|
|
uses: actions/checkout@v3
|
|
|
|
- env:
|
|
stepName: Fetch Required Submodule
|
|
name: ${{ env.stepName }}
|
|
shell: bash
|
|
run: |
|
|
# ${{ env.stepName }}
|
|
echo -e "::group::${{ env.stepName }}"
|
|
set +e
|
|
git submodule update --checkout --init --depth 1 \
|
|
FreeRTOS/Source \
|
|
FreeRTOS-Plus/Source/FreeRTOS-Plus-Trace
|
|
exitStatus=$?
|
|
set -e
|
|
echo -e "::endgroup::"
|
|
if [ $exitStatus -eq 0 ]; then
|
|
echo -e "${{ env.bashPass }} ${{env.stepName}} ${{ env.bashEnd }}"
|
|
else
|
|
echo -e "${{ env.bashFail }} ${{env.stepName}} ${{ env.bashEnd }}"
|
|
exit 1
|
|
fi
|
|
|
|
- env:
|
|
stepName: Add msbuild to PATH
|
|
name: ${{ env.stepName }}
|
|
uses: microsoft/setup-msbuild@v1.1
|
|
|
|
- env:
|
|
stepName: Build WIN32-MSVC Full Demo
|
|
name: ${{ env.stepName }}
|
|
id: build-win32-msvs-full-demo
|
|
working-directory: FreeRTOS/Demo/WIN32-MSVC
|
|
run: |
|
|
# ${{ env.stepName }}
|
|
echo "::group::${{ env.stepName }}"
|
|
$content = Get-Content -Path 'main.c' -Raw
|
|
$newContent = $content -replace 'int\s+main(.*?)void(.*?)\r?\n\s*{', 'int main( void ){setvbuf( stdout, NULL, _IONBF, 0 );'
|
|
$newContent | Set-Content -Path 'main.c'
|
|
msbuild WIN32.sln /p:Platform=Win32 -t:rebuild
|
|
msbuild WIN32.sln /p:Platform=x64 -t:rebuild
|
|
$exitStatus = $?
|
|
echo "::endgroup::"
|
|
if($exitStatus -eq 1) {
|
|
echo "${{ env.pwshPass }} ${{env.stepName}} ${{ env.pwshEnd }}"
|
|
}else {
|
|
echo "${{ env.pwshFail }} ${{env.stepName}} ${{ env.pwshEnd }}"
|
|
exit 1
|
|
}
|
|
|
|
- env:
|
|
stepName: Run and monitor WIN32-MSVC Full Demo - Win32
|
|
name: ${{ env.stepName }}
|
|
uses: FreeRTOS/CI-CD-GitHub-Actions/executable-monitor@main
|
|
with:
|
|
exe-path: FreeRTOS/Demo/WIN32-MSVC/Win32/Debug/RTOSDemo.exe
|
|
timeout-seconds: 60
|
|
success-line: "No errors - tick count"
|
|
retry-attempts: 3
|
|
|
|
- env:
|
|
stepName: Run and monitor WIN32-MSVC Full Demo - x64
|
|
name: ${{ env.stepName }}
|
|
uses: FreeRTOS/CI-CD-GitHub-Actions/executable-monitor@main
|
|
with:
|
|
exe-path: FreeRTOS/Demo/WIN32-MSVC/x64/Debug/RTOSDemo.exe
|
|
timeout-seconds: 60
|
|
success-line: "No errors - tick count"
|
|
retry-attempts: 3
|
|
|
|
- env:
|
|
stepName: Build WIN32-MSVC Blinky Demo
|
|
name: ${{ env.stepName }}
|
|
id: build-win32-msvs-blinky-demo
|
|
working-directory: FreeRTOS/Demo/WIN32-MSVC
|
|
run: |
|
|
# ${{ env.stepName }}
|
|
echo "::group::${{ env.stepName }}"
|
|
$content = Get-Content -Path 'main.c' -Raw
|
|
$newContent = $content -replace '#define\s+mainCREATE_SIMPLE_BLINKY_DEMO_ONLY\s+0', '#define mainCREATE_SIMPLE_BLINKY_DEMO_ONLY 1'
|
|
$newContent | Set-Content -Path 'main.c'
|
|
msbuild WIN32.sln /p:Platform=Win32 -t:rebuild
|
|
msbuild WIN32.sln /p:Platform=x64 -t:rebuild
|
|
echo "::endgroup::"
|
|
$exitStatus = $?
|
|
if($exitStatus -eq 1) {
|
|
echo "${{ env.pwshPass }} ${{ env.stepName }} ${{ env.pwshEnd }}"
|
|
}else {
|
|
echo "${{ env.pwshFail }} ${{ env.stepName }} ${{ env.pwshEnd }}"
|
|
exit 1
|
|
}
|
|
|
|
- env:
|
|
stepName: Run and monitor WIN32-MSVC Blinky Demo - Win32
|
|
name: ${{ env.stepName }}
|
|
uses: FreeRTOS/CI-CD-GitHub-Actions/executable-monitor@main
|
|
with:
|
|
exe-path: FreeRTOS/Demo/WIN32-MSVC/Win32/Debug/RTOSDemo.exe
|
|
timeout-seconds: 60
|
|
success-line: "Message received from software timer"
|
|
retry-attempts: 3
|
|
|
|
- env:
|
|
stepName: Run and monitor WIN32-MSVC Blinky Demo - x64
|
|
name: ${{ env.stepName }}
|
|
uses: FreeRTOS/CI-CD-GitHub-Actions/executable-monitor@main
|
|
with:
|
|
exe-path: FreeRTOS/Demo/WIN32-MSVC/x64/Debug/RTOSDemo.exe
|
|
timeout-seconds: 60
|
|
success-line: "Message received from software timer"
|
|
retry-attempts: 3
|
|
|
|
- env:
|
|
stepName: Build WIN32-MSVC-Static-Allocation-Only Demo
|
|
name: ${{ env.stepName }}
|
|
id: build-win32-msvs-static-allocation-only-demo
|
|
working-directory: FreeRTOS/Demo/WIN32-MSVC-Static-Allocation-Only
|
|
run: |
|
|
# ${{ env.stepName }}
|
|
echo "::group::${{ env.stepName }}"
|
|
$content = Get-Content -Path 'main.c' -Raw
|
|
$newContent = $content -replace 'int\s+main(.*?)void(.*?)\r?\n\s*{', 'int main( void ){setvbuf( stdout, NULL, _IONBF, 0 );'
|
|
$newContent | Set-Content -Path 'main.c'
|
|
msbuild WIN32.sln -t:rebuild
|
|
$exitStatus = $?
|
|
echo "::endgroup::"
|
|
if($exitStatus -eq 1) {
|
|
echo "${{ env.pwshPass }} ${{ env.stepName }} ${{ env.pwshEnd }}"
|
|
}else {
|
|
echo "${{ env.pwshFail }} ${{ env.stepName }} ${{ env.pwshEnd }}"
|
|
exit 1
|
|
}
|
|
|
|
- env:
|
|
stepName:
|
|
Run and monitor WIN32-MSVC-Static-Allocation-Only Demo
|
|
name: ${{ env.stepName }}
|
|
uses: FreeRTOS/CI-CD-GitHub-Actions/executable-monitor@main
|
|
with:
|
|
exe-path: FreeRTOS/Demo/WIN32-MSVC-Static-Allocation-Only/Debug/RTOSDemo.exe
|
|
timeout-seconds: 60
|
|
success-line: "No errors - tick count"
|
|
retry-attempts: 3
|
|
|
|
WIN32-MingW:
|
|
name: WIN32 MingW
|
|
runs-on: windows-latest
|
|
steps:
|
|
- env:
|
|
stepName: Checkout Repository
|
|
name: ${{ env.stepName }}
|
|
uses: actions/checkout@v3
|
|
|
|
- env:
|
|
stepName: Fetch Required Submodule
|
|
name: ${{ env.stepName }}
|
|
shell: bash
|
|
run: |
|
|
# ${{ env.stepName }}
|
|
echo -e "::group::${{ env.stepName }}"
|
|
git submodule update --checkout --init --depth 1 \
|
|
FreeRTOS/Source \
|
|
FreeRTOS-Plus/Source/FreeRTOS-Plus-Trace
|
|
echo -e "::endgroup::"
|
|
echo -e "${{ env.bashPass }} ${{env.stepName}} ${{ env.bashEnd }}"
|
|
|
|
- env:
|
|
stepName: Build WIN32-MingW Full Demo
|
|
name: ${{ env.stepName }}
|
|
id: build-win32-mingw-full-demo
|
|
working-directory: FreeRTOS/Demo/WIN32-MingW
|
|
run: |
|
|
# ${{ env.stepName }}
|
|
echo "::group::${{ env.stepName }}"
|
|
$content = Get-Content -Path 'main.c' -Raw
|
|
$newContent = $content -replace 'int\s+main(.*?)void(.*?)\r?\n\s*{', 'int main( void ){setvbuf( stdout, NULL, _IONBF, 0 );'
|
|
$newContent | Set-Content -Path 'main.c'
|
|
gcc --version
|
|
make --version
|
|
make
|
|
$exitStatus = $?
|
|
echo "::endgroup::"
|
|
if($exitStatus -eq 1) {
|
|
echo "${{ env.pwshPass }} ${{ env.stepName }} ${{env.pwshEnd}}"
|
|
}else {
|
|
echo "${{ env.pwshFail }} ${{ env.stepName }} ${{env.pwshEnd}}"
|
|
exit 1
|
|
}
|
|
|
|
- env:
|
|
stepName: Run and monitor WIN32-MingW Full Demo
|
|
name: ${{ env.stepName }}
|
|
uses: FreeRTOS/CI-CD-GitHub-Actions/executable-monitor@main
|
|
with:
|
|
exe-path: FreeRTOS/Demo/WIN32-MingW/build/RTOSDemo.exe
|
|
timeout-seconds: 60
|
|
success-line: "No errors - tick count"
|
|
|
|
- env:
|
|
stepName: Build WIN32-MingW Blinky Demo
|
|
name: ${{ env.stepName }}
|
|
id: build-win32-mingw-blinky-demo
|
|
working-directory: FreeRTOS/Demo/WIN32-MingW
|
|
run: |
|
|
# ${{ env.stepName }}
|
|
echo "::group::${{ env.stepName }}"
|
|
$content = Get-Content -Path 'main.c' -Raw
|
|
$newContent = $content -replace '#define\s+mainCREATE_SIMPLE_BLINKY_DEMO_ONLY\s+0', '#define mainCREATE_SIMPLE_BLINKY_DEMO_ONLY 1'
|
|
$newContent = $newContent -replace 'int\s+main(.*?)void(.*?)\r?\n\s*{', 'int main( void ){setvbuf( stdout, NULL, _IONBF, 0 );'
|
|
$newContent | Set-Content -Path 'main.c'
|
|
gcc --version
|
|
make --version
|
|
make
|
|
$exitStatus = $?
|
|
echo "::endgroup::"
|
|
if($exitStatus -eq 1) {
|
|
echo "${{ env.pwshPass }} ${{ env.stepName }} ${{ env.pwshEnd }}"
|
|
}else {
|
|
echo "${{ env.pwshFail }} ${{ env.stepName }} ${{ env.pwshEnd }}"
|
|
exit 1
|
|
}
|
|
|
|
- env:
|
|
stepName: Run and monitor WIN32-MingW Blinky Demo
|
|
name: ${{ env.stepName }}
|
|
uses: FreeRTOS/CI-CD-GitHub-Actions/executable-monitor@main
|
|
with:
|
|
exe-path: FreeRTOS/Demo/WIN32-MingW/build/RTOSDemo.exe
|
|
timeout-seconds: 60
|
|
success-line: "Message received from software timer"
|
|
|
|
POSIX-GCC:
|
|
name: Posix GCC
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- env:
|
|
stepName: Checkout Repository
|
|
name: ${{ env.stepName }}
|
|
uses: actions/checkout@v3
|
|
|
|
- env:
|
|
stepName: Fetch Required Submodule
|
|
name: ${{ env.stepName }}
|
|
shell: bash
|
|
run: |
|
|
# ${{ env.stepName }}
|
|
echo -e "::group::${{ env.stepName }}"
|
|
set +e
|
|
git submodule update --checkout --init --depth 1 \
|
|
FreeRTOS/Source \
|
|
FreeRTOS-Plus/Source/FreeRTOS-Plus-Trace
|
|
set -e
|
|
exitStatus=$?
|
|
set -e
|
|
echo -e "::endgroup::"
|
|
if [ $exitStatus -eq 0 ]; then
|
|
echo -e "${{ env.bashPass }} ${{ env.stepName }} ${{ env.bashEnd }}"
|
|
else
|
|
echo -e "${{ env.bashFail }} ${{ env.stepName }} ${{ env.bashEnd }}"
|
|
exit 1
|
|
fi
|
|
|
|
- env:
|
|
stepName: Install GCC
|
|
name: ${{ env.stepName }}
|
|
shell: bash
|
|
run: |
|
|
# ${{ env.stepName }}
|
|
echo -e "::group::${{ env.stepName }}"
|
|
set +e
|
|
sudo apt-get -y update
|
|
sudo apt-get -y install build-essential
|
|
exitStatus=$?
|
|
set -e
|
|
echo -e "::endgroup::"
|
|
if [ $exitStatus -eq 0 ]; then
|
|
echo -e "${{ env.bashPass }} ${{ env.stepName }} ${{ env.bashEnd }}"
|
|
else
|
|
echo -e "${{ env.bashPass }} ${{ env.stepName }} ${{ env.bashEnd }}"
|
|
exit 1
|
|
fi
|
|
|
|
- env:
|
|
stepName: Build Posix_GCC Full Demo
|
|
name: ${{ env.stepName }}
|
|
id: build-posix-gcc-full-demo
|
|
shell: bash
|
|
working-directory: FreeRTOS/Demo/Posix_GCC
|
|
run: |
|
|
# ${{ env.stepName }}
|
|
echo -e "::group::${{ env.stepName }}"
|
|
set +e
|
|
sed -i -z "s/int[[:space:]]*main[[:space:]]*([[:space:]]*void[[:space:]]*)\n{/int main( void ){setvbuf( stdout, NULL, _IONBF, 0 );/g" main.c
|
|
make -j
|
|
exitStatus=$?
|
|
set -e
|
|
echo -e "::endgroup::"
|
|
if [ $exitStatus -eq 0 ]; then
|
|
echo -e "${{ env.bashPass }} ${{ env.stepName }} ${{ env.bashEnd }}"
|
|
else
|
|
echo -e "${{ env.bashFail }} ${{ env.stepName }} ${{ env.bashEnd }}"
|
|
exit 1
|
|
fi
|
|
|
|
- env:
|
|
stepName: Run and monitor Posix_GCC Full Demo
|
|
name: ${{ env.stepName }}
|
|
uses: FreeRTOS/CI-CD-GitHub-Actions/executable-monitor@main
|
|
with:
|
|
exe-path: FreeRTOS/Demo/Posix_GCC/build/posix_demo
|
|
timeout-seconds: 60
|
|
success-line: "OK: No errors"
|
|
retry-attempts: 3
|
|
|
|
- env:
|
|
stepName: Build Posix_GCC Blinky Demo
|
|
name: ${{ env.stepName }}
|
|
id: build-posix-gcc-blinky-demo
|
|
shell: bash
|
|
working-directory: FreeRTOS/Demo/Posix_GCC
|
|
run: |
|
|
# ${{ env.stepName }}
|
|
echo -e "::group::${{ env.stepName }}"
|
|
rm -rf build
|
|
set +e
|
|
make -j USER_DEMO=BLINKY_DEMO
|
|
exitStatus=$?
|
|
set -e
|
|
echo -e "::endgroup::"
|
|
if [ $exitStatus -eq 0 ]; then
|
|
echo -e "${{ env.bashPass }} ${{ env.stepName }} ${{ env.bashEnd }}"
|
|
else
|
|
echo -e "${{ env.bashFail }} ${{env.stepName}} ${{ env.bashEnd }}"
|
|
exit 1
|
|
fi
|
|
|
|
- env:
|
|
stepName: Run and monitor Posix_GCC Blinky Demo
|
|
name: ${{ env.stepName }}
|
|
uses: FreeRTOS/CI-CD-GitHub-Actions/executable-monitor@main
|
|
with:
|
|
exe-path: FreeRTOS/Demo/Posix_GCC/build/posix_demo
|
|
timeout-seconds: 60
|
|
success-line: "Message received from software timer"
|
|
|
|
MSP430-GCC:
|
|
name: GNU MSP430 Toolchain
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- env:
|
|
stepName: Checkout Repository
|
|
name: ${{ env.stepName }}
|
|
uses: actions/checkout@v3
|
|
with:
|
|
submodules: true
|
|
|
|
- env:
|
|
stepName: Fetch Kernel Submodule
|
|
name: ${{ env.stepName }}
|
|
shell: bash
|
|
run: |
|
|
# ${{ env.stepName }}
|
|
echo -e "::group::${{ env.stepName }}"
|
|
set +e
|
|
git submodule update --checkout --init --depth 1 FreeRTOS/Source
|
|
exitStatus=$?
|
|
set -e
|
|
echo -e "::endgroup::"
|
|
if [ $exitStatus -eq 0 ]; then
|
|
echo -e "${{ env.bashPass }} ${{ env.stepName }} ${{ env.bashEnd }}"
|
|
else
|
|
echo -e "${{ env.bashFail }} ${{ env.stepName }} ${{ env.bashEnd }}"
|
|
exit 1
|
|
fi
|
|
|
|
- env:
|
|
stepName: Install MSP430 Toolchain
|
|
name: ${{ env.stepName }}
|
|
shell: bash
|
|
run: |
|
|
# ${{ env.stepName }}
|
|
echo -e "::group::${{ env.stepName }}"
|
|
set +e
|
|
sudo apt-get -y update
|
|
sudo apt-get -y install gcc-msp430 build-essential
|
|
exitStatus=$?
|
|
set -e
|
|
echo -e "::endgroup::"
|
|
if [ $exitStatus -eq 0 ]; then
|
|
echo -e "${{ env.bashPass }} ${{ env.stepName }} ${{ env.bashEnd }}"
|
|
else
|
|
echo -e "${{ env.bashFail }} ${{ env.stepName }} ${{ env.bashEnd }}"
|
|
exit 1
|
|
fi
|
|
|
|
- env:
|
|
stepName: Build msp430_GCC Demo
|
|
name: ${{ env.stepName }}
|
|
shell: bash
|
|
working-directory: FreeRTOS/Demo/msp430_GCC
|
|
run: |
|
|
# ${{ env.stepName }}
|
|
echo -e "::group::${{ env.stepName }}"
|
|
set +e
|
|
make -j
|
|
exitStatus=$?
|
|
set -e
|
|
echo -e "::endgroup::"
|
|
if [ $exitStatus -eq 0 ]; then
|
|
echo -e "${{ env.bashPass }} ${{ env.stepName }} ${{ env.bashEnd }}"
|
|
else
|
|
echo -e "${{ env.bashFail }} ${{ env.stepName }} ${{ env.bashEnd }}"
|
|
exit 1
|
|
fi
|
|
|
|
ARM-GCC:
|
|
name: GNU ARM Toolchain
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- env:
|
|
stepName: Checkout Repository
|
|
name: ${{ env.stepName }}
|
|
uses: actions/checkout@v3
|
|
|
|
- env:
|
|
stepName: Fetch Kernel Submodule
|
|
name: ${{ env.stepName }}
|
|
shell: bash
|
|
run: |
|
|
# ${{ env.stepName }}
|
|
echo -e "::group::${{ env.stepName }}"
|
|
set +e
|
|
git submodule update --checkout --init --depth 1 FreeRTOS/Source FreeRTOS/Demo/ThirdParty/Community-Supported-Demos
|
|
exitStatus=$?
|
|
set -e
|
|
echo -e "::endgroup::"
|
|
if [ $exitStatus -eq 0 ]; then
|
|
echo -e "${{ env.bashPass }} ${{ env.stepName }} ${{ env.bashEnd }}"
|
|
else
|
|
echo -e "${{ env.bashFail }} ${{ env.stepName }} ${{ env.bashEnd }}"
|
|
exit 1
|
|
fi
|
|
|
|
- env:
|
|
stepName: Install GNU ARM Toolchain
|
|
name: Install GNU ARM Toolchain
|
|
shell: bash
|
|
run: |
|
|
# ${{ env.stepName }}
|
|
echo -e "::group::${{ env.stepName }}"
|
|
set +e
|
|
sudo apt-get -y update
|
|
sudo apt-get -y install gcc-arm-none-eabi build-essential cmake git ninja-build python3-minimal
|
|
sudo apt-get -y install qemu-system-arm qemu-efi
|
|
exitStatus=$?
|
|
set -e
|
|
echo -e "::endgroup::"
|
|
if [ $exitStatus -eq 0 ]; then
|
|
echo -e "${{ env.bashPass }} ${{ env.stepName }} ${{ env.bashEnd }}"
|
|
else
|
|
echo -e "${{ env.bashFail }} ${{ env.stepName }} ${{ env.bashEnd }}"
|
|
exit 1
|
|
fi
|
|
|
|
- env:
|
|
stepName: Build CORTEX_MPU_M3_MPS2_QEMU_GCC Demo
|
|
name: ${{ env.stepName }}
|
|
shell: bash
|
|
working-directory: FreeRTOS/Demo/CORTEX_MPU_M3_MPS2_QEMU_GCC
|
|
run: |
|
|
# ${{ env.stepName }}
|
|
echo -e "::group::${{ env.stepName }}"
|
|
set +e
|
|
make -j
|
|
exitStatus=$?
|
|
set -e
|
|
echo -e "::endgroup::"
|
|
if [ $exitStatus -eq 0 ]; then
|
|
echo -e "${{ env.bashPass }} ${{ env.stepName }} ${{ env.bashEnd }}"
|
|
else
|
|
echo -e "${{ env.bashFail }} ${{ env.stepName }} ${{ env.bashEnd }}"
|
|
exit 1
|
|
fi
|
|
|
|
- env:
|
|
stepName: Build CORTEX_LM3S102_GCC Demo
|
|
name: ${{ env.stepName }}
|
|
shell: bash
|
|
working-directory: FreeRTOS/Demo/CORTEX_LM3S102_GCC
|
|
run: |
|
|
# ${{ env.stepName }}
|
|
echo -e "::group::${{ env.stepName }}"
|
|
set +e
|
|
make clean
|
|
make -j
|
|
exitStatus=$?
|
|
set -e
|
|
echo -e "::endgroup::"
|
|
if [ $exitStatus -eq 0 ]; then
|
|
echo -e "${{ env.bashPass }} ${{ env.stepName }} ${{ env.bashEnd }}"
|
|
else
|
|
echo -e "${{ env.bashFail }} ${{ env.stepName }} ${{ env.bashEnd }}"
|
|
exit 1
|
|
fi
|
|
|
|
- env:
|
|
stepName: Build CORTEX_LM3S811_GCC Demo
|
|
name: ${{ env.stepName }}
|
|
shell: bash
|
|
working-directory: FreeRTOS/Demo/CORTEX_LM3S811_GCC
|
|
run: |
|
|
# ${{ env.stepName }}
|
|
echo -e "::group::${{ env.stepName }}"
|
|
set +e
|
|
make -j
|
|
exitStatus=$?
|
|
set -e
|
|
echo -e "::endgroup::"
|
|
if [ $exitStatus -eq 0 ]; then
|
|
echo -e "${{ env.bashPass }} ${{ env.stepName }} ${{ env.bashEnd }}"
|
|
else
|
|
echo -e "${{ env.bashFail }} ${{ env.stepName }} ${{ env.bashEnd }}"
|
|
exit 1
|
|
fi
|
|
|
|
- env:
|
|
stepName: Build CORTEX_M0+_RP2040 Demos
|
|
name: ${{ env.stepName }}
|
|
shell: bash
|
|
working-directory: FreeRTOS/Demo/ThirdParty/Community-Supported-Demos/CORTEX_M0+_RP2040
|
|
run: |
|
|
# ${{ env.stepName }}
|
|
echo -e "::group::${{ env.stepName }}"
|
|
set +e
|
|
git clone https://github.com/raspberrypi/pico-sdk.git
|
|
cmake -B build -DPICO_SDK_PATH=pico-sdk -GNinja
|
|
ninja -C build --verbose
|
|
exitStatus=$?
|
|
set -e
|
|
echo -e "::endgroup::"
|
|
if [ $exitStatus -eq 0 ]; then
|
|
echo -e "${{ env.bashPass }} ${{ env.stepName }} ${{ env.bashEnd }}"
|
|
else
|
|
echo -e "${{ env.bashFail }} ${{ env.stepName }} ${{ env.bashEnd }}"
|
|
exit 1
|
|
fi
|
|
|
|
- env:
|
|
stepName: Build Qemu Runner File
|
|
name: ${{ env.stepName }}
|
|
shell: bash
|
|
working-directory: .github/scripts
|
|
run: |
|
|
# ${{ env.stepName }}
|
|
echo -e "::group::${{ env.stepName }}"
|
|
gcc qemu_reader.c -o ../../FreeRTOS/Demo/CORTEX_MPS2_QEMU_IAR_GCC/qemu_reader.out
|
|
exitStatus=$?
|
|
echo -e "::endgroup::"
|
|
if [ $exitStatus -eq 0 ]; then
|
|
echo -e "${{ env.bashPass }} ${{ env.stepName }} ${{ env.bashEnd }}"
|
|
else
|
|
echo -e "${{ env.bashFail }} ${{ env.stepName }} ${{ env.bashEnd }}"
|
|
exit 1
|
|
fi
|
|
|
|
- env:
|
|
stepName: Build CORTEX_MPS2_QEMU_IAR_GCC Demo
|
|
name: ${{ env.stepName }}
|
|
shell: bash
|
|
working-directory: FreeRTOS/Demo/CORTEX_MPS2_QEMU_IAR_GCC
|
|
run: |
|
|
# ${{ env.stepName }}
|
|
echo -e "::group::${{ env.stepName }}"
|
|
set +e
|
|
make -C build/gcc -j
|
|
exitStatus=$?
|
|
set -e
|
|
echo -e "::endgroup::"
|
|
if [ $exitStatus -eq 0 ]; then
|
|
echo -e "${{ env.bashPass }} ${{ env.stepName }} ${{ env.bashEnd }}"
|
|
else
|
|
echo -e "${{ env.bashFail }} ${{ env.stepName }} ${{ env.bashEnd }}"
|
|
exit 1
|
|
fi
|
|
|
|
- env:
|
|
stepName: Run and monitor CORTEX_MPS2_QEMU_IAR_GCC Demo
|
|
name: ${{ env.stepName }}
|
|
uses: FreeRTOS/CI-CD-GitHub-Actions/executable-monitor@main
|
|
with:
|
|
exe-path: FreeRTOS/Demo/CORTEX_MPS2_QEMU_IAR_GCC/qemu_reader.out
|
|
timeout-seconds: 20
|
|
success-line: "Message received from software timer"
|
|
retry-attempts: 1
|