-
Notifications
You must be signed in to change notification settings - Fork 0
Update workflows and configurations for CI and code quality #55
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
Changes from all commits
6d2c649
cabe3b8
0eeba37
0dcf172
fcf2bc6
8f0e992
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 |
|---|---|---|
| @@ -0,0 +1,47 @@ | ||
| # Default behavior: | ||
| * text=auto eol=lf | ||
|
|
||
| # Python files | ||
| *.py text eol=lf | ||
|
|
||
| # Configuration and text files | ||
| *.toml text eol=lf | ||
| *.ini text eol=lf | ||
| *.cfg text eol=lf | ||
| *.md text eol=lf | ||
| *.txt text eol=lf | ||
| *.json text eol=lf | ||
| *.yml text eol=lf | ||
| *.yaml text eol=lf | ||
| .editorconfig text eol=lf | ||
| .gitignore text eol=lf | ||
| .gitattributes text eol=lf | ||
|
|
||
| # Lock files should be treated as text with LF endings | ||
| uv.lock text eol=lf | ||
|
|
||
| # Make Jupyter Notebook diffs readable | ||
| # Requires users to install nbdime (pip install nbdime) | ||
| # and run `nbdime config-git --enable --global` | ||
| *.ipynb diff=nbdime | ||
|
|
||
| # Mark binary files to prevent Git from trying to change their line endings | ||
| # This prevents corruption of these files. | ||
| *.png binary | ||
| *.jpg binary | ||
| *.jpeg binary | ||
| *.gif binary | ||
| *.ico binary | ||
| *.pyc binary | ||
| *.so binary | ||
| *.sqlite3 binary | ||
| *.db binary | ||
| *.zip binary | ||
| *.gz binary | ||
| *.pdf binary | ||
|
|
||
| # Exclude specific files/directories from git archive (e.g., when downloading a zip) | ||
| # This is great for providing students with a clean project download. | ||
| /.github export-ignore | ||
| /tests/ export-ignore | ||
| /.pytest_cache/ export-ignore |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,40 @@ | ||
| #-------------------------------------------------------------------------------# | ||
| # Discover all capabilities of Qodana in our documentation # | ||
| # https://www.jetbrains.com/help/qodana/about-qodana.html # | ||
| #-------------------------------------------------------------------------------# | ||
|
|
||
| name: Qodana | ||
| on: | ||
| workflow_dispatch: | ||
| pull_request: | ||
| push: | ||
| branches: | ||
| - master | ||
| - chore/versoins-bump | ||
|
|
||
| jobs: | ||
| qodana: | ||
| runs-on: ubuntu-latest | ||
| permissions: | ||
| contents: write | ||
| pull-requests: write | ||
| checks: write | ||
| steps: | ||
| - uses: actions/checkout@v4 | ||
| with: | ||
| ref: ${{ github.event.pull_request.head.sha }} | ||
| fetch-depth: 0 | ||
| - name: 'Qodana Scan' | ||
| uses: JetBrains/qodana-action@v2025.3 | ||
| env: | ||
| QODANA_TOKEN: ${{ secrets.QODANA_TOKEN }} | ||
| with: | ||
| # When pr-mode is set to true, Qodana analyzes only the files that have been changed | ||
| pr-mode: false | ||
| use-caches: true | ||
| post-pr-comment: true | ||
| use-annotations: true | ||
| # Upload Qodana results (SARIF, other artifacts, logs) as an artifact to the job | ||
| upload-result: false | ||
| # quick-fixes available in Ultimate and Ultimate Plus plans | ||
| push-fixes: 'none' | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,49 @@ | ||
| #-------------------------------------------------------------------------------# | ||
| # Qodana analysis is configured by qodana.yaml file # | ||
| # https://www.jetbrains.com/help/qodana/qodana-yaml.html # | ||
| #-------------------------------------------------------------------------------# | ||
|
|
||
| ################################################################################# | ||
| # WARNING: Do not store sensitive information in this file, # | ||
| # as its contents will be included in the Qodana report. # | ||
| ################################################################################# | ||
| version: "1.0" | ||
|
|
||
| #Specify inspection profile for code analysis | ||
| profile: | ||
| name: qodana.starter | ||
|
|
||
| #Enable inspections | ||
| #include: | ||
| # - name: <SomeEnabledInspectionId> | ||
|
|
||
| #Disable inspections | ||
| #exclude: | ||
| # - name: <SomeDisabledInspectionId> | ||
| # paths: | ||
| # - <path/where/not/run/inspection> | ||
|
|
||
| projectJDK: "17" #(Applied in CI/CD pipeline) | ||
|
|
||
| #Execute shell command before Qodana execution (Applied in CI/CD pipeline) | ||
| #bootstrap: sh ./prepare-qodana.sh | ||
|
|
||
| #Install IDE plugins before Qodana execution (Applied in CI/CD pipeline) | ||
| #plugins: | ||
| # - id: <plugin.id> #(plugin id can be found at https://plugins.jetbrains.com) | ||
|
|
||
| # Quality gate. Will fail the CI/CD pipeline if any condition is not met | ||
| # severityThresholds - configures maximum thresholds for different problem severities | ||
| # testCoverageThresholds - configures minimum code coverage on a whole project and newly added code | ||
| # Code Coverage is available in Ultimate and Ultimate Plus plans | ||
| #failureConditions: | ||
| # severityThresholds: | ||
| # any: 15 | ||
| # critical: 5 | ||
| # testCoverageThresholds: | ||
| # fresh: 70 | ||
| # total: 50 | ||
|
|
||
| #Qodana supports other languages, for example, Python, JavaScript, TypeScript, Go, C#, PHP | ||
| #For all supported languages see https://www.jetbrains.com/help/qodana/linters.html | ||
| linter: jetbrains/qodana-jvm-community:2026.1 | ||
|
Comment on lines
+47
to
+49
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🏁 Script executed: #!/bin/bash
# Check if the Qodana Docker image tag exists
curl -s "https://hub.docker.com/v2/repositories/jetbrains/qodana-jvm-community/tags/2026.1" | jq '.name // "Tag not found"'Repository: rabestro/graph-pathfinding-algorithms Length of output: 96 Update Qodana linter to an available version. The image tag 🤖 Prompt for AI Agents |
||
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.
Remove feature branch from push triggers before merging.
The
chore/versoins-bumpbranch trigger appears to be for testing this workflow during development. Remove it before merging to avoid running Qodana on a stale/deleted branch.🧹 Suggested fix
push: branches: - master - - chore/versoins-bump📝 Committable suggestion
🤖 Prompt for AI Agents