Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CI-CD Updates and Repository PR Checks #68

Merged
merged 139 commits into from
Sep 6, 2023
Merged
Changes from 1 commit
Commits
Show all changes
139 commits
Select commit Hold shift + click to select a range
b7756da
* CI-CD Overhaul
Skptak Aug 5, 2023
6d10045
Updating getFiles to kinda work for FreeBSD
Skptak Aug 6, 2023
b74e452
Check OS version to assume how your getopt works
Skptak Aug 6, 2023
ef40805
Re-enabling the set +e on the format check
Skptak Aug 6, 2023
26d3a42
Slight change to formatting action file
Skptak Aug 6, 2023
8507e31
Need these variables on each step
Skptak Aug 6, 2023
c626c77
Big Brain Time
Skptak Aug 6, 2023
a029ce9
Giga brain time
Skptak Aug 6, 2023
5fc7f98
Trying to be larger brain than giga brain
Skptak Aug 6, 2023
b7c4562
Cleaning the log up
Skptak Aug 6, 2023
8467c39
God this is so giant huge giga brain
Skptak Aug 6, 2023
2fd0ffb
My brain isn't big enough
Skptak Aug 6, 2023
365c132
Swap to my forks, use sigv4 for the complexity test as well
Skptak Aug 7, 2023
e3f78cf
Want to see if ubuntu 20.04 makes complexity check pass
Skptak Aug 7, 2023
7144d82
Want to see if ubuntu 20.04 makes complexity check pass
Skptak Aug 7, 2023
a013ab5
Splitting the test files. Update to the PR Checks
Skptak Aug 7, 2023
1763119
Adding a variable to check if we should do complexity
Skptak Aug 7, 2023
12b3252
Trying out a seperate complexity with uncrustify
Skptak Aug 7, 2023
f410569
Fixing the problem
Skptak Aug 8, 2023
706b45e
Trying out using an array for the executable monitor inputs. Swapping…
Skptak Aug 8, 2023
1a8d087
Need another minute on these to force the retry
Skptak Aug 8, 2023
0c35327
Going back to the string args, don't feel like re-writing this again
Skptak Aug 8, 2023
2a90cb8
DOn't need to do a recursive grep when using fd...
Skptak Aug 8, 2023
827c1d4
Not sure why this used the old version with coreMQTT in the file?
Skptak Aug 8, 2023
f029d11
changing build flags
Aug 8, 2023
30c5155
Ready to actually wrap thsi in +e so the entire spell check runs now
Skptak Aug 8, 2023
20dddae
need to do link verification first
Skptak Aug 8, 2023
f177d42
Sorta hard forcing the recursive init. But think it might just be the…
Skptak Aug 8, 2023
8d8dd11
Slight link verifier changes
Skptak Aug 8, 2023
321325b
Another log group and printing the files before calling the spell che…
Skptak Aug 8, 2023
becbf04
Fixing a broken print message
Skptak Aug 8, 2023
534934f
Not sure why this is failing the way it is
Skptak Aug 8, 2023
39493e6
Need to use the recursive clone for this
Skptak Aug 8, 2023
86b4e7b
Manifest fix
Skptak Aug 8, 2023
849c313
Fixes and test
Skptak Aug 8, 2023
3392428
Fixing the complexity check, fixing a bug in the formatting getFiles …
Skptak Aug 8, 2023
6447c90
Removing continue-on-error from some of the jobs I expect to pass now…
Skptak Aug 8, 2023
ed9f9fd
Adding the continue on error back to the spell check step, trying out…
Skptak Aug 8, 2023
bf19cfd
Seeing weird failures in the manifest verifier
Skptak Aug 8, 2023
906f382
Need to do the recursive clone before the manifest check
Skptak Aug 8, 2023
ed9f0b8
More testing for skipping checks for certain steps
Skptak Aug 9, 2023
bd03d22
Not sure what's going on with this spell checker
Skptak Aug 9, 2023
d5f663c
Print the file being checked
Skptak Aug 9, 2023
631adcd
I am very confused
Skptak Aug 9, 2023
805fdcc
Not sure why it's throwing an error with the score if the default is …
Skptak Aug 9, 2023
32789b3
Need to wrap the greps in a set +/- cause of error code on files that…
Skptak Aug 9, 2023
3436e62
Using custom build flag
Skptak Aug 9, 2023
f18f7ae
Adding backoff to the list of repos
Skptak Aug 9, 2023
6273ef9
link verifier didn't actually use the input path...
Skptak Aug 9, 2023
3307fc1
Found a way to do the if step, moving the recursive step to be after …
Skptak Aug 9, 2023
f4bb574
Overhaul of this PR check file to work for hopefully all the things
Skptak Aug 9, 2023
75c3e59
Need to make sure this double quote thing works.
Skptak Aug 9, 2023
0665fcb
Think I'm done with the check action
Skptak Aug 9, 2023
e22e6c8
Need a full clone for the recursive check, add default files of .md a…
Skptak Aug 9, 2023
05dd9e6
Add full history git clone
Skptak Aug 9, 2023
9ba5812
Fixed an issue where the link verifier was doing a regex for the '.' …
Skptak Aug 9, 2023
88cd3b1
Better step name, and adding the name to the step, and adding an id t…
Skptak Aug 9, 2023
add7fe9
Removing the debug lines
Skptak Aug 9, 2023
2afeda7
Return an exit code of 0 if we don't hit an error due to horrid thres…
Skptak Aug 9, 2023
bab9fc6
Just using the find again
Skptak Aug 9, 2023
e3175ed
Let's see if this works
Skptak Aug 9, 2023
983a90a
Just want to see who fails with the recursive clone
Skptak Aug 9, 2023
b05072b
Missing a dollar sign
Skptak Aug 9, 2023
6348eed
Add the HTML report of the file so people can actually find out what …
Aug 10, 2023
f589390
Publish the lcov report, update corePKCS11 to have not 100% coverage …
Aug 10, 2023
adedb3c
Incorrect variable, removing the debugging on the CI-CD
Aug 10, 2023
d8f9f17
Update
Aug 10, 2023
3e61241
OTA needs 95% coverage
Skptak Aug 10, 2023
b0e993b
Try making a zip of the failed codecov if it happens
Skptak Aug 10, 2023
79a72e0
Fixes for the coverage cop action
Skptak Aug 10, 2023
973a297
Different grouping of things
Skptak Aug 10, 2023
f178a76
I don't care enough to fix the dumb array echo arg
Skptak Aug 10, 2023
11571d3
Need to move the order
Skptak Aug 10, 2023
a25b8bc
Update test.yml to execute coverage forced failure case prior to func…
A-Zaba Aug 10, 2023
1a6f8b2
Need the recursive zip
Skptak Aug 10, 2023
f676850
Need to continue on error for the failure case
Skptak Aug 11, 2023
4408ff3
Adding continue on error to the failing test
Skptak Aug 14, 2023
ac3fd03
Another attempt at getting the log to upload
Skptak Aug 14, 2023
431d0a1
Think this needs to not call exit to run the next step when it fails
Skptak Aug 14, 2023
ba05464
Adding in some steps to see why they aren't getting run on failure
Skptak Aug 14, 2023
c634f07
Okay so continue-on-error: actually can make it return the step as a …
Skptak Aug 14, 2023
c093e1e
Exit using the exit status
Skptak Aug 14, 2023
fc05aac
Swapping some paths and file names
Skptak Aug 14, 2023
9bb97bd
Think it just needs to be placed at the default path
Skptak Aug 14, 2023
446ff5d
Add in a git patch to download if formatting fails. Clean up the code…
Skptak Aug 14, 2023
d6d1636
Slight change to the formatting patch diff
Skptak Aug 14, 2023
2db1ba2
Fix the name for the coverage-cop action
Skptak Aug 14, 2023
e790b78
Need to exit with an error code
Skptak Aug 14, 2023
6a1182e
Have two identical directories?
Skptak Aug 14, 2023
0268784
Add back in the rust spell check. Don't leave the binary.
Skptak Aug 14, 2023
d8dfa91
Need to do a seperate creation of the patch to capture the exit code …
Skptak Aug 14, 2023
8fc74fb
Needed to add the exit code to this
Skptak Aug 14, 2023
496d322
Clean up the action.yml for the rust spell checker
Skptak Aug 14, 2023
e74c3a1
Remove un-needed files, fix a difference in the MacOS getFiles scripts
Skptak Aug 14, 2023
717fd54
Move complexity check to ubuntu latests, include branch coverage on t…
Skptak Aug 15, 2023
0cfd288
Require 100% line coverage for OTA
Skptak Aug 15, 2023
438ff92
Trying to get the patch log
Skptak Aug 15, 2023
4f33eea
Swap the PR checks to be the mainline repos
Skptak Aug 15, 2023
7efa651
Need OTA to stay at 95 for line coverage for now. Added the info abou…
Skptak Aug 15, 2023
18c832b
Point to my forks again for the passing test log
Skptak Aug 15, 2023
960fec2
Swap back over to AWS and FreeRTOS repos for the sake of the PR
Skptak Aug 15, 2023
3e2a586
Incorrect step was being checked
Skptak Aug 15, 2023
2d2cfeb
Updates to the format check to handle CRLF and Whitespace in non-C files
Skptak Aug 16, 2023
ab7be1f
Adding in new tests to account for checking all files for whitespace …
Skptak Aug 16, 2023
4ec6a19
Slight change to the getFiles script
Skptak Aug 16, 2023
cd64b1c
Change name of test struct
Skptak Aug 16, 2023
6ad70a2
Removing commented code, adding color to the final message
Skptak Aug 16, 2023
b59b9ab
Merge branch 'main' into main
Skptak Aug 16, 2023
4d4e2d7
Merge branch 'main' into main
Skptak Aug 17, 2023
77293ae
Not sure what directory I'm in
Skptak Aug 17, 2023
932a8d1
Renaming the python file, update to the python check for multiple cop…
Skptak Aug 17, 2023
ec78075
Merge branch 'main' into main
Skptak Aug 21, 2023
ecb36c6
Since we're debating the style guide for clang-format going to swap b…
Skptak Aug 24, 2023
8ebf3e2
Change the uncrustify formatting action to use fd-find to get files. …
Skptak Aug 24, 2023
47f2140
Update the formatting tests
Skptak Aug 24, 2023
b9544f1
Fix incorrect paths, accidentally put in C style comments
Skptak Aug 24, 2023
1b9f861
Update the PR checks to use mainline repos, move the uncrustify check…
Skptak Aug 24, 2023
7ebe1ee
Don't need these wrapped in extra braces
Skptak Aug 24, 2023
d2c41d2
Update the cspell check to be used for smaller repos
Skptak Aug 24, 2023
b802846
Remove the getFIels from clang-format, update the action to account f…
Skptak Aug 24, 2023
53fece5
Add a comment about why the set +e is there
Skptak Aug 24, 2023
d2e4cc6
Update my files to do the v2 branch as well
Skptak Aug 24, 2023
7cfc225
Use the -e with the echo endgroup
Skptak Aug 24, 2023
474a81c
Spell check the .md files
Skptak Aug 25, 2023
b8b606a
Think I fixed the bug that was causing the spell check to fail even i…
Skptak Aug 25, 2023
680cf1e
Well doing the exec batch is way faster on my local machine, want to …
Skptak Aug 25, 2023
55f6f40
Adding an option to exclude specific URLs from the link verifier, add…
Skptak Aug 30, 2023
0eb591f
Include the option to exclude urls, add in tests for it. Point to the…
Skptak Aug 30, 2023
1ba6cad
Merge branch 'main' into main
Skptak Sep 1, 2023
e5a762b
Handle the merge conflicts, grab the most recent version of the actio…
Skptak Sep 1, 2023
a00d181
Merge branch 'main' into main
Skptak Sep 2, 2023
f9c0822
A fix for the clang-formatting end of line character tests. Updates t…
Skptak Sep 5, 2023
6b3a6be
Merge branch 'main' into main
Skptak Sep 5, 2023
0edd3dd
Small change to the formatting of the action file for the link verifier
Skptak Sep 5, 2023
9294622
Update the tests to use mainline after CI-CD merges have gone through
Skptak Sep 5, 2023
398ea06
Merge branch 'main' into main
Skptak Sep 5, 2023
e0617e3
Merge branch 'main' into main
Skptak Sep 5, 2023
a3f29f8
Cleanup the readme, remove the rust spell check tests, update the cla…
Skptak Sep 5, 2023
bd94730
Exclude directories from the FreeRTOS/FreeRTOS checks, update the spe…
Skptak Sep 6, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Slight link verifier changes
Skptak committed Aug 8, 2023
commit 8d8dd11176b89502f72ae0fd66c68729969788fb
38 changes: 20 additions & 18 deletions .github/workflows/pr_checks.yml
Original file line number Diff line number Diff line change
@@ -137,87 +137,89 @@ jobs:
with:
repository: ${{ matrix.inputs.org }}/${{ matrix.inputs.repository }}
ref: main
path: ${{ matrix.inputs.repository }}
path: repo/${{ matrix.inputs.repository }}

- name: "Link Verifier Check: ${{ matrix.inputs.repository }}"
uses: ./link-verifier
if: success() || failure()
with:
path: ${{ matrix.inputs.repository }}
path: repo/${{ matrix.inputs.repository }}
exclude-dirs: complexity,formatting
include-file-types: .c,.html

- name: "Formatting Check : ${{ matrix.inputs.repository }}"
if: success() || failure()
uses: ./formatting
with:
path: ${{ matrix.inputs.repository }}
path: repo/${{ matrix.inputs.repository }}
exclude-files: ${{ matrix.inputs.exclude-files }}
exclude-dirs: ${{matrix.inputs.exclude-dirs }}

- name: "Complexity Check: ${{ matrix.inputs.repository }}"
if: success() || failure() && ${{ matrix.inputs.run-complexity }} == true
uses: ./complexity
with:
path: ${{ matrix.inputs.repository }}
path: repo/${{ matrix.inputs.repository }}
horrid_threshold: 16

- name: "Doxygen Build Check ${{ matrix.inputs.repository }}"
if: success() || failure()
uses: ./doxygen
with:
path: ${{ matrix.inputs.repository }}
path: repo/${{ matrix.inputs.repository }}

- name: "Doxygen Zip Check: ${{ matrix.inputs.repository }}"
if: success() || failure()
uses: ./doxygen
with:
path: ${{ matrix.inputs.repository }}
path: repo/${{ matrix.inputs.repository }}
generate_zip: true

