Skip to content

Commit

Permalink
chore: release 1.0.0
Browse files Browse the repository at this point in the history
Release-As: 1.0.0
  • Loading branch information
as-iotex committed Jul 20, 2023
1 parent b769d6b commit b1d8c35
Show file tree
Hide file tree
Showing 212 changed files with 76,593 additions and 0 deletions.
196 changes: 196 additions & 0 deletions .clang-format
Original file line number Diff line number Diff line change
@@ -0,0 +1,196 @@
---
Language: Cpp
# BasedOnStyle: LLVM
AccessModifierOffset: -2
AlignAfterOpenBracket: Align
AlignArrayOfStructures: None
AlignConsecutiveMacros: None
AlignConsecutiveAssignments: None
AlignConsecutiveBitFields: None
AlignConsecutiveDeclarations: None
AlignEscapedNewlines: Right
AlignOperands: Align
AlignTrailingComments: true
AllowAllArgumentsOnNextLine: true
AllowAllConstructorInitializersOnNextLine: true
AllowAllParametersOfDeclarationOnNextLine: true
AllowShortEnumsOnASingleLine: false
AllowShortBlocksOnASingleLine: Never
AllowShortCaseLabelsOnASingleLine: false
AllowShortFunctionsOnASingleLine: None
AllowShortLambdasOnASingleLine: All
AllowShortIfStatementsOnASingleLine: Never
AllowShortLoopsOnASingleLine: false
AlwaysBreakAfterDefinitionReturnType: None
AlwaysBreakAfterReturnType: None
AlwaysBreakBeforeMultilineStrings: false
# Always break after a template declaration
AlwaysBreakTemplateDeclarations: Yes
# A vector of strings that should be interpreted as attributes/qualifiers instead of identifiers.
# This can be useful for language extensions or static analyzer annotations
AttributeMacros:
- __capability
- __unused
BinPackArguments: true
BinPackParameters: true
# Configure each individual brace in BraceWrapping.
BreakBeforeBraces: Custom
BraceWrapping:
# Opening brace under case label
AfterCaseLabel: true
# Class brace opens on the same line as the class name
AfterClass: true
# Braces are under control statement
AfterControlStatement: Always
# Braces are under enum
AfterEnum: true
# Braces are under function prototype
AfterFunction: true
# Braces are under namespace
AfterNamespace: true
# Braces are under struct keyword
AfterStruct: true
# Braces are under union keyword
AfterUnion: true
# Braces are under extern keyword
AfterExternBlock: true
# Braces are under catch keyword
BeforeCatch: true
# else keyword is placed under if close brace
BeforeElse: true
# Do not place a trailing while loop below the close brace
BeforeWhile: false
# Do not indent wrapped braces
IndentBraces: false
# Empty function body braces are on multiple lines
SplitEmptyFunction: true
# Empty class/struct/union body braces are on multiple lines
SplitEmptyRecord: true
# empty namespace body braces are on multiple lines
SplitEmptyNamespace: true
BreakBeforeBinaryOperators: None
BreakBeforeConceptDeclarations: true
BreakBeforeInheritanceComma: false
BreakInheritanceList: BeforeColon
BreakBeforeTernaryOperators: false
BreakConstructorInitializersBeforeComma: false
BreakConstructorInitializers: AfterColon
BreakAfterJavaFieldAnnotations: false
BreakStringLiterals: true
ColumnLimit: 100
CommentPragmas: '^ IWYU pragma:'
CompactNamespaces: false
ConstructorInitializerAllOnOneLineOrOnePerLine: false
ConstructorInitializerIndentWidth: 4
ContinuationIndentWidth: 4
Cpp11BracedListStyle: true
DeriveLineEnding: true
DerivePointerAlignment: false
DisableFormat: false
EmptyLineAfterAccessModifier: Never
EmptyLineBeforeAccessModifier: LogicalBlock
ExperimentalAutoDetectBinPacking: false
FixNamespaceComments: true
ForEachMacros:
- foreach
- Q_FOREACH
- BOOST_FOREACH
IfMacros:
- KJ_IF_MAYBE
IncludeBlocks: Preserve
IncludeCategories:
- Regex: '^"(llvm|llvm-c|clang|clang-c)/'
Priority: 2
SortPriority: 0
CaseSensitive: false
- Regex: '^(<|"(gtest|gmock|isl|json)/)'
Priority: 3
SortPriority: 0
CaseSensitive: false
- Regex: '.*'
Priority: 1
SortPriority: 0
CaseSensitive: false
IncludeIsMainRegex: '(Test)?$'
IncludeIsMainSourceRegex: ''
IndentAccessModifiers: false
IndentCaseLabels: true
IndentCaseBlocks: false
IndentGotoLabels: true
IndentPPDirectives: BeforeHash
IndentExternBlock: AfterExternBlock
IndentRequires: true
IndentWidth: 4
IndentWrappedFunctionNames: true
InsertTrailingCommas: None
JavaScriptQuotes: Leave
JavaScriptWrapImports: true
KeepEmptyLinesAtTheStartOfBlocks: false
LambdaBodyIndentation: Signature
MacroBlockBegin: ''
MacroBlockEnd: ''
MaxEmptyLinesToKeep: 1
NamespaceIndentation: None
ObjCBinPackProtocolList: Auto
ObjCBlockIndentWidth: 2
ObjCBreakBeforeNestedBlockParam: true
ObjCSpaceAfterProperty: false
ObjCSpaceBeforeProtocolList: true
PenaltyBreakAssignment: 2
PenaltyBreakBeforeFirstCallParameter: 19
PenaltyBreakComment: 300
PenaltyBreakFirstLessLess: 120
PenaltyBreakString: 1000
PenaltyBreakTemplateDeclaration: 10
PenaltyExcessCharacter: 1000000
PenaltyReturnTypeOnItsOwnLine: 60
PenaltyIndentedWhitespace: 0
PointerAlignment: Left
PPIndentWidth: -1
ReferenceAlignment: Pointer
ReflowComments: true
ShortNamespaceLines: 1
SortIncludes: CaseInsensitive
SortJavaStaticImport: Before
SortUsingDeclarations: true
SpaceAfterCStyleCast: false
SpaceAfterLogicalNot: false
SpaceAfterTemplateKeyword: false
SpaceBeforeAssignmentOperators: true
SpaceBeforeCaseColon: false
SpaceBeforeCpp11BracedList: false
SpaceBeforeCtorInitializerColon: true
SpaceBeforeInheritanceColon: true
SpaceBeforeParens: Never
SpaceAroundPointerQualifiers: Default
SpaceBeforeRangeBasedForLoopColon: false
SpaceInEmptyBlock: false
SpaceInEmptyParentheses: false
SpacesBeforeTrailingComments: 1
SpacesInAngles: Never
SpacesInConditionalStatement: false
SpacesInContainerLiterals: false
SpacesInCStyleCastParentheses: false
SpacesInLineCommentPrefix:
Minimum: 1
Maximum: -1
SpacesInParentheses: false
SpacesInSquareBrackets: false
SpaceBeforeSquareBrackets: false
BitFieldColonSpacing: Both
Standard: Latest
StatementAttributeLikeMacros:
- Q_EMIT
StatementMacros:
- Q_UNUSED
- QT_REQUIRE_VERSION
TabWidth: 4
UseCRLF: false
UseTab: Always
WhitespaceSensitiveMacros:
- STRINGIZE
- PP_STRINGIZE
- BOOST_PP_STRINGIZE
- NS_SWIFT_NAME
- CF_SWIFT_NAME
...
78 changes: 78 additions & 0 deletions .github/workflows/arduino-ci.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
name: Arduino CI

