-
Notifications
You must be signed in to change notification settings - Fork 0
Integrating the push notification system into all parts of the system #24
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
df34cf0
515a333
1c33bd3
8d85e12
7f46502
06c9a57
b12affd
b41ea48
9651867
f39ebe2
a549f75
f1df19c
c16b761
de399ad
0083deb
e84b68a
e96ef4a
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -21,16 +21,19 @@ jobs: | |
| - name: Checkout Repository | ||
| uses: actions/checkout@v5 | ||
|
|
||
| - name: Setup Java 17 | ||
| - name: Setup Java 25 | ||
| uses: actions/setup-java@v5 | ||
| with: | ||
| java-version: '17' | ||
| java-version: '25' | ||
|
Comment on lines
+24
to
+27
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🧩 Analysis chain🌐 Web query:
💡 Result: Answer (as of 2026-05-25): 1) Officially supported Java versions for Android Gradle Plugin (AGP) and Gradle builds - AGP docs state that the minimum required JDK to run AGP depends on the AGP version, and provides a compatibility table in the AGP release notes (example given: AGP 8.x requires JDK 17 to run) [1]. - AGP 9.2.0 release notes explicitly list JDK 17 as both the minimum and default JDK for that AGP release [2]. - Therefore, for current AGP (9.2.0 and the contemporary AGP line), the supported JDK to run the build is JDK 17 (and higher, subject to the toolchain choosing behavior), with the exact minimum pinned per AGP version via release-note compatibility tables [1][2]. 2) What Gradle (for Android builds) is officially supported with (JDK side) - Gradle’s tested/compatibility matrix is about which Gradle versions work with which Android Gradle Plugin versions; it doesn’t enumerate JDK 25 as supported in the snippet we retrieved [3][4]. - For the purpose of “is JDK 25 supported?”, the key point is whether Gradle itself supports running/compiling with JDK 25. A Gradle issue discussing JDK 25 support notes that the current compatibility matrix shows there is no toolchain support for JDK 25 (at least at the time of that request) [5], and another notes that a warning about Kotlin/JDK 25 compatibility can be resolved on newer Gradle (e.g., 9.2.0) [6]. 3) Is JDK 25 supported? - For Android builds specifically: JDK 25 is not listed as an officially supported JDK in the Android/AGP JDK documentation we retrieved; the AGP 9.2.0 release notes show JDK 17 as the required/default JDK [2]. So, in the current official AGP guidance, JDK 25 is not presented as a supported “build JDK” the way JDK 17 is. - For Gradle itself: there are explicit reports that (at least in some versions of Gradle) the compatibility matrix indicated no toolchain support for JDK 25 [5], and later Gradle versions/workarounds address compilation issues [6]. Based on these sources alone, we cannot claim “JDK 25 is officially supported by current AGP+Gradle” as a definitive, fully sanctioned baseline; the authoritative AGP release-note baseline we have points to JDK 17 [2]. Practical conclusion: - Use JDK 17 for current Android Gradle Plugin (example: AGP 9.2.0 requires JDK 17) [2]. - I do not have authoritative evidence from the AGP/Android official JDK guidance that JDK 25 is officially supported as a build JDK today; Gradle community sources indicate that JDK 25 support varies by Gradle version and has had compatibility gaps [5][6]. Citations:
Pin CI to an AGP-supported JDK (JDK 17), or justify JDK 25 explicitly File: - name: Setup Java 25
uses: actions/setup-java@v5
with:
java-version: '25'AGP 9.2.0’s official guidance specifies JDK 17 as the minimum/default JDK, and the AGP/Gradle JDK compatibility information does not show JDK 25 as an officially supported build JDK. Switching CI to Java 25 can therefore break the Android toolchain if Gradle/Kotlin/AGP reject newer JDKs.
🧰 Tools🪛 zizmor (1.25.2)[error] 25-25: unpinned action reference (unpinned-uses): action is not pinned to a hash (required by blanket policy) (unpinned-uses) 🤖 Prompt for AI Agents |
||
| distribution: 'temurin' | ||
| cache: 'gradle' | ||
|
|
||
| - name: Make gradlew executable | ||
| run: chmod +x gradlew | ||
|
|
||
| - name: Create google-services.json | ||
| run: echo "${{ secrets.GOOGLE_SERVICES_JSON }}" | base64 --decode > app/google-services.json | ||
|
|
||
|
|
||
| - name: Build Android App | ||
| run: ./gradlew assembleDebug lintDebug testDebugUnitTest --no-daemon | ||
| run: ./gradlew spotlessCheck assembleDebug lintDebug testDebugUnitTest --no-daemon | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -2,4 +2,7 @@ | |
| *.iml | ||
| *.iws | ||
|
|
||
| .vscode/ | ||
| .vscode/ | ||
|
|
||
| firebase-adminsdk.json | ||
| google-services.json | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,4 +1,5 @@ | ||
| rootProject.name = 'backend' | ||
| include 'smartjam-api' | ||
| include 'smartjam-analyzer' | ||
| include 'smartjam-common' | ||
| include 'smartjam-common' | ||
| include 'smartjam-notification' |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,11 @@ | ||
| package com.smartjam.analyzer.domain.exception; | ||
|
|
||
| /** | ||
| * Exception thrown when a non-recoverable error occurs during audio analysis. Indicates that the process cannot be | ||
| * successfully retried (e.g., missing metadata in DB). | ||
| */ | ||
| public class AnalysisFatalException extends RuntimeException { | ||
| public AnalysisFatalException(String message) { | ||
| super(message); | ||
| } | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,7 @@ | ||
| package com.smartjam.analyzer.domain.port; | ||
|
|
||
| import com.smartjam.common.dto.analysis.AnalysisFinishedEvent; | ||
|
|
||
| public interface AnalysisEventPublisher { | ||
| void publish(AnalysisFinishedEvent event); | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,8 @@ | ||
| package com.smartjam.analyzer.domain.port; | ||
|
|
||
| import com.smartjam.analyzer.domain.model.AnalysisResult; | ||
| import com.smartjam.analyzer.domain.model.FeatureSequence; | ||
|
|
||
| public interface PerformanceEvaluator { | ||
| AnalysisResult evaluate(FeatureSequence reference, FeatureSequence student); | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pin GitHub Action to a commit SHA.
Using
actions/setup-java@v5at Line 25 is mutable and weakens CI supply-chain guarantees. Pin this action to a full commit SHA.🧰 Tools
🪛 zizmor (1.25.2)
[error] 25-25: unpinned action reference (unpinned-uses): action is not pinned to a hash (required by blanket policy)
(unpinned-uses)
🤖 Prompt for AI Agents