- name: "Spelling Check: ${{ matrix.inputs.repository }} "
if: success() || failure()
uses: ./rust-spell-check
with:
path: ${{ matrix.inputs.repository }}
path: repo/${{ matrix.inputs.repository }}

- name: "Memory Statistics Check: ${{ matrix.inputs.repository }}"
if: success() || failure()
uses: ./memory_statistics
with:
path: memory_statistics/test
config: ./memory_statistics_config.json
output: ./size_table_new.html
check_against: ./size_table_expected.html
path: repo/${{ matrix.inputs.repository }}
config: .github/memory_statistics_config.json
output: size_table_new.html
check_against: docs/doxygen/include/size_table.md

- name: "Clone: ${{ matrix.inputs.repository }}"
if: success() || failure()
uses: actions/checkout@v3
with:
repository: ${{ matrix.inputs.org }}/${{ matrix.inputs.repository }}
ref: main
path: ${{ matrix.inputs.repository }}_Recursive
path: repo/${{ matrix.inputs.repository }}_Recursive
submodules: recursive
fetch-depth: 1

- name: "Ensure Recursive Clone of ${{ matrix.inputs.repository }}"
if: success() || failure()
shell: bash
working-directory: ${{ matrix.inputs.repository }}_Recursive
working-directory: repo/${{ matrix.inputs.repository }}_Recursive
run: | # Init Submodules
git submodule update --checkout --init
git submodule foreach git fetch
git submodule foreach git describe --tags