on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]

env:
# It's convenient to set variables for values used multiple times in the workflow
SKETCHES_REPORTS_PATH: sketches-reports
SKETCHES_REPORTS_ARTIFACT_NAME: sketches-reports

jobs:
compile:
strategy:
matrix:
arduino-platform: ["arduino:samd", "esp32:esp32"]
include:
- arduino-platform: "arduino:samd"
fqbn: "arduino:samd:nano_33_iot"
- arduino-platform: "esp32:esp32"
fqbn: "esp32:esp32:nodemcu-32s"

runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3

- name: Arduino Lint
uses: arduino/arduino-lint-action@v1

- name: Install Arduino CLI
uses: arduino/setup-arduino-cli@v1

- name: Add ESP32 package index URL
if: ${{ matrix.arduino-platform == 'esp32:esp32' }}
run: |
arduino-cli config init
arduino-cli core update-index
arduino-cli config add board_manager.additional_urls https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
- name: Install platform
run: |
arduino-cli core update-index
arduino-cli core install ${{ matrix.arduino-platform }}
- name: Compile sketches
uses: arduino/compile-sketches@v1
with:
fqbn: ${{ matrix.fqbn }}
enable-deltas-report: true
sketches-report-path: ${{ env.SKETCHES_REPORTS_PATH }}

