Conversation
Add monolith GitHub Actions workflow with 17 jobs covering build, test, packaging, analysis, and notifications. Disable Azure Pipelines triggers while preserving the file for reference. Jobs: setup (git tag counter), build-backend (cross-compile all RIDs), build-frontend, packages (13 archives), lint, unit/integration tests (native + docker + postgres), Windows installer, Sentry source map upload, SonarCloud analysis (frontend + backend), API docs generation, and Discord notifications.
Update sonarcloud-frontend and sonarcloud-backend jobs to use self-hosted SonarQube at sonar.staros.dev with per-project tokens. Remove sonar.organization parameter (not used in SonarQube).
Use DISCORD_WEBHOOK_ID for constructing the webhook URL and DISCORD_CHANNEL_ID for the actual channel reference.
Fix env context not available at job-level env (use literal values for MAJORVERSION and INNOVERSION). Pass github.head_ref through env var to prevent script injection risk.
Replace blanket .github/** paths-ignore with specific exclusions for labeler, label-actions, and lock workflows. The CI workflow itself must be able to trigger runs when updated.
- Fix SA1513 StyleCop error in VideoFileInfoReader.cs (missing blank line after closing brace) - Bump Node.js from 20.11.1 to 20.19.0 (jsdom@28.1.0 requires it) - Fix SonarScanner on Windows: Git Bash mangles /k: and /d: flags, switch to pwsh shell for sonarscanner begin/end steps
- Remove dorny/test-reporter (requires git checkout, test jobs only download artifacts). Test results still uploaded as artifacts. - Exclude .test.tsx files from webpack build (TS errors from Vitest matchers like toBeInTheDocument) - Fix SonarScanner pwsh env var syntax (use $env:VAR instead of $VAR)
- Add explicit boolean values for JSX boolean attributes (ESLint react/jsx-boolean-value rule) - Fix prettier formatting in Icon.test.tsx - Add test infrastructure files to .eslintignore (vitest.config.ts, test/setup.ts, test/cssModuleMock.ts are outside tsconfig scope)
…int (#18) - Make PackageWindows() gracefully skip the net8.0-windows overlay when building on Linux (WinForms tray app only builds on Windows) - Add *.test.ts and *.test.tsx to .eslintignore (test files use Vitest types not included in the main tsconfig project)
- Installer job now builds backend on Windows directly (needs net8.0-windows TFM for Radarr.exe WinForms tray app, which only builds on Windows) - Update sentry-cli source map command from deprecated 'releases files upload-sourcemaps' to 'sourcemaps upload'
sentry-cli releases set-commits --auto needs a git repo to associate commits with the release.
Replace upstream Servarr Sentry org and URL with Starosdev's sentry.io instance. Backend and frontend DSNs were already updated; this covers the remaining CI pipeline references in azure-pipelines.yml.
Replace CurrentCultureIgnoreCase and InvariantCultureIgnoreCase with OrdinalIgnoreCase in HTTP middleware and request extensions to prevent startup crashes under Turkish (tr-TR) locale. Also replace ToLower() with ToLowerInvariant() in InitializeJsonController.
Load the full certificate chain from PFX files using X509Certificate2Collection instead of a single X509Certificate2. The leaf certificate and intermediate CAs are separated, then passed to SslStreamCertificateContext.Create() so Kestrel serves the complete chain during TLS handshake. Previously, only the leaf certificate was loaded, which caused SSL validation failures on Linux/Docker where the OS certificate store does not automatically resolve intermediates from the PFX.
The installer job failed because the jrsoftware.org download returned an HTML error page instead of the binary. The curl command silently saved the error page as innosetup.exe. This adds --fail and -L flags to curl so HTTP errors are caught, and bumps the version from 6.2.2 to 6.4.2.
The jrsoftware.org file server is unreliable, causing the installer job to fail when downloading innosetup.exe. Replaced the direct download with Chocolatey installation on Windows CI runners. Also added --ignore-missing to sentry-cli set-commits to handle cases where the previous release SHA is not in the git history.
Inno Setup 6.7.1 is already available on windows-2025 runners. Instead of downloading or installing via Chocolatey, detect the existing ISCC.exe path dynamically and pass it to build.sh via ISCC_PATH.
MailKit 4.13.0 has GHSA-9j88-vvj5-vhgr; bump to 4.16.0 to unblock CI. Branch cleanup grep used substring match; switch to -cxF to prevent false deletion of unmerged branches. Secret scan lacked full history and skipped workflow files; drop --no-git, fetch full depth, and remove .github/workflows/ from gitleaks allowlist.
Tag push fails with exit 128 when the nightly tag already exists from a prior run. Delete local and remote tag before recreating so re-runs on the same version do not abort.
Fix/sidebar scrollbar 51
[RADARR] v1.0.0 — Replace blocked coverage report action
[RADARR-1] v1.0.4 — Resolve parser cleanup and edge cases
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Database Migration
NO
Description
Promote the current
developbranch intomasterfor production.This promotion includes the fork CI/CD hardening that has landed on
develop: the rebuilt GitHub Actions pipeline, backend and installer branch-name fixes, release and package flow cleanup, coverage report action replacement, secret scanning, and the musl test-job rewrite that removes dependence on GitHub's temporary Node 20 fallback inside Alpine job containers.It also carries the parser and regression-test work already merged through PR #61, plus the scoped sidebar scrollbar fix and the supporting repo instruction updates currently present on
develop.The branch conflicts for this promotion were resolved by merging the current
mastertip back intodevelopbefore opening this handoff.Screenshot (if UI related)
N/A
Issues Fixed or Closed by this PR
develop