From 0f821a05500848adde7930e5235b01aeaf2871c2 Mon Sep 17 00:00:00 2001 From: William Bezuidenhout Date: Wed, 13 Dec 2023 15:17:45 +0200 Subject: [PATCH 1/4] pr-auditor: use new token (#672) --- .github/workflows/pr-auditor.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/pr-auditor.yml b/.github/workflows/pr-auditor.yml index bdc06f3b..e7ec2d48 100644 --- a/.github/workflows/pr-auditor.yml +++ b/.github/workflows/pr-auditor.yml @@ -3,19 +3,20 @@ name: pr-auditor on: pull_request_target: types: [ closed, edited, opened, synchronize, ready_for_review ] + workflow_dispatch: jobs: check-pr: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: repository: 'sourcegraph/pr-auditor' - uses: actions/setup-go@v4 - with: { go-version: '1.20' } + with: { go-version: '1.21' } - run: './check-pr.sh' env: GITHUB_EVENT_PATH: ${{ env.GITHUB_EVENT_PATH }} - GITHUB_TOKEN: ${{ github.token }} + GITHUB_TOKEN: ${{ secrets.PR_AUDITOR_TOKEN }} GITHUB_RUN_URL: https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }} From bd493f718623f510034f1d59bfdc43e5e7309850 Mon Sep 17 00:00:00 2001 From: William Bezuidenhout Date: Fri, 22 Dec 2023 14:48:52 +0200 Subject: [PATCH 2/4] pr-auditor: report failures (#673) part of https://github.com/sourcegraph/sourcegraph/issues/59055 --- .github/workflows/pr-auditor.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/pr-auditor.yml b/.github/workflows/pr-auditor.yml index e7ec2d48..cdd92bfc 100644 --- a/.github/workflows/pr-auditor.yml +++ b/.github/workflows/pr-auditor.yml @@ -20,3 +20,8 @@ jobs: GITHUB_EVENT_PATH: ${{ env.GITHUB_EVENT_PATH }} GITHUB_TOKEN: ${{ secrets.PR_AUDITOR_TOKEN }} GITHUB_RUN_URL: https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }} + report_failure: + needs: check-pr + if: ${{ failure() }} + uses: sourcegraph/sourcegraph/.github/workflows/report-job-failure.yml@main + secrets: inherit From 19b82973ba0b55e39a24018d1e99a2d217956068 Mon Sep 17 00:00:00 2001 From: Olafur Geirsson Date: Fri, 2 Feb 2024 12:53:13 +0100 Subject: [PATCH 3/4] Bump to lastest scip-kotlin with Kotlin 1.9 support --- .scalafmt.conf | 3 +++ build.sbt | 8 ++++---- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/.scalafmt.conf b/.scalafmt.conf index 405fdf30..31d4d7a7 100644 --- a/.scalafmt.conf +++ b/.scalafmt.conf @@ -6,3 +6,6 @@ project.git = true align.preset = none align.stripMargin = true newlines.source=unfold +project.excludeFilters = [ + "tests/snapshots/src/main/generated" +] diff --git a/build.sbt b/build.sbt index d7b0ccd9..1f5a6860 100644 --- a/build.sbt +++ b/build.sbt @@ -23,12 +23,12 @@ lazy val V = val scala3 = "3.2.2" val metals = "0.11.11" val scalameta = "4.8.1" - val semanticdbKotlinc = "0.3.2" + val semanticdbKotlinc = "0.4.0" val testcontainers = "0.39.3" val requests = "0.6.5" val minimalMillVersion = "0.10.0" val millScipVersion = "0.3.6" - val kotlinGradlePlugin = "1.5.31" + val kotlinVersion = "1.9.22" } inThisBuild( @@ -122,7 +122,7 @@ lazy val gradlePlugin = project List( "dev.gradleplugins" % "gradle-api" % V.gradle % Provided, "dev.gradleplugins" % "gradle-test-kit" % V.gradle % Provided, - "org.jetbrains.kotlin" % "kotlin-gradle-plugin" % V.kotlinGradlePlugin % + "org.jetbrains.kotlin" % "kotlin-gradle-plugin" % V.kotlinVersion % Provided ), buildInfoKeys := @@ -257,7 +257,7 @@ lazy val cli = project "com.lihaoyi" %% "requests" % V.requests, "org.scalameta" %% "moped" % V.moped, "org.scalameta" %% "ascii-graphs" % "0.1.2", - "org.jetbrains.kotlin" % "kotlin-compiler-embeddable" % "1.8.21" + "org.jetbrains.kotlin" % "kotlin-compiler-embeddable" % V.kotlinVersion ), (Compile / resourceGenerators) += Def From 48e351ff70d14fd83fa336f62f9791816e274936 Mon Sep 17 00:00:00 2001 From: Olafur Geirsson Date: Fri, 2 Feb 2024 13:10:01 +0100 Subject: [PATCH 4/4] Fix "Find references" bug for interfaces and types Fixes #678 Previously, doing "Find references" on a symbol with kind `INTERFACE` or `TYPE` returned results for all references to symbols that *implement* that symbol. This bug was particularly noticeable for Kotlin sources because scip-kotlin emits the `TYPE` kind for classes. Now, we no longer emit reference relationships so the implementations only appear in "Find implementation" and not "Find references". --- .../java/com/sourcegraph/scip_semanticdb/ScipSemanticdb.java | 2 ++ .../main/generated/com/airbnb/epoxy/BaseEpoxyTouchCallback.java | 2 -- .../src/main/generated/com/airbnb/epoxy/EpoxyController.java | 2 +- .../src/main/generated/com/airbnb/epoxy/EpoxyDragCallback.java | 2 +- .../src/main/generated/com/airbnb/epoxy/EpoxySwipeCallback.java | 2 +- .../snapshots/src/main/generated/com/airbnb/epoxy/UpdateOp.java | 2 +- .../src/main/generated/com/airbnb/epoxy/VisibilityState.java | 2 +- .../tests/minimized/src/main/java/minimized/Annotations.java | 2 +- .../tests/minimized/src/main/java/minimized/InnerClasses.java | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/scip-semanticdb/src/main/java/com/sourcegraph/scip_semanticdb/ScipSemanticdb.java b/scip-semanticdb/src/main/java/com/sourcegraph/scip_semanticdb/ScipSemanticdb.java index 1cb494a0..d566afeb 100644 --- a/scip-semanticdb/src/main/java/com/sourcegraph/scip_semanticdb/ScipSemanticdb.java +++ b/scip-semanticdb/src/main/java/com/sourcegraph/scip_semanticdb/ScipSemanticdb.java @@ -441,6 +441,8 @@ && supportsReferenceRelationship(symbolInformation) private static boolean supportsReferenceRelationship(SymbolInformation info) { switch (info.getKind()) { + case INTERFACE: + case TYPE: case CLASS: case OBJECT: case PACKAGE_OBJECT: diff --git a/tests/snapshots/src/main/generated/com/airbnb/epoxy/BaseEpoxyTouchCallback.java b/tests/snapshots/src/main/generated/com/airbnb/epoxy/BaseEpoxyTouchCallback.java index 37c471b0..9d77d1b6 100644 --- a/tests/snapshots/src/main/generated/com/airbnb/epoxy/BaseEpoxyTouchCallback.java +++ b/tests/snapshots/src/main/generated/com/airbnb/epoxy/BaseEpoxyTouchCallback.java @@ -8,8 +8,6 @@ interface BaseEpoxyTouchCallback { // ^^^^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/BaseEpoxyTouchCallback# // documentation ```java\ninterface BaseEpoxyTouchCallback\n``` -// relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyDragCallback# -// relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxySwipeCallback# // ^ definition semanticdb maven . . com/airbnb/epoxy/BaseEpoxyTouchCallback#[T] // documentation ```java\nT extends EpoxyModel\n``` // ^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel# diff --git a/tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxyController.java b/tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxyController.java index f425d7d6..00b2ae54 100644 --- a/tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxyController.java +++ b/tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxyController.java @@ -302,7 +302,7 @@ public EpoxyController(Handler modelBuildingHandler, Handler diffingHandler) { // ^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/IntDef# // ^^^^^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyController#RequestedModelBuildType# // documentation ```java\n@Retention(RetentionPolicy.SOURCE)\n@IntDef({RequestedModelBuildType.NONE, RequestedModelBuildType.NEXT_FRAME, RequestedModelBuildType.DELAYED})\nprivate @interface RequestedModelBuildType\n``` -// relationship is_reference is_implementation semanticdb maven jdk 11 java/lang/annotation/Annotation# +// relationship is_implementation semanticdb maven jdk 11 java/lang/annotation/Annotation# // ^^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController#RequestedModelBuildType# // ^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController#RequestedModelBuildType#NONE. RequestedModelBuildType.NEXT_FRAME, diff --git a/tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxyDragCallback.java b/tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxyDragCallback.java index 7b0e64ce..196656ef 100644 --- a/tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxyDragCallback.java +++ b/tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxyDragCallback.java @@ -12,7 +12,7 @@ public interface EpoxyDragCallback extends BaseEpoxyTouchC // ^^^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyDragCallback# // documentation ```java\npublic interface EpoxyDragCallback\n``` // documentation For use with {@link EpoxyModelTouchCallback}\n -// relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/BaseEpoxyTouchCallback# +// relationship is_implementation semanticdb maven . . com/airbnb/epoxy/BaseEpoxyTouchCallback# // ^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyDragCallback#[T] // documentation ```java\nT extends EpoxyModel\n``` // ^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel# diff --git a/tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxySwipeCallback.java b/tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxySwipeCallback.java index 7440c563..c3da8ac1 100644 --- a/tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxySwipeCallback.java +++ b/tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxySwipeCallback.java @@ -22,7 +22,7 @@ public interface EpoxySwipeCallback extends BaseEpoxyTouch // ^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxySwipeCallback# // documentation ```java\npublic interface EpoxySwipeCallback\n``` // documentation For use with {@link EpoxyModelTouchCallback}\n -// relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/BaseEpoxyTouchCallback# +// relationship is_implementation semanticdb maven . . com/airbnb/epoxy/BaseEpoxyTouchCallback# // ^ definition semanticdb maven . . com/airbnb/epoxy/EpoxySwipeCallback#[T] // documentation ```java\nT extends EpoxyModel\n``` // ^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel# diff --git a/tests/snapshots/src/main/generated/com/airbnb/epoxy/UpdateOp.java b/tests/snapshots/src/main/generated/com/airbnb/epoxy/UpdateOp.java index 2e44bd30..e3bf39c7 100644 --- a/tests/snapshots/src/main/generated/com/airbnb/epoxy/UpdateOp.java +++ b/tests/snapshots/src/main/generated/com/airbnb/epoxy/UpdateOp.java @@ -44,7 +44,7 @@ class UpdateOp { @interface Type { // ^^^^ definition semanticdb maven . . com/airbnb/epoxy/UpdateOp#Type# // documentation ```java\n@IntDef({ADD, REMOVE, UPDATE, MOVE})\n@Retention(RetentionPolicy.SOURCE)\n@interface Type\n``` -// relationship is_reference is_implementation semanticdb maven jdk 11 java/lang/annotation/Annotation# +// relationship is_implementation semanticdb maven jdk 11 java/lang/annotation/Annotation# } static final int ADD = 0; diff --git a/tests/snapshots/src/main/generated/com/airbnb/epoxy/VisibilityState.java b/tests/snapshots/src/main/generated/com/airbnb/epoxy/VisibilityState.java index e8691da8..762b95bc 100644 --- a/tests/snapshots/src/main/generated/com/airbnb/epoxy/VisibilityState.java +++ b/tests/snapshots/src/main/generated/com/airbnb/epoxy/VisibilityState.java @@ -44,7 +44,7 @@ public final class VisibilityState { public @interface Visibility { // ^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/VisibilityState#Visibility# // documentation ```java\n@Retention(RetentionPolicy.SOURCE)\n@IntDef({VISIBLE, INVISIBLE, FOCUSED_VISIBLE, UNFOCUSED_VISIBLE, FULL_IMPRESSION_VISIBLE, PARTIAL_IMPRESSION_VISIBLE, PARTIAL_IMPRESSION_INVISIBLE})\npublic @interface Visibility\n``` -// relationship is_reference is_implementation semanticdb maven jdk 11 java/lang/annotation/Annotation# +// relationship is_implementation semanticdb maven jdk 11 java/lang/annotation/Annotation# } /** diff --git a/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/Annotations.java b/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/Annotations.java index 97ca51e9..d547e1ef 100644 --- a/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/Annotations.java +++ b/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/Annotations.java @@ -53,7 +53,7 @@ public @interface Annotations { // ^^^^^^^^^^^ definition semanticdb maven . . minimized/Annotations# // documentation ```java\n@Documented\n@Retention(RetentionPolicy.RUNTIME)\n@Target({CONSTRUCTOR, FIELD, LOCAL_VARIABLE, METHOD, PACKAGE, PARAMETER, TYPE})\npublic @interface Annotations\n``` -// relationship is_reference is_implementation semanticdb maven jdk 11 java/lang/annotation/Annotation# +// relationship is_implementation semanticdb maven jdk 11 java/lang/annotation/Annotation# String value() default ""; //^^^^^^ reference semanticdb maven jdk 11 java/lang/String# diff --git a/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/InnerClasses.java b/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/InnerClasses.java index 0c988658..994deb5b 100644 --- a/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/InnerClasses.java +++ b/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/InnerClasses.java @@ -72,7 +72,7 @@ public interface InnerInterface { public @interface InnerAnnotation { // ^^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/InnerClasses#InnerAnnotation# // documentation ```java\npublic @interface InnerAnnotation\n``` -// relationship is_reference is_implementation semanticdb maven jdk 11 java/lang/annotation/Annotation# +// relationship is_implementation semanticdb maven jdk 11 java/lang/annotation/Annotation# int value(); // ^^^^^ definition semanticdb maven . . minimized/InnerClasses#InnerAnnotation#value(). // documentation ```java\npublic abstract int value()\n```