Skip to content

Commit

Permalink
v1.2 (#64)
Browse files Browse the repository at this point in the history
  • Loading branch information
laves authored Jul 13, 2023
1 parent e78d33b commit 69662a6
Show file tree
Hide file tree
Showing 188 changed files with 10,719 additions and 3,348 deletions.
88 changes: 88 additions & 0 deletions .clang-format
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
# Generated from CLion C/C++ Code Style settings
BasedOnStyle: LLVM
Cpp11BracedListStyle: true
AccessModifierOffset: -4
AlignConsecutiveMacros: true
AlignTrailingComments: false
AlignAfterOpenBracket: Align
AllowAllArgumentsOnNextLine: false
AllowAllConstructorInitializersOnNextLine: false
AllowAllParametersOfDeclarationOnNextLine: false
AlignArrayOfStructures: Left
AllowShortBlocksOnASingleLine: true
AllowShortCaseLabelsOnASingleLine: false
AllowShortFunctionsOnASingleLine: None
AllowShortIfStatementsOnASingleLine: Never
AllowShortLambdasOnASingleLine: None
AllowShortLoopsOnASingleLine: false
AlwaysBreakAfterReturnType: None
AlwaysBreakTemplateDeclarations: Yes
BreakBeforeBraces: Custom
BinPackArguments: false
BinPackParameters: false
BraceWrapping:
AfterCaseLabel: false
AfterClass: false
AfterExternBlock: false
AfterControlStatement: Never
AfterEnum: false
AfterFunction: false
AfterNamespace: false
AfterUnion: false
BeforeCatch: false
BeforeElse: false
IndentBraces: false
SplitEmptyFunction: false
SplitEmptyRecord: true
# BraceBreakingStyle: Attach
BreakBeforeBinaryOperators: None
BreakBeforeTernaryOperators: true
BreakConstructorInitializers: BeforeColon
BreakInheritanceList: BeforeColon
ColumnLimit: 0
CommentPragmas: '^[^ ]'
CompactNamespaces: false
ContinuationIndentWidth: 8
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
IndentCaseLabels: true
IndentPPDirectives: None
IndentWidth: 4
InsertTrailingCommas: Wrapped
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: true
SpaceInEmptyParentheses: false
SpacesBeforeTrailingComments: 1
SpacesInAngles: false
SpacesInCStyleCastParentheses: false
SpacesInContainerLiterals: false
SpacesInParentheses: false
SpacesInSquareBrackets: false
TabWidth: 4
UseTab: Never
23 changes: 14 additions & 9 deletions .github/actions/c-template/action.yml
Original file line number Diff line number Diff line change
@@ -1,31 +1,36 @@
name: C Template

inputs:
pv_platform:
pv_recorder_platform:
required: true
output_dir:
required: true
shell:
required: false
default: bash

runs:
using: "composite"
steps:
- name: Create build directory
run: cmake -B ./build -S . -DPV_PLATFORM="${{ inputs.pv_platform }}" -DOUTPUT_DIR="${{ inputs.output_dir }}"
shell: bash
run: cmake -B ./build -S . -DPV_RECORDER_PLATFORM="${{ inputs.pv_recorder_platform }}" -DOUTPUT_DIR="${{ inputs.output_dir }}"
working-directory: project
shell: ${{ inputs.shell }}

- name: Build
run: cmake --build ./build
shell: bash
working-directory: project
shell: ${{ inputs.shell }}

- name: Run get audio devices
run: ./demo --show_audio_devices
working-directory: build
shell: bash
- name: Test
run: ctest --output-on-failure
working-directory: project/build
shell: ${{ inputs.shell }}

- name: Upload build artifacts
uses: actions/upload-artifact@v3
with:
name: ${{ inputs.pv_platform }}
name: ${{ inputs.pv_recorder_platform }}
path: |
lib/${{ inputs.output_dir }}/libpv_recorder.*
lib/node/${{ inputs.output_dir }}/pv_recorder.node
Expand Down
32 changes: 32 additions & 0 deletions .github/workflows/c-codestyle.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: C Codestyle

on:
workflow_dispatch:
push:
branches: [ main ]
paths:
- '**/*.c'
- '.github/workflows/c-codestyle.yml'
pull_request:
branches: [ main, 'v[0-9]+.[0-9]+' ]
paths:
- '**/*.c'
- '.github/workflows/c-codestyle.yml'

jobs:
check-c-codestyle:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3

- name: Set up Python 3.10
uses: actions/setup-python@v4
with:
python-version: '3.10'

- name: Install dependencies
run: sudo apt install clang-format

- name: Check c codestyle
run: python3 resources/.lint/c/formatter.py -c -v
85 changes: 85 additions & 0 deletions .github/workflows/c-demo.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
name: C Demo

on:
workflow_dispatch:
push:
branches: [ main ]
paths:
- 'demo/c/**'
- '!demo/c/README.md'
- '.github/workflows/c-demo.yml'
pull_request:
branches: [ main, 'v[0-9]+.[0-9]+' ]
paths:
- 'demo/c/**'
- '!demo/c/README.md'
- '.github/workflows/c-demo.yml'

defaults:
run:
working-directory: demo/c
shell: bash

jobs:
build-github-hosted:
runs-on: ${{ matrix.os }}

strategy:
matrix:
os: [ubuntu-latest, windows-latest, mac-latest]
include:
- os: ubuntu-latest
pv_recorder_platform: linux
- os: windows-latest
pv_recorder_platform: windows
- os: mac-latest
pv_recorder_platform: mac

steps:
- uses: actions/checkout@v3
with:
submodules: recursive

- name: Create build directory
run: cmake -B ./build -S. -DPV_RECORDER_PLATFORM="${{ matrix.pv_recorder_platform }}"

- name: Build demo
run: cmake --build ./build

- name: Run demo
run: ./build/pv_recorder_demo --show_audio_devices

build-self-hosted:
runs-on: ${{ matrix.machine }}
strategy:
matrix:
machine: [rpi2, rpi3-32, rpi3-64, rpi4-32, rpi4-64, jetson, beaglebone]
include:
- machine: rpi2
pv_recorder_platform: raspberry-pi2
- machine: rpi3-32
pv_recorder_platform: raspberry-pi3
- machine: rpi3-64
pv_recorder_platform: raspberry-pi3-64
- machine: rpi4-32
pv_recorder_platform: raspberry-pi4
- machine: rpi4-64
pv_recorder_platform: raspberry-pi4-64
- machine: jetson
pv_recorder_platform: jetson-nano
- machine: beaglebone
pv_recorder_platform: beaglebone

steps:
- uses: actions/checkout@v3
with:
submodules: recursive

- name: Create build directory
run: cmake -B ./build -S . -DPV_RECORDER_PLATFORM="${{ matrix.pv_recorder_platform }}"

- name: Build demo
run: cmake --build ./build

- name: Run demo
run: ./build/pv_recorder_demo --show_audio_devices
Loading

0 comments on commit 69662a6

Please sign in to comment.