diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 00000000000..3b8e7379ebe --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,17 @@ +version: 2 +enable-beta-ecosystems: true +updates: + # Bazel infrastructure dependencies (rules_java, bazel_skylib, etc.) + # Note: Beta only updates bazel_dep() declarations, not Maven artifacts + - package-ecosystem: "bazel" + directory: "/" + schedule: + interval: "weekly" + open-pull-requests-limit: 5 + + # GitHub Actions + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "weekly" + open-pull-requests-limit: 5 diff --git a/.github/workflows/bazel-steward.yml b/.github/workflows/bazel-steward.yml index c970d4d8f32..126e0869d58 100644 --- a/.github/workflows/bazel-steward.yml +++ b/.github/workflows/bazel-steward.yml @@ -9,7 +9,7 @@ jobs: bazel-steward: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 with: fetch-depth: 0 - uses: VirtusLab/bazel-steward@latest diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml index 8c7cca9cd1b..55a5a53cdfa 100644 --- a/.github/workflows/pre-commit.yml +++ b/.github/workflows/pre-commit.yml @@ -23,13 +23,13 @@ jobs: needs: - get_date steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - name: google-java-format cache uses: actions/cache@v4 with: path: "~/.cache/google-java-format" key: google-java-format-${{ hashFiles('tools/fix_java_format.sh') }} - - uses: actions/setup-java@v4 + - uses: actions/setup-java@v5 with: distribution: "temurin" java-version: "17" @@ -38,9 +38,9 @@ jobs: json_template: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - name: Set up Python - uses: actions/setup-python@v5 + uses: actions/setup-python@v6 with: python-version: "3.10" - name: Install dependencies @@ -50,13 +50,13 @@ jobs: checkstyle: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - name: Checkstyle cache uses: actions/cache@v4 with: path: "~/.cache/checkstyle" key: checkstyle-${{ hashFiles('tools/run_checkstyle.sh') }} - - uses: actions/setup-java@v4 + - uses: actions/setup-java@v5 with: distribution: "temurin" java-version: "17" @@ -67,7 +67,7 @@ jobs: - get_date runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - name: Bazelisk cache uses: actions/cache@v4 with: @@ -81,7 +81,7 @@ jobs: restore-keys: | ${{runner.os}}-bazel-17-${{ hashFiles('.bazelversion', 'WORKSPACE', 'maven_install.json') }}-test- ${{runner.os}}-bazel-17-${{ hashFiles('.bazelversion', 'WORKSPACE', 'maven_install.json') }}- - - uses: actions/setup-java@v4 + - uses: actions/setup-java@v5 with: distribution: "temurin" java-version: "17" @@ -95,7 +95,7 @@ jobs: bazel build //projects/allinone:allinone_main_deploy.jar cp bazel-bin/projects/allinone/allinone_main_deploy.jar workspace/allinone.jar - name: Save JAR - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v5 with: name: allinone_jar_17 path: workspace/allinone.jar @@ -106,7 +106,7 @@ jobs: - get_date runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - name: Bazelisk cache uses: actions/cache@v4 with: @@ -121,7 +121,7 @@ jobs: ${{runner.os}}-bazel-${{ hashFiles('.bazelversion', 'WORKSPACE', 'maven_install.json') }}-junit- ${{runner.os}}-bazel-${{ hashFiles('.bazelversion', 'WORKSPACE', 'maven_install.json') }}- ${{runner.os}}-bazel- - - uses: actions/setup-java@v4 + - uses: actions/setup-java@v5 with: distribution: "temurin" java-version: "17" @@ -133,7 +133,7 @@ jobs: --combined_report=lcov \ --instrument_test_targets=false - name: Generate report - uses: codecov/codecov-action@v4 + uses: codecov/codecov-action@v5 env: CODECOV_TOKEN: ${{ secrets.BATFISH_CODECOV_TOKEN }} with: diff --git a/MODULE.bazel b/MODULE.bazel index 11d92f46dd2..305c33855bb 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -94,16 +94,16 @@ bazel_dep(name = "rules_license", version = "1.0.0") bazel_dep(name = "bazel_features", version = "1.38.0") # Java rules and dependencies -bazel_dep(name = "rules_java", version = "8.16.1") +bazel_dep(name = "rules_java", version = "9.0.3") bazel_dep(name = "rules_jvm_external", version = "6.9") # Python rules -bazel_dep(name = "rules_python", version = "1.4.1") +bazel_dep(name = "rules_python", version = "1.6.3") # Development tools bazel_dep(name = "buildifier_prebuilt", version = "8.2.1", dev_dependency = True) -bazel_dep(name = "rules_shell", version = "0.4.0") +bazel_dep(name = "rules_shell", version = "0.6.1") # Python toolchain python = use_extension("@rules_python//python/extensions:python.bzl", "python") diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock index 7a213d6ffe2..fce92f76879 100644 --- a/MODULE.bazel.lock +++ b/MODULE.bazel.lock @@ -12,8 +12,8 @@ "https://bcr.bazel.build/modules/abseil-cpp/20240116.2/MODULE.bazel": "73939767a4686cd9a520d16af5ab440071ed75cec1a876bf2fcfaf1f71987a16", "https://bcr.bazel.build/modules/abseil-cpp/20250127.1/MODULE.bazel": "c4a89e7ceb9bf1e25cf84a9f830ff6b817b72874088bf5141b314726e46a57c1", "https://bcr.bazel.build/modules/abseil-cpp/20250512.1/MODULE.bazel": "d209fdb6f36ffaf61c509fcc81b19e81b411a999a934a032e10cd009a0226215", - "https://bcr.bazel.build/modules/abseil-cpp/20250814.0/MODULE.bazel": "c43c16ca2c432566cdb78913964497259903ebe8fb7d9b57b38e9f1425b427b8", - "https://bcr.bazel.build/modules/abseil-cpp/20250814.0/source.json": "b88bff599ceaf0f56c264c749b1606f8485cec3b8c38ba30f88a4df9af142861", + "https://bcr.bazel.build/modules/abseil-cpp/20250814.1/MODULE.bazel": "51f2312901470cdab0dbdf3b88c40cd21c62a7ed58a3de45b365ddc5b11bcab2", + "https://bcr.bazel.build/modules/abseil-cpp/20250814.1/source.json": "cea3901d7e299da7320700abbaafe57a65d039f10d0d7ea601c4a66938ea4b0c", "https://bcr.bazel.build/modules/apple_support/1.11.1/MODULE.bazel": "1843d7cd8a58369a444fc6000e7304425fba600ff641592161d9f15b179fb896", "https://bcr.bazel.build/modules/apple_support/1.15.1/MODULE.bazel": "a0556fefca0b1bb2de8567b8827518f94db6a6e7e7d632b4c48dc5f865bc7c85", "https://bcr.bazel.build/modules/apple_support/1.23.1/MODULE.bazel": "53763fed456a968cf919b3240427cf3a9d5481ec5466abc9d5dc51bc70087442", @@ -111,8 +111,8 @@ "https://bcr.bazel.build/modules/rules_cc/0.0.9/MODULE.bazel": "836e76439f354b89afe6a911a7adf59a6b2518fafb174483ad78a2a2fde7b1c5", "https://bcr.bazel.build/modules/rules_cc/0.1.1/MODULE.bazel": "2f0222a6f229f0bf44cd711dc13c858dad98c62d52bd51d8fc3a764a83125513", "https://bcr.bazel.build/modules/rules_cc/0.2.0/MODULE.bazel": "b5c17f90458caae90d2ccd114c81970062946f49f355610ed89bebf954f5783c", - "https://bcr.bazel.build/modules/rules_cc/0.2.8/MODULE.bazel": "f1df20f0bf22c28192a794f29b501ee2018fa37a3862a1a2132ae2940a23a642", - "https://bcr.bazel.build/modules/rules_cc/0.2.8/source.json": "85087982aca15f31307bd52698316b28faa31bd2c3095a41f456afec0131344c", + "https://bcr.bazel.build/modules/rules_cc/0.2.13/MODULE.bazel": "eecdd666eda6be16a8d9dc15e44b5c75133405e820f620a234acc4b1fdc5aa37", + "https://bcr.bazel.build/modules/rules_cc/0.2.13/source.json": "f872e892c5265c5532e526857532f4868708f88d64e5ebe517ea72e09da61bdb", "https://bcr.bazel.build/modules/rules_foreign_cc/0.9.0/MODULE.bazel": "c9e8c682bf75b0e7c704166d79b599f93b72cfca5ad7477df596947891feeef6", "https://bcr.bazel.build/modules/rules_fuzzing/0.5.2/MODULE.bazel": "40c97d1144356f52905566c55811f13b299453a14ac7769dfba2ac38192337a8", "https://bcr.bazel.build/modules/rules_java/4.0.0/MODULE.bazel": "5a78a7ae82cd1a33cef56dc578c7d2a46ed0dca12643ee45edbb8417899e6f74", @@ -126,11 +126,11 @@ "https://bcr.bazel.build/modules/rules_java/7.3.2/MODULE.bazel": "50dece891cfdf1741ea230d001aa9c14398062f2b7c066470accace78e412bc2", "https://bcr.bazel.build/modules/rules_java/7.6.1/MODULE.bazel": "2f14b7e8a1aa2f67ae92bc69d1ec0fa8d9f827c4e17ff5e5f02e91caa3b2d0fe", "https://bcr.bazel.build/modules/rules_java/8.14.0/MODULE.bazel": "717717ed40cc69994596a45aec6ea78135ea434b8402fb91b009b9151dd65615", - "https://bcr.bazel.build/modules/rules_java/8.16.1/MODULE.bazel": "0f20b1cecaa8e52f60a8f071e59a20b4e3b9a67f6c56c802ea256f6face692d3", - "https://bcr.bazel.build/modules/rules_java/8.16.1/source.json": "072f8d11264edc499621be2dc9ea01d6395db5aa6f8799c034ae01a3e857f2e4", "https://bcr.bazel.build/modules/rules_java/8.3.2/MODULE.bazel": "7336d5511ad5af0b8615fdc7477535a2e4e723a357b6713af439fe8cf0195017", "https://bcr.bazel.build/modules/rules_java/8.5.1/MODULE.bazel": "d8a9e38cc5228881f7055a6079f6f7821a073df3744d441978e7a43e20226939", "https://bcr.bazel.build/modules/rules_java/8.6.1/MODULE.bazel": "f4808e2ab5b0197f094cabce9f4b006a27766beb6a9975931da07099560ca9c2", + "https://bcr.bazel.build/modules/rules_java/9.0.3/MODULE.bazel": "1f98ed015f7e744a745e0df6e898a7c5e83562d6b759dfd475c76456dda5ccea", + "https://bcr.bazel.build/modules/rules_java/9.0.3/source.json": "b038c0c07e12e658135bbc32cc1a2ded6e33785105c9d41958014c592de4593e", "https://bcr.bazel.build/modules/rules_jvm_external/4.4.2/MODULE.bazel": "a56b85e418c83eb1839819f0b515c431010160383306d13ec21959ac412d2fe7", "https://bcr.bazel.build/modules/rules_jvm_external/5.1/MODULE.bazel": "33f6f999e03183f7d088c9be518a63467dfd0be94a11d0055fe2d210f89aa909", "https://bcr.bazel.build/modules/rules_jvm_external/5.2/MODULE.bazel": "d9351ba35217ad0de03816ef3ed63f89d411349353077348a45348b096615036", @@ -166,11 +166,12 @@ "https://bcr.bazel.build/modules/rules_python/0.4.0/MODULE.bazel": "9208ee05fd48bf09ac60ed269791cf17fb343db56c8226a720fbb1cdf467166c", "https://bcr.bazel.build/modules/rules_python/0.40.0/MODULE.bazel": "9d1a3cd88ed7d8e39583d9ffe56ae8a244f67783ae89b60caafc9f5cf318ada7", "https://bcr.bazel.build/modules/rules_python/1.4.1/MODULE.bazel": "8991ad45bdc25018301d6b7e1d3626afc3c8af8aaf4bc04f23d0b99c938b73a6", - "https://bcr.bazel.build/modules/rules_python/1.4.1/source.json": "8ec8c90c70ccacc4de8ca1b97f599e756fb59173e898ee08b733006650057c07", + "https://bcr.bazel.build/modules/rules_python/1.6.3/MODULE.bazel": "a7b80c42cb3de5ee2a5fa1abc119684593704fcd2fec83165ebe615dec76574f", + "https://bcr.bazel.build/modules/rules_python/1.6.3/source.json": "f0be74977e5604a6526c8a416cda22985093ff7d5d380d41722d7e44015cc419", "https://bcr.bazel.build/modules/rules_shell/0.2.0/MODULE.bazel": "fda8a652ab3c7d8fee214de05e7a9916d8b28082234e8d2c0094505c5268ed3c", "https://bcr.bazel.build/modules/rules_shell/0.3.0/MODULE.bazel": "de4402cd12f4cc8fda2354fce179fdb068c0b9ca1ec2d2b17b3e21b24c1a937b", - "https://bcr.bazel.build/modules/rules_shell/0.4.0/MODULE.bazel": "0f8f11bb3cd11755f0b48c1de0bbcf62b4b34421023aa41a2fc74ef68d9584f0", - "https://bcr.bazel.build/modules/rules_shell/0.4.0/source.json": "1d7fa7f941cd41dc2704ba5b4edc2e2230eea1cc600d80bd2b65838204c50b95", + "https://bcr.bazel.build/modules/rules_shell/0.6.1/MODULE.bazel": "72e76b0eea4e81611ef5452aa82b3da34caca0c8b7b5c0c9584338aa93bae26b", + "https://bcr.bazel.build/modules/rules_shell/0.6.1/source.json": "20ec05cd5e592055e214b2da8ccb283c7f2a421ea0dc2acbf1aa792e11c03d0c", "https://bcr.bazel.build/modules/rules_swift/1.16.0/MODULE.bazel": "4a09f199545a60d09895e8281362b1ff3bb08bbde69c6fc87aff5b92fcc916ca", "https://bcr.bazel.build/modules/rules_swift/2.1.1/MODULE.bazel": "494900a80f944fc7aa61500c2073d9729dff0b764f0e89b824eb746959bc1046", "https://bcr.bazel.build/modules/rules_swift/2.1.1/source.json": "40fc69dfaac64deddbb75bd99cdac55f4427d9ca0afbe408576a65428427a186", @@ -223,7 +224,7 @@ }, "@@rules_apple+//apple:apple.bzl%provisioning_profile_repository_extension": { "general": { - "bzlTransitiveDigest": "CUIdbxeGZ+GPvVqbCkw9HQeJLsqeG3I1pJQ+oyZr/D4=", + "bzlTransitiveDigest": "EGiMNop0zkFmJjeyGsg8hfIezYBxM9h1yHmaKdnqoNY=", "usagesDigest": "vsJl8Rw5NL+5Ag2wdUDoTeRF/5klkXO8545Iy7U1Q08=", "recordedFileInputs": {}, "recordedDirentsInputs": {}, @@ -272,6 +273,16 @@ ], [ "rules_cc+", + "cc_compatibility_proxy", + "rules_cc++compatibility_proxy+cc_compatibility_proxy" + ], + [ + "rules_cc+", + "rules_cc", + "rules_cc+" + ], + [ + "rules_cc++compatibility_proxy+cc_compatibility_proxy", "rules_cc", "rules_cc+" ], @@ -397,8 +408,8 @@ }, "@@rules_python+//python/uv:uv.bzl%uv": { "general": { - "bzlTransitiveDigest": "Xpqjnjzy6zZ90Es9Wa888ZLHhn7IsNGbph/e6qoxzw8=", - "usagesDigest": "4JapxcpS0mL3524k0TZJffAtVyuRjDHZvN9kBRxxF1U=", + "bzlTransitiveDigest": "PmZM/pIkZKEDDL68TohlKJrWPYKL5VwUw3MA7kmm6fk=", + "usagesDigest": "icnInV8HDGrRQf9x8RMfxWfBHgT3OgRlYovS/9POEJw=", "recordedFileInputs": {}, "recordedDirentsInputs": {}, "envVariables": {}, @@ -423,6 +434,11 @@ } }, "recordedRepoMappingEntries": [ + [ + "rules_python+", + "bazel_tools", + "bazel_tools" + ], [ "rules_python+", "platforms", diff --git a/projects/batfish/src/main/java/org/batfish/dataplane/traceroute/FlowTracer.java b/projects/batfish/src/main/java/org/batfish/dataplane/traceroute/FlowTracer.java index ba68dd6f925..9cc6ed5bf6f 100644 --- a/projects/batfish/src/main/java/org/batfish/dataplane/traceroute/FlowTracer.java +++ b/projects/batfish/src/main/java/org/batfish/dataplane/traceroute/FlowTracer.java @@ -183,8 +183,7 @@ public Integer visitFibNextVrf(FibNextVrf fibNextVrf) { @Override public Integer visitFibNullRoute(FibNullRoute fibNullRoute) { - // guarantee type correctness - FibNullRoute.class.cast(_rhs); + FibNullRoute ignored = (FibNullRoute) _rhs; return 0; } } diff --git a/projects/client/src/main/java/org/batfish/client/Client.java b/projects/client/src/main/java/org/batfish/client/Client.java index 5fa1a806fe0..f0e24f77d1f 100644 --- a/projects/client/src/main/java/org/batfish/client/Client.java +++ b/projects/client/src/main/java/org/batfish/client/Client.java @@ -460,7 +460,7 @@ static void validateType(JsonNode value, Variable variable) throws BatfishExcept throw new BatfishException( String.format("A Batfish %s must be a JSON string", expectedType.getName())); } - Enum.valueOf(InterfaceType.class, value.textValue().toUpperCase()); + InterfaceType ignored = Enum.valueOf(InterfaceType.class, value.textValue().toUpperCase()); break; case INTERFACES_SPEC: if (!(value.isTextual())) {