diff --git a/.github/workflows/run_infer.yml b/.github/workflows/run_infer.yml new file mode 100644 index 000000000000..f587a1b6e2e4 --- /dev/null +++ b/.github/workflows/run_infer.yml @@ -0,0 +1,60 @@ +--- +name: run_infer + +'on': + workflow_dispatch: + push: + branches: + - master + pull_request: + +jobs: + run_infer: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Set up JDK + uses: actions/setup-java@v4 + with: + java-version: 21 + distribution: 'adopt' + + - name: Set up OCaml + uses: ocaml/setup-ocaml@v3 + with: + ocaml-compiler: 5 + + - name: Get current year/weak + run: echo "year_week=$(date +'%Y_%U')" >> $GITHUB_ENV + + - name: Cache infer build + id: cache-infer + uses: actions/cache@v4 + with: + path: infer + key: ${{ runner.os }}-infer-${{ env.year_week }} + + - name: Build infer + if: steps.cache-infer.outputs.cache-hit != 'true' + run: | + cd .. + git clone https://github.com/facebook/infer.git + cd infer + ./build-infer.sh java + cp -r infer ../Java + + - name: Add infer to PATH + run: | + echo "infer/bin" >> $GITHUB_PATH + + - name: Display infer version + run: | + which infer + infer --version + + - name: Run infer + run: | + mvn clean + infer --fail-on-issue --print-logs --no-progress-bar -- mvn test +... diff --git a/.gitignore b/.gitignore index bd1d54c0900a..eb9d33c78a33 100644 --- a/.gitignore +++ b/.gitignore @@ -42,3 +42,5 @@ local.properties gradle.properties .vscode *.log + +/infer-out/ diff --git a/.inferconfig b/.inferconfig new file mode 100644 index 000000000000..96c34a54a0d8 --- /dev/null +++ b/.inferconfig @@ -0,0 +1,27 @@ +{ + "report-block-list-path-regex": [ + "src/main/java/com/thealgorithms/ciphers/a5/CompositeLFSR.java", + "src/main/java/com/thealgorithms/conversions/RomanToInteger.java", + "src/main/java/com/thealgorithms/conversions/UnitsConverter.java", + "src/main/java/com/thealgorithms/datastructures/crdt/GCounter.java", + "src/main/java/com/thealgorithms/datastructures/crdt/PNCounter.java", + "src/main/java/com/thealgorithms/datastructures/graphs/KahnsAlgorithm.java", + "src/main/java/com/thealgorithms/datastructures/heaps/GenericHeap.java", + "src/main/java/com/thealgorithms/datastructures/lists/DoublyLinkedList.java", + "src/main/java/com/thealgorithms/datastructures/trees/CreateBinaryTreeFromInorderPreorder.java", + "src/main/java/com/thealgorithms/divideandconquer/ClosestPair.java", + "src/main/java/com/thealgorithms/dynamicprogramming/Fibonacci.java", + "src/main/java/com/thealgorithms/maths/NthUglyNumber.java", + "src/main/java/com/thealgorithms/maths/SimpsonIntegration.java", + "src/main/java/com/thealgorithms/others/Dijkstra.java", + "src/main/java/com/thealgorithms/sorts/TopologicalSort.java", + "src/main/java/com/thealgorithms/strings/AhoCorasick.java", + "src/test/java/com/thealgorithms/datastructures/caches/LRUCacheTest.java", + "src/test/java/com/thealgorithms/datastructures/lists/SkipListTest.java", + "src/test/java/com/thealgorithms/datastructures/trees/KDTreeTest.java", + "src/test/java/com/thealgorithms/datastructures/trees/LazySegmentTreeTest.java", + "src/test/java/com/thealgorithms/searches/QuickSelectTest.java", + "src/test/java/com/thealgorithms/stacks/PostfixToInfixTest.java", + "src/test/java/com/thealgorithms/strings/HorspoolSearchTest.java" + ] +}
Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.
Alternative Proxies: