-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'master' into dcd_notif
Signed-off-by: HiFiPhile <[email protected]>
- Loading branch information
Showing
717 changed files
with
32,418 additions
and
14,764 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,79 @@ | ||
version: 2.1 | ||
|
||
setup: true | ||
orbs: | ||
continuation: circleci/continuation@1 | ||
|
||
jobs: | ||
set-matrix: | ||
executor: continuation/default | ||
docker: | ||
- image: cimg/base:current | ||
resource_class: small | ||
steps: | ||
- checkout | ||
- run: | ||
name: Set matrix | ||
command: | | ||
MATRIX_JSON=$(python .github/workflows/ci_set_matrix.py) | ||
echo "MATRIX_JSON=$MATRIX_JSON" | ||
BUILDSYSTEM_TOOLCHAIN=( | ||
"cmake arm-clang" | ||
"make aarch64-gcc" | ||
"make arm-gcc" | ||
"make msp430-gcc" | ||
"make riscv-gcc" | ||
"make rx-gcc" | ||
"cmake esp-idf" | ||
) | ||
RESOURCE_LARGE='["nrf", "imxrt"]' | ||
for e in "${BUILDSYSTEM_TOOLCHAIN[@]}"; do | ||
e_arr=($e) | ||
build_system="${e_arr[0]}" | ||
toolchain="${e_arr[1]}" | ||
FAMILY=$(echo $MATRIX_JSON | jq -r ".\"$toolchain\"") | ||
echo "FAMILY_${toolchain}=$FAMILY" | ||
# FAMILY_LARGE = FAMILY - RESOURCE_LARGE | ||
# Separate large from medium+ resources | ||
FAMILY_LARGE=$(jq -n --argjson family "$FAMILY" --argjson resource "$RESOURCE_LARGE" '$family | map(select(IN($resource[])))') | ||
FAMILY=$(jq -n --argjson family "$FAMILY" --argjson resource "$RESOURCE_LARGE" '$family | map(select(IN($resource[]) | not))') | ||
if [[ $toolchain == esp-idf ]]; then | ||
echo " - build-vm:" >> .circleci/config2.yml | ||
else | ||
echo " - build:" >> .circleci/config2.yml | ||
fi | ||
echo " matrix:" >> .circleci/config2.yml | ||
echo " parameters:" >> .circleci/config2.yml | ||
echo " build-system: ['$build_system']" >> .circleci/config2.yml | ||
echo " toolchain: ['$toolchain']" >> .circleci/config2.yml | ||
echo " family: $FAMILY" >> .circleci/config2.yml | ||
#echo " resource_class: ['medium+']" >> .circleci/config2.yml | ||
# add large resources | ||
if [ "$(echo $FAMILY_LARGE | jq 'length')" -gt 0 ]; then | ||
echo " - build:" >> .circleci/config2.yml | ||
echo " matrix:" >> .circleci/config2.yml | ||
echo " parameters:" >> .circleci/config2.yml | ||
echo " build-system: ['$build_system']" >> .circleci/config2.yml | ||
echo " toolchain: ['$toolchain']" >> .circleci/config2.yml | ||
echo " family: $FAMILY_LARGE" >> .circleci/config2.yml | ||
echo " resource_class: ['large']" >> .circleci/config2.yml | ||
fi | ||
done | ||
- continuation/continue: | ||
configuration_path: .circleci/config2.yml | ||
|
||
workflows: | ||
set-matrix: | ||
# Only build PR here, Push will be built by github action. | ||
when: | ||
and: | ||
- not: << pipeline.git.branch.is_default >> | ||
jobs: | ||
- set-matrix |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,183 @@ | ||
version: 2.1 | ||
|
||
commands: | ||
setup-toolchain: | ||
parameters: | ||
toolchain: | ||
type: string | ||
|
||
steps: | ||
- run: | ||
name: Set toolchain url and key | ||
command: | | ||
TOOLCHAIN_JSON='{ | ||
"aarch64-gcc": "https://developer.arm.com/-/media/Files/downloads/gnu-a/10.3-2021.07/binrel/gcc-arm-10.3-2021.07-x86_64-aarch64-none-elf.tar.xz", | ||
"arm-clang": "https://github.com/ARM-software/LLVM-embedded-toolchain-for-Arm/releases/download/release-17.0.1/LLVMEmbeddedToolchainForArm-17.0.1-Linux-x86_64.tar.xz", | ||
"arm-gcc": "https://github.com/xpack-dev-tools/arm-none-eabi-gcc-xpack/releases/download/v12.3.1-1.1/xpack-arm-none-eabi-gcc-12.3.1-1.1-linux-x64.tar.gz", | ||
"msp430-gcc": "http://software-dl.ti.com/msp430/msp430_public_sw/mcu/msp430/MSPGCC/9_2_0_0/export/msp430-gcc-9.2.0.50_linux64.tar.bz2", | ||
"riscv-gcc": "https://github.com/xpack-dev-tools/riscv-none-elf-gcc-xpack/releases/download/v13.2.0-2/xpack-riscv-none-elf-gcc-13.2.0-2-linux-x64.tar.gz", | ||
"rx-gcc": "https://llvm-gcc-renesas.com/downloads/get.php?f=rx/8.3.0.202004-gnurx/gcc-8.3.0.202004-GNURX-ELF.run" | ||
}' | ||
toolchain_url=$(echo $TOOLCHAIN_JSON | jq -r '.["<< parameters.toolchain >>"]') | ||
# only cache if not a github link | ||
if [[ $toolchain_url != "https://github.com"* ]]; then | ||
echo "<< parameters.toolchain >>-$toolchain_url" > toolchain_key | ||
fi | ||
echo "export toolchain_url=$toolchain_url" >> $BASH_ENV | ||
- restore_cache: | ||
name: Restore Toolchain Cache | ||
key: deps-{{ checksum "toolchain_key" }} | ||
paths: | ||
- ~/cache/<< parameters.toolchain >> | ||
|
||
- run: | ||
name: Install Toolchain | ||
command: | | ||
# download if folder does not exist (not cached) | ||
if [ ! -d ~/cache/<< parameters.toolchain >> ]; then | ||
mkdir -p ~/cache/<< parameters.toolchain >> | ||
wget --progress=dot:giga $toolchain_url -O toolchain.tar.gz | ||
if [[ << parameters.toolchain >> == rx-gcc ]]; then | ||
mv toolchain.tar.gz toolchain.run | ||
chmod +x toolchain.run | ||
./toolchain.run -p ~/cache/<< parameters.toolchain >>/gnurx -y | ||
else | ||
tar -C ~/cache/<< parameters.toolchain >> -xaf toolchain.tar.gz | ||
fi | ||
fi | ||
# Add toolchain to PATH | ||
echo "export PATH=$PATH:`echo ~/cache/<< parameters.toolchain >>/*/bin`" >> $BASH_ENV | ||
- save_cache: | ||
name: Save Toolchain Cache | ||
key: deps-{{ checksum "toolchain_key" }} | ||
paths: | ||
- ~/cache/<< parameters.toolchain >> | ||
|
||
build: | ||
parameters: | ||
build-system: | ||
type: string | ||
toolchain: | ||
type: string | ||
family: | ||
type: string | ||
|
||
steps: | ||
- checkout | ||
- run: | ||
name: Get Dependencies | ||
command: | | ||
python tools/get_deps.py << parameters.family >> | ||
# Install ninja if cmake build system | ||
if [ << parameters.build-system >> == "cmake" ]; then | ||
NINJA_URL=https://github.com/ninja-build/ninja/releases/download/v1.12.1/ninja-linux.zip | ||
wget $NINJA_URL -O ninja-linux.zip | ||
unzip ninja-linux.zip -d ~/bin | ||
fi | ||
# rx-gcc is 32-bit binary | ||
if [[ << parameters.toolchain >> == rx-gcc ]]; then | ||
sudo dpkg --add-architecture i386 | ||
sudo apt update | ||
sudo apt install libc6:i386 libstdc++6:i386 zlib1g:i386 | ||
fi | ||
# Install Pico SDK | ||
if [ << parameters.family >> == "rp2040" ]; then | ||
git clone --depth 1 https://github.com/raspberrypi/pico-sdk.git ~/pico-sdk | ||
echo "export PICO_SDK_PATH=~/pico-sdk" >> $BASH_ENV | ||
fi | ||
- when: | ||
condition: | ||
not: | ||
equal: [esp-idf, << parameters.toolchain >>] | ||
steps: | ||
- setup-toolchain: | ||
toolchain: << parameters.toolchain >> | ||
|
||
- run: | ||
name: Build | ||
command: | | ||
if [ << parameters.toolchain >> == esp-idf ]; then | ||
docker run --rm -v $PWD:/project -w /project espressif/idf:v5.3.1 python tools/build.py << parameters.family >> | ||
else | ||
# Toolchain option default is gcc | ||
if [ << parameters.toolchain >> == arm-clang ]; then | ||
TOOLCHAIN_OPTION="--toolchain clang" | ||
elif [ << parameters.toolchain >> == arm-gcc ]; then | ||
TOOLCHAIN_OPTION="--toolchain gcc" | ||
fi | ||
python tools/build.py -s << parameters.build-system >> $TOOLCHAIN_OPTION << parameters.family >> | ||
fi | ||
jobs: | ||
# Build using docker | ||
build: | ||
parameters: | ||
resource_class: | ||
type: string | ||
default: medium+ | ||
build-system: | ||
type: string | ||
toolchain: | ||
type: string | ||
family: | ||
type: string | ||
|
||
docker: | ||
- image: cimg/base:current | ||
resource_class: << parameters.resource_class >> | ||
|
||
steps: | ||
- build: | ||
build-system: << parameters.build-system >> | ||
toolchain: << parameters.toolchain >> | ||
family: << parameters.family >> | ||
|
||
# Build using VM | ||
build-vm: | ||
parameters: | ||
resource_class: | ||
type: string | ||
default: large | ||
build-system: | ||
type: string | ||
toolchain: | ||
type: string | ||
family: | ||
type: string | ||
|
||
machine: | ||
image: ubuntu-2404:current | ||
resource_class: << parameters.resource_class >> | ||
|
||
steps: | ||
- build: | ||
build-system: << parameters.build-system >> | ||
toolchain: << parameters.toolchain >> | ||
family: << parameters.family >> | ||
|
||
workflows: | ||
build: | ||
jobs: | ||
# - build: | ||
# matrix: | ||
# parameters: | ||
# toolchain: [ 'arm-gcc' ] | ||
# build-system: [ 'cmake' ] | ||
# family: [ 'nrf' ] | ||
# resource_class: ['large'] | ||
# - build-vm: | ||
# matrix: | ||
# parameters: | ||
# toolchain: ['esp-idf'] | ||
# build-system: ['cmake'] | ||
# family: ['-bespressif_kaluga_1'] | ||
# resource_class: ['large'] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,66 @@ | ||
# Generated from CLion C/C++ Code Style settings | ||
BasedOnStyle: LLVM | ||
AccessModifierOffset: -2 | ||
AlignAfterOpenBracket: Align | ||
AlignConsecutiveAssignments: None | ||
AlignOperands: Align | ||
AllowAllArgumentsOnNextLine: false | ||
AllowAllConstructorInitializersOnNextLine: false | ||
AllowAllParametersOfDeclarationOnNextLine: false | ||
AllowShortBlocksOnASingleLine: Always | ||
AllowShortCaseLabelsOnASingleLine: false | ||
AllowShortFunctionsOnASingleLine: All | ||
AllowShortIfStatementsOnASingleLine: Always | ||
AllowShortLambdasOnASingleLine: All | ||
AllowShortLoopsOnASingleLine: true | ||
AlwaysBreakAfterReturnType: None | ||
AlwaysBreakTemplateDeclarations: Yes | ||
BreakBeforeBraces: Custom | ||
BraceWrapping: | ||
AfterCaseLabel: false | ||
AfterClass: false | ||
AfterControlStatement: Never | ||
AfterEnum: false | ||
AfterFunction: false | ||
AfterNamespace: false | ||
AfterUnion: false | ||
BeforeCatch: false | ||
BeforeElse: false | ||
IndentBraces: false | ||
SplitEmptyFunction: false | ||
SplitEmptyRecord: true | ||
BreakBeforeBinaryOperators: None | ||
BreakBeforeTernaryOperators: true | ||
BreakConstructorInitializers: BeforeColon | ||
BreakInheritanceList: BeforeColon | ||
ColumnLimit: 0 | ||
CompactNamespaces: false | ||
ContinuationIndentWidth: 4 | ||
IndentCaseLabels: true | ||
IndentPPDirectives: BeforeHash | ||
IndentWidth: 2 | ||
KeepEmptyLinesAtTheStartOfBlocks: true | ||
MaxEmptyLinesToKeep: 2 | ||
NamespaceIndentation: All | ||
ObjCSpaceAfterProperty: false | ||
ObjCSpaceBeforeProtocolList: true | ||
PointerAlignment: Right | ||
ReflowComments: false | ||
SpaceAfterCStyleCast: true | ||
SpaceAfterLogicalNot: false | ||
SpaceAfterTemplateKeyword: false | ||
SpaceBeforeAssignmentOperators: true | ||
SpaceBeforeCpp11BracedList: false | ||
SpaceBeforeCtorInitializerColon: true | ||
SpaceBeforeInheritanceColon: true | ||
SpaceBeforeParens: ControlStatements | ||
SpaceBeforeRangeBasedForLoopColon: false | ||
SpaceInEmptyParentheses: false | ||
SpacesBeforeTrailingComments: 0 | ||
SpacesInAngles: false | ||
SpacesInCStyleCastParentheses: false | ||
SpacesInContainerLiterals: true | ||
SpacesInParentheses: false | ||
SpacesInSquareBrackets: false | ||
TabWidth: 2 | ||
UseTab: Never |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
name: Get dependencies | ||
|
||
inputs: | ||
arg: | ||
description: 'Arguments to get_deps.py' | ||
required: true | ||
|
||
runs: | ||
using: "composite" | ||
steps: | ||
- name: Checkout pico-sdk for rp2040 | ||
if: contains(inputs.arg, 'rp2040') || contains(inputs.arg, 'raspberry_pi_pico') | ||
uses: actions/checkout@v4 | ||
with: | ||
repository: raspberrypi/pico-sdk | ||
ref: develop | ||
path: pico-sdk | ||
|
||
- name: Linux dependencies | ||
if: runner.os == 'Linux' | ||
run: | | ||
sudo apt install -y ninja-build | ||
shell: bash | ||
|
||
- name: Get Dependencies | ||
run: | | ||
python3 tools/get_deps.py ${{ inputs.arg }} | ||
echo "PICO_SDK_PATH=${{ github.workspace }}/pico-sdk" >> $GITHUB_ENV | ||
shell: bash |
Oops, something went wrong.