# Add the report job to the workflow - commented out, needs fixed
# This step is needed to pass the size data to the report job
# - name: Upload sketches report to workflow artifact
# uses: actions/upload-artifact@v2
# with:
# name: ${{ env.SKETCHES_REPORTS_ARTIFACT_NAME }}
# path: ${{ env.SKETCHES_REPORTS_PATH }}

# When using a matrix to compile for multiple boards, it's necessary to use a separate job for the deltas report
# report:
# needs: compile # Wait for the compile job to finish to get the data for the report
# if: github.event_name == 'pull_request' # Only run the job when the workflow is triggered by a pull request
# runs-on: ubuntu-latest
# steps:
# # This step is needed to get the size data produced by the compile jobs
# - name: Download sketches reports artifact
# uses: actions/download-artifact@v2
# with:
# name: ${{ env.SKETCHES_REPORTS_ARTIFACT_NAME }}
# path: ${{ env.SKETCHES_REPORTS_PATH }}

# - uses: arduino/report-size-deltas@v1
# with:
# sketches-reports-source: ${{ env.SKETCHES_REPORTS_PATH }}
31 changes: 31 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: Run unit tests

on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]

env:
BUILD_TYPE: Release

jobs:
build-cmake:
strategy:
matrix:
operating-system: [ubuntu-latest, macos-latest]
runs-on: ${{ matrix.operating-system }}

steps:
- name: Checkout repository
uses: actions/checkout@v3

- name: Configure CMake
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}

- name: Build with CMake
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}

- name: Test with CMake
working-directory: ${{github.workspace}}/build
run: ctest -C ${{env.BUILD_TYPE}}
26 changes: 26 additions & 0 deletions .github/workflows/code-formatting.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: Code formatting

on: [push, pull_request]

jobs:
formatting-check:
name: Formatting Check
runs-on: ubuntu-latest
strategy:
matrix:
path:
- check: 'src'
exclude: 'tinycrypt'
- check: 'examples'
exclude: ''
- check: 'tests'
exclude: ''
steps:
- uses: actions/checkout@v3

- name: Run clang-format style check for C/C++/Protobuf programs.
uses: jidicula/[email protected]
with:
clang-format-version: '13'
check-path: ${{ matrix.path['check'] }}
exclude-regex: ${{ matrix.path['exclude'] }}
17 changes: 17 additions & 0 deletions .github/workflows/doxygen-gh-pages.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
name: Doxygen GitHub Pages Deploy Action

on:
push:
branches:
- main

jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: DenverCoder1/[email protected]
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
branch: gh-pages
folder: docs
config_file: Doxyfile
20 changes: 20 additions & 0 deletions .github/workflows/pr.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
name: "Lint PR"

on:
pull_request_target:
types:
- opened
- edited
- synchronize

permissions:
pull-requests: read

jobs:
main:
name: Validate PR title
runs-on: ubuntu-latest
steps:
- uses: amannn/action-semantic-pull-request@v5
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Loading

0 comments on commit b1d8c35

Please sign in to comment.