- name: "Manifest Verifier: ${{ matrix.inputs.repository }}"
if: success() || failure()
uses: ./manifest-verifier
with:
path: ${{ matrix.inputs.repository }}_Recursive
path: repo/${{ matrix.inputs.repository }}_Recursive
fail-on-incorrect-version: true

- name: Build ${{matrix.inputs.repository}}
if: success() || failure() && ${{ matrix.inputs.run-complexity }} == true
shell: bash
working-directory: ${{matrix.inputs.repository}}_Recursive
working-directory: repo/${{matrix.inputs.repository}}_Recursive
run: |
echo "::group:: Install lcov"
sudo apt-get install -y lcov
@@ -232,7 +234,7 @@ jobs:
- name: Test
if: success() || failure() && ${{ matrix.inputs.run-complexity }} == true
shell: bash
working-directory: ${{matrix.inputs.repository}}_Recursive
working-directory: repo/${{matrix.inputs.repository}}_Recursive
run: |
cd build/
ctest -E system --output-on-failure
@@ -241,7 +243,7 @@ jobs:
- name: Run Coverage ${{matrix.inputs.repository}}
if: success() || failure() && ${{ matrix.inputs.run-complexity }} == true
shell: bash
working-directory: ${{matrix.inputs.repository}}_Recursive
working-directory: repo/${{matrix.inputs.repository}}_Recursive
run: |
make -C build/ coverage
declare -a EXCLUDE=("\*test/\*" "\*CMakeCCompilerId\*" "\*mocks\*")
@@ -252,6 +254,6 @@ jobs:
if: success() || failure() && ${{ matrix.inputs.run-complexity }} == true
uses: ./coverage-cop
with:
path: ./${{matrix.inputs.repository}}_Recursive/build/coverage.info
path: repo/${{matrix.inputs.repository}}_Recursive/build/coverage.info
branch-coverage-min: 70
line-coverage-min: 100
1 change: 1 addition & 0 deletions link-verifier/action.yml
Original file line number Diff line number Diff line change
@@ -49,6 +49,7 @@ runs:
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null
sudo apt update
sudo apt install -y gh
sudo apt install pandoc -y
sudo apt-get install -y python3-setuptools python3-pip
python3 -m pip install -r $GITHUB_ACTION_PATH/requirements.txt
echo "::endgroup::"