Skip to content

Commit 8f04bd1

Browse files
author
The Qualimetry Team
committed
release: 1.0.11 - version alignment [publish]
0 parents  commit 8f04bd1

20 files changed

Lines changed: 1286 additions & 0 deletions

.github/workflows/ci.yml

Lines changed: 125 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,125 @@
1+
name: CI (Rider Plugin)
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
branches: [main]
8+
workflow_dispatch: {}
9+
10+
jobs:
11+
build:
12+
name: Build & Test (Java 17)
13+
runs-on: ubuntu-latest
14+
steps:
15+
- name: Free disk space for the Rider SDK
16+
run: sudo rm -rf /usr/local/lib/android /usr/share/dotnet /opt/ghc
17+
18+
- uses: actions/checkout@v6
19+
20+
- uses: actions/setup-java@v5
21+
with:
22+
distribution: temurin
23+
java-version: '17'
24+
25+
- uses: gradle/actions/setup-gradle@v5
26+
with:
27+
gradle-version: '8.10.2'
28+
29+
- name: Build plugin
30+
working-directory: rider-plugin
31+
run: gradle buildPlugin --no-daemon
32+
33+
- name: Upload plugin ZIP
34+
uses: actions/upload-artifact@v6
35+
with:
36+
name: rider-plugin-zip
37+
path: rider-plugin/build/distributions/*.zip
38+
retention-days: 30
39+
40+
# Appends a new release/tag per VERSION. Do not delete prior GitHub releases when shipping a newer version.
41+
release:
42+
name: Create GitHub Release
43+
needs: build
44+
if: github.event_name == 'push' && github.ref == 'refs/heads/main' && startsWith(github.event.head_commit.message, 'release:')
45+
runs-on: ubuntu-latest
46+
permissions:
47+
contents: write
48+
steps:
49+
- name: Free disk space for the Rider SDK
50+
run: sudo rm -rf /usr/local/lib/android /usr/share/dotnet /opt/ghc
51+
52+
- uses: actions/checkout@v6
53+
54+
- uses: actions/setup-java@v5
55+
with:
56+
distribution: temurin
57+
java-version: '17'
58+
59+
- uses: gradle/actions/setup-gradle@v5
60+
with:
61+
gradle-version: '8.10.2'
62+
63+
- name: Read version
64+
id: version
65+
run: |
66+
VERSION=$(cat VERSION | tr -d '[:space:]')
67+
echo "version=$VERSION" >> "$GITHUB_OUTPUT"
68+
echo "tag=v$VERSION" >> "$GITHUB_OUTPUT"
69+
70+
- name: Build plugin
71+
working-directory: rider-plugin
72+
run: gradle buildPlugin -PpluginVersion=${{ steps.version.outputs.version }} --no-daemon
73+
74+
- name: Extract release notes from CHANGELOG
75+
run: |
76+
VERSION="${{ steps.version.outputs.version }}"
77+
if [ -f CHANGELOG.md ]; then
78+
awk "/^## \[${VERSION}\]/{flag=1; next} /^## \[/{flag=0} flag" CHANGELOG.md > release-notes.md
79+
fi
80+
if [ ! -s release-notes.md ]; then
81+
echo "Release ${VERSION}" > release-notes.md
82+
fi
83+
84+
- name: Create GitHub Release
85+
uses: softprops/action-gh-release@v3
86+
with:
87+
tag_name: ${{ steps.version.outputs.tag }}
88+
name: v${{ steps.version.outputs.version }}
89+
body_path: release-notes.md
90+
files: rider-plugin/build/distributions/*.zip
91+
draft: false
92+
prerelease: false
93+
94+
publish-marketplace:
95+
name: Publish to JetBrains Marketplace
96+
needs: release
97+
if: github.event_name == 'push' && github.ref == 'refs/heads/main' && startsWith(github.event.head_commit.message, 'release:') && contains(github.event.head_commit.message, '[publish]')
98+
runs-on: ubuntu-latest
99+
steps:
100+
- name: Free disk space for the Rider SDK
101+
run: sudo rm -rf /usr/local/lib/android /usr/share/dotnet /opt/ghc
102+
103+
- uses: actions/checkout@v6
104+
105+
- uses: actions/setup-java@v5
106+
with:
107+
distribution: temurin
108+
java-version: '17'
109+
110+
- uses: gradle/actions/setup-gradle@v5
111+
with:
112+
gradle-version: '8.10.2'
113+
114+
- name: Read version
115+
id: version
116+
run: echo "version=$(cat VERSION | tr -d '[:space:]')" >> "$GITHUB_OUTPUT"
117+
118+
- name: Publish to JetBrains Marketplace
119+
working-directory: rider-plugin
120+
run: gradle publishPlugin -PpluginVersion=${{ steps.version.outputs.version }} --no-daemon
121+
env:
122+
JETBRAINS_MARKETPLACE_TOKEN: ${{ secrets.JETBRAINS_MARKETPLACE_TOKEN }}
123+
PLUGIN_SIGNING_CERTIFICATE_CHAIN: ${{ secrets.PLUGIN_SIGNING_CERTIFICATE_CHAIN }}
124+
PLUGIN_SIGNING_KEY: ${{ secrets.PLUGIN_SIGNING_KEY }}
125+
PLUGIN_SIGNING_KEY_PASSWORD: ${{ secrets.PLUGIN_SIGNING_KEY_PASSWORD }}

.gitignore

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
# Build output
2+
bin/
3+
obj/
4+
target/
5+
out/
6+
build/
7+
dist/
8+
*.user
9+
*.suo
10+
11+
# The analyzer NuGet ships hand-authored MSBuild props from its build/ folder;
12+
# keep them despite the broad build/ ignore above.
13+
!csharp-engine/Qualimetry.CSharp.Analyzer/build/
14+
!csharp-engine/Qualimetry.CSharp.Analyzer/build/**
15+
16+
# IDE
17+
.vs/
18+
.idea/
19+
.vscode/
20+
*.iml
21+
22+
# Node
23+
node_modules/
24+
npm-debug.log*
25+
26+
# Gradle
27+
.gradle/
28+
29+
# Vendored local build toolchain (developers supply their own; CI uses setup-java/setup-dotnet)
30+
tools/
31+
32+
# Local build artifacts
33+
artifacts/
34+
35+
# Packaging
36+
*.nupkg
37+
*.vsix
38+
*.jar
39+
*.zip
40+
!**/gradle/wrapper/gradle-wrapper.jar
41+
42+
# Test/coverage
43+
TestResults/
44+
coverage/
45+
46+
# Generated compliance report (regenerated by the ComplianceReport test; zipped for distribution)
47+
docs/compliance/
48+
49+
# Integration-test scan/build artifacts
50+
its/**/.sonarqube/
51+
its/**/bin/
52+
its/**/obj/
53+
its/target/

CHANGELOG.md

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
# Changelog
2+
3+
## [Unreleased]
4+
5+
- (None.)
6+
7+
## [1.0.11] - 2026-06-23
8+
9+
- Version-alignment release to keep the C# plugin family on a single version.
10+
11+
## [1.0.10] - 2026-06-23
12+
13+
- General improvements to analyzers.
14+
15+
## [1.0.9] - 2026-06-20
16+
17+
- Auto-activation: opening a solution now offers to add the analyzer so findings appear as you type. Toggle under Settings > Tools > Qualimetry C#.
18+
- Clarified wording: the plugin provides real-time analysis once provisioned, run by Rider's bundled Roslyn host.
19+
20+
## [1.0.8] - 2026-06-19
21+
22+
- JetBrains Marketplace builds are now code-signed.
23+
24+
## [1.0.7] - 2026-06-18
25+
26+
- Five new analyzer rules plus extended readonly-array coverage (210 rules total); synced from the SonarQube plugin release.
27+
28+
## [1.0.6] - 2026-06-18
29+
30+
- Six new analyzer rules (205 rules total); synced from the SonarQube plugin release.
31+
32+
## [1.0.5] - 2026-06-18
33+
34+
- Configurable rules now expose native SonarQube rule parameters (editable in the UI and synced to the IDE in connected mode) instead of static documentation.
35+
36+
## [1.0.4] - 2026-06-17
37+
38+
- Aligned the SonarQube rule lookup to the `qualimetry-csharp` rule namespace so synced severities match the updated server plugin.
39+
40+
## [1.0.3] - 2026-06-17
41+
42+
- Settings are now namespaced under `csharpAnalyzer.*` (previously `qualimetry.*`). Update any existing settings to the new keys.
43+
44+
## [1.0.2] - 2026-06-17
45+
46+
- Version-alignment release to keep the C# plugin family on a single version.
47+
48+
## [1.0.1] - 2026-06-17
49+
50+
- Add the Qualimetry plugin icon so it displays in the Plugins list and on the marketplace page.
51+
52+
## [1.0.0] - 2026-06-17
53+
54+
First general release.
55+
56+
- Add the `Qualimetry.CSharp.Analyzer` package to a selected `.csproj` from the Tools and project context menus.
57+
- Sync the active rule set and severities from a SonarQube quality profile into a solution `.globalconfig`.
58+
- Settings panel for the SonarQube URL, token, and profile name under Settings > Tools > Qualimetry C#.
59+
- Rule keys and severities align with the SonarQube plugin and the VS Code extension.
60+
61+
## [0.1.0] - 2026-06-17
62+
63+
First release.
64+
65+
- Add the `Qualimetry.CSharp.Analyzer` package to a selected `.csproj` from the Tools and project context menus.
66+
- Sync the active rule set and severities from a SonarQube quality profile into a solution `.globalconfig`.
67+
- Settings panel for the SonarQube URL, token, and profile name under Settings > Tools > Qualimetry C#.
68+
- Rule keys and severities align with the SonarQube plugin and the VS Code extension.

0 commit comments

Comments
 (0)