From 6881aad2e05f9105cfa0b31db58759d2a69704f0 Mon Sep 17 00:00:00 2001 From: Jingwen Chen Date: Wed, 25 Oct 2023 20:16:51 +0800 Subject: [PATCH] GitHub Actions test --- .github/workflows/prebuilts-deploy.yml | 35 +++++++++++++++++++ .../rules_jvm_external/Coordinates.java | 1 + 2 files changed, 36 insertions(+) create mode 100644 .github/workflows/prebuilts-deploy.yml diff --git a/.github/workflows/prebuilts-deploy.yml b/.github/workflows/prebuilts-deploy.yml new file mode 100644 index 000000000..438ade6e8 --- /dev/null +++ b/.github/workflows/prebuilts-deploy.yml @@ -0,0 +1,35 @@ +name: Build and deploy tools +run-name: Build and deploy tools +on: [push] +jobs: + build-deploy-tools: + runs-on: ubuntu-latest + permissions: + pull-requests: read + steps: + - name: Checkout the code + uses: actions/checkout@v4 + - name: Get changed files + id: changed-files + uses: tj-actions/changed-files@v39 + - name: Refresh prebuilts if transitive deps changed + id: refresh-prebuilts + run: | + for file in ${{ steps.changed-files.outputs.all_changed_files }}; do + echo "$file was changed" + label=$(bazel query "$file" || true) + if [[ ! -z $label ]]; then + bazel query "kind(java_binary, rdeps(//private/tools/java/..., $label))" >> /tmp/affected_targets.txt + fi + done + affected_targets_count=$(wc -l < /tmp/affected_targets.txt) + if [[ $affected_targets_count -gt 0 ]]; then + bazelisk build //scripts:refresh-prebuilts + fi + - name: Upload prebuilts # TODO: Can this be a Create Pull Request action instead? + if: steps.refresh-prebuilts.outcome == 'success' + uses: actions/upload-artifact@v3 + with: + name: deploy jars + path: bazel-bin/private/tools/java/com/github/bazelbuild/rules_jvm_external/**/*_deploy.jar + retention-days: 5 diff --git a/private/tools/java/com/github/bazelbuild/rules_jvm_external/Coordinates.java b/private/tools/java/com/github/bazelbuild/rules_jvm_external/Coordinates.java index 391b83aac..21b851782 100644 --- a/private/tools/java/com/github/bazelbuild/rules_jvm_external/Coordinates.java +++ b/private/tools/java/com/github/bazelbuild/rules_jvm_external/Coordinates.java @@ -28,6 +28,7 @@ public Coordinates(String coordinates) { groupId = Objects.requireNonNull(parts[0]); artifactId = Objects.requireNonNull(parts[1]); + if (parts.length == 2) { extension = "jar"; classifier = "";