From 94202ec13fd89199e48c3f8258e923ad6b276a06 Mon Sep 17 00:00:00 2001 From: Henrique GC <62851165+henriq4@users.noreply.github.com> Date: Sun, 24 Nov 2024 04:38:30 -0300 Subject: [PATCH 1/4] fix: incorrect exception handling in factorial function (#2868) Co-authored-by: realstealthninja <68815218+realstealthninja@users.noreply.github.com> --- math/factorial.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/math/factorial.cpp b/math/factorial.cpp index aca1886c783..e350df6bdf8 100644 --- a/math/factorial.cpp +++ b/math/factorial.cpp @@ -27,7 +27,7 @@ namespace math { * cannot be represented in 64 bit unsigned int */ uint64_t factorial(uint8_t n) { - if (n < 20) { + if (n > 20) { throw std::invalid_argument("maximum value is 20\n"); } if (n == 0) { From 41653de7183f12d5eab9fc4077125836f42e6c96 Mon Sep 17 00:00:00 2001 From: realstealthninja <68815218+realstealthninja@users.noreply.github.com> Date: Sun, 24 Nov 2024 13:14:42 +0530 Subject: [PATCH 2/4] chore: use annotations instead of in house linter (#2905) * ci: make compile add warnings to file * chore: use cpp-linter instead of inhouse linter * chore: use abinoda instead of pullreminders for label-when-approved --- .github/workflows/approved-label.yml | 14 ++++---- .github/workflows/awesome_workflow.yml | 44 ++++++-------------------- 2 files changed, 16 insertions(+), 42 deletions(-) diff --git a/.github/workflows/approved-label.yml b/.github/workflows/approved-label.yml index 9fbc5ed0ae8..1d6a02abb25 100644 --- a/.github/workflows/approved-label.yml +++ b/.github/workflows/approved-label.yml @@ -5,10 +5,10 @@ jobs: name: Add "approved" label when approved runs-on: ubuntu-latest steps: - - name: Add "approved" label when approved - uses: pullreminders/label-when-approved-action@master - env: - APPROVALS: "1" - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - ADD_LABEL: "approved" - REMOVE_LABEL: "" + - name: Add "approved" label when approved + uses: abinoda/label-when-approved-action@v1.0.7 + env: + APPROVALS: "1" + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + ADD_LABEL: "approved" + REMOVE_LABEL: "" diff --git a/.github/workflows/awesome_workflow.yml b/.github/workflows/awesome_workflow.yml index 70dd717fa33..0afc5b00e3a 100644 --- a/.github/workflows/awesome_workflow.yml +++ b/.github/workflows/awesome_workflow.yml @@ -9,42 +9,14 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 + - uses: cpp-linter/cpp-linter-action@v2 + id: linter + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: - fetch-depth: 0 - - uses: actions/setup-python@v4 - - name: requirements - run: | - sudo apt-get -qq update - sudo apt-get -qq install clang-tidy clang-format - # checks are passing with less errors when used with this version. - # The default installs v6.0 which did not work out well in my tests - - name: Setup Git Specs - run: | - git config --global user.name github-actions[bot] - git config --global user.email 'github-actions[bot]@users.noreply.github.com' - - name: Filename Formatter - run: | - wget https://raw.githubusercontent.com/TheAlgorithms/scripts/main/filename_formatter.sh - chmod +x filename_formatter.sh - ./filename_formatter.sh . .cpp,.hpp - - name: Get file changes - run: | - git branch - git diff --diff-filter=dr --name-only origin/master > git_diff.txt - echo "Files changed-- `cat git_diff.txt`" - - name: Configure for static lint checks - # compiling first gives clang-tidy access to all the header files and settings used to compile the programs. - # This will check for macros, if any, on linux and not for Windows. But the use of portability checks should - # be able to catch any errors for other platforms. - run: cmake -B build -S . -DCMAKE_EXPORT_COMPILE_COMMANDS=ON - - name: Lint modified files - shell: bash - run: python3 scripts/file_linter.py - - name: Commit and push changes - run: | - git diff DIRECTORY.md - git commit -am "clang-format and clang-tidy fixes for ${GITHUB_SHA::8}" || true - git push origin HEAD:$GITHUB_REF || true + style: "file" + tidy-checks: ".clang-tidy" + thread-comments: ${{ github.event_name == 'pull_request' && 'update' }} build: name: Compile checks @@ -59,6 +31,8 @@ jobs: - uses: actions/checkout@v4 with: submodules: true + - name: GCC problem matcher + uses: ammaraskar/gcc-problem-matcher@0.3.0 - run: | cmake -B ./build -S . cmake --build build --parallel 4 From 06d195f7aaf0b21c6cd7d232dbb168307667ea5d Mon Sep 17 00:00:00 2001 From: realstealthninja <68815218+realstealthninja@users.noreply.github.com> Date: Sun, 24 Nov 2024 13:24:38 +0530 Subject: [PATCH 3/4] fix: permissions in github actions (#2906) * ci: make compile add warnings to file * chore: use cpp-linter instead of inhouse linter * chore: use abinoda instead of pullreminders for label-when-approved * fix: permissions awesome-ci --- .github/workflows/awesome_workflow.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/awesome_workflow.yml b/.github/workflows/awesome_workflow.yml index 0afc5b00e3a..475d4318cd9 100644 --- a/.github/workflows/awesome_workflow.yml +++ b/.github/workflows/awesome_workflow.yml @@ -1,6 +1,7 @@ name: Awesome CI Workflow on: [push, pull_request] permissions: + pull-requests: write contents: write jobs: From d1bb156a68e4996f245d14499b837a345e7b896d Mon Sep 17 00:00:00 2001 From: realstealthninja <68815218+realstealthninja@users.noreply.github.com> Date: Sun, 24 Nov 2024 13:33:07 +0530 Subject: [PATCH 4/4] chore: fix permission issues in cpp-linter (#2907) * ci: make compile add warnings to file * chore: use cpp-linter instead of inhouse linter * chore: use abinoda instead of pullreminders for label-when-approved * fix: permissions awesome-ci * fix: permission issue for github action --- .github/workflows/awesome_workflow.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/awesome_workflow.yml b/.github/workflows/awesome_workflow.yml index 475d4318cd9..f74b0acc541 100644 --- a/.github/workflows/awesome_workflow.yml +++ b/.github/workflows/awesome_workflow.yml @@ -3,6 +3,7 @@ on: [push, pull_request] permissions: pull-requests: write contents: write + issues: write jobs: MainSequence: