diff options
author | Ivan Zorin <[email protected]> | 2023-07-16 08:25:30 +0300 |
---|---|---|
committer | GitHub <[email protected]> | 2023-07-16 15:25:30 +1000 |
commit | d95af7d1a0ddd5a93a0827d08294c5504c9e9a94 (patch) | |
tree | dfaa79b391b32332f4860464ea8f8c38f9a0849c /.github | |
parent | ca79638a74fbf34228a9442928c4a906a61103d6 (diff) | |
download | IronOS-d95af7d1a0ddd5a93a0827d08294c5504c9e9a94.tar.gz IronOS-d95af7d1a0ddd5a93a0827d08294c5504c9e9a94.zip |
clang-format implementation (#1740)
* Testing clang-format style check using github CI
* github/push: implement check-style for clang-format as a separate build step
* github/push: add missing packages for check-style/clang-format build step
* source/Makefile: check-style - reduce files of interest; update .clang-format to keep enums init
* source/Makefile: empty lines, spaces & tabs refactoring to unify style - part 1 out of N
* source/Makefile: fix formatting for multi-line variables
* source/Makefile: update formatting for multi-line variables
* source/Makefile: remove spaces on vars assignments to unify style
* source/Makefile: remove unused target style
* source/Makefile: implement exclude vars for clang-format related files
* source/Makefile: exclude configuration.h from clang-format check
* Dockerfile: add diffutils in a container to make check-style target using advanced version of diff to get more advanced output to parse & navigate log more easily
* source/Makefile: implement parser for clang-format inside check-style target to make output compatible with gcc-like error compilation format for compatibility with IDEs/editors for easy navigation over files to fix style errors
* source/Makefile: probably final touches on unifying style
* source/Makefile: implement check-style-list target to only list affected file names with wrong code style for debug purposes
* source/Makefile: fix missed spaces
* deploy.sh: add helper routine to deal with clang-format error output logging from makefile
* gitignore: add clang-format log explicitly
* Refactoring for clang-format compiance
* Dockerfile: add sed
* Dockerfile: false alarm - remove sed since busybox-sed seems fine
* source/Makefile: reduce calls of clang-format & make error log more clean, clear, and tidy
* deploy.sh:check_style() - add removal of DOS EOLs for generated log
* source/Makefile:check-style: add more empty lines between blocks with errors for readability when suggestion is too long & heavy
* source/Makefile: add STOP var to check-style for exit on first failed file
* source/Makefile: check-style: make log looks more like traditional diff/patch output
* source/Core/BSP/Pinecilv2/MemMang/heap_5.c: clang-format refactoring using reasonable advises ... and then disable it in Makefile from scanning by clang-format
* Return headers include order
* clang-format config: disable warnings about non-alphabetic include order
* clang-format refactoring
* clang-format refactoring, part 2
* clang-format refactoring, part 3
* settingsGUI.cpp: refactoring, part 1
* settingsGUI.cpp: refactoring, part 2
* settingsGUI.cpp: refactoring, part 3
* settingsGUI.cpp: refactoring, part 4
* clang-format should be happy now
* workflows/push: put readme check into separate build step & update style
* clang-format: giving SortIncludes option second chance by tweaking a couple of headers a bit
* source/Makefile: check-style: add homebrew parser to check for { } in conditional blocks
* homebrew-format: add { } for if/else, while, and for & unify some comments style; left two errors intentionally to debug & improve parser
* source/Makefile: homebrew-format: fix false negative trigger for multi-line condition in if-s
* Sleep.cpp: unify style & comments
* source/Makefile: remove unused debug target
Diffstat (limited to '.github')
-rw-r--r-- | .github/workflows/push.yml | 66 |
1 files changed, 49 insertions, 17 deletions
diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml index 9f904a2a..ca127c55 100644 --- a/.github/workflows/push.yml +++ b/.github/workflows/push.yml @@ -26,10 +26,10 @@ jobs: - name: Git ownership exception run: git config --global --add safe.directory /__w/IronOS/IronOS && git config --global safe.directory "$GITHUB_WORKSPACE" - - name: build ${{ matrix.model }} + - name: Build ${{ matrix.model }} run: cd source && ./build.sh -m ${{ matrix.model }} - - name: copy license text + - name: Copy license files run: | cp LICENSE source/Hexfile/LICENSE cp scripts/LICENSE_RELEASE.md source/Hexfile/LICENSE_RELEASE.md @@ -55,6 +55,7 @@ jobs: name: metadata path: source/Hexfile/${{ matrix.model }}.json + build_multi-lang: runs-on: ubuntu-20.04 container: @@ -77,10 +78,10 @@ jobs: - name: Git ownership exception run: git config --global --add safe.directory /__w/IronOS/IronOS && git config --global safe.directory "$GITHUB_WORKSPACE" - - name: build ${{ matrix.model }} + - name: Build ${{ matrix.model }} run: cd source && make -j$(nproc) model="${{ matrix.model }}" firmware-multi_compressed_European firmware-multi_compressed_Bulgarian+Russian+Serbian+Ukrainian firmware-multi_Chinese+Japanese - - name: copy license text + - name: Copy license files run: | cp LICENSE source/Hexfile/LICENSE cp scripts/LICENSE_RELEASE.md source/Hexfile/LICENSE_RELEASE.md @@ -106,20 +107,21 @@ jobs: name: metadata path: source/Hexfile/${{ matrix.model }}_multi-lang.json + tests: runs-on: ubuntu-20.04 container: image: alpine:3.16 steps: - - name: deps + - name: Install dependencies (apk) run: apk add --no-cache python3 py3-pip make git bash findutils gcc musl-dev - uses: actions/checkout@v3 with: submodules: true - - name: install black + - name: Install dependencies (python) run: python3 -m pip install bdflib - name: Run python tests @@ -133,36 +135,49 @@ jobs: chmod +x brieflz_test.py ./brieflz_test.py - check_formatting: + + check_c-cpp: runs-on: ubuntu-20.04 container: image: alpine:3.16 steps: - - name: deps - run: apk add --no-cache python3 py3-pip make git black sed diffutils + - name: Install dependencies (apk) + run: apk add --no-cache make git diffutils findutils clang-extra-tools - uses: actions/checkout@v3 with: submodules: true - - name: install black - run: python3 -m pip install bdflib flake8 - - - name: Check formatting with clang-format + - name: Check format style with clang-format run: cd source && make clean && make check-style + + check_python: + runs-on: ubuntu-20.04 + container: + image: alpine:3.16 + + steps: + - name: Install dependencies (apk) + run: apk add --no-cache python3 py3-pip make git black + + - uses: actions/checkout@v3 + with: + submodules: true + + - name: Install dependencies (python) + run: python3 -m pip install bdflib flake8 + - name: Check python formatting with black run: black --check Translations - name: Check python with flake8 run: flake8 Translations - - name: Check autogenerated Documentation/README.md - run: /bin/sh ./scripts/deploy.sh docs_readme - shellcheck: - name: runner / shellcheck + check_shell: + name: check_shell runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 @@ -173,3 +188,20 @@ jobs: reporter: github-pr-review # Change reporter. exclude: "./.git/*" # Optional. check_all_files_with_shebangs: "false" # Optional. + + + check_readme: + runs-on: ubuntu-20.04 + container: + image: alpine:3.16 + + steps: + - name: Install dependencies (apk) + run: apk add --no-cache git + + - uses: actions/checkout@v3 + with: + submodules: true + + - name: Check autogenerated Documentation/README.md + run: /bin/sh ./scripts/deploy.sh docs_readme |