Skip to content

Repo health: modernize deps, security, tests, docs - #3

Merged
hippi345 merged 1 commit into
masterfrom
cursor/repo-health-modernize-21d3
Sep 26, 2026
Merged

hippi345 merged 1 commit into
masterfrom
cursor/repo-health-modernize-21d3

Conversation

@hippi345

Copy link
Copy Markdown
Owner

Summary

Modernizes the AzCopyAndDelete C# console app from .NET Framework 4.6.1 with committed NuGet packages to a .NET 8 SDK-style solution with current Azure SDKs, offline unit tests, CI, and documentation.

Security

  • No committed secrets found in source history reviewed for this pass; credentials were only ever collected at runtime via console prompts.
  • Removed vendored packages/, bin/, and obj/ artifacts from version control.
  • Added .gitignore, SECURITY.md, and documented configuration via environment variables (no real secrets in repo).
  • Replaced deprecated WindowsAzure.Storage / Microsoft.WindowsAzure.Storage with Azure.Storage.Blobs 12.x.

Dependencies and runtime

  • Upgraded target framework from .NET Framework 4.6.1 to .NET 8.
  • Switched to SDK-style projects with NuGet restore (no packages.config).
  • Removed unused Microsoft.Azure.Storage.DataMovement dependency.
  • Added global.json and Directory.Build.props for consistent SDK/analyzer settings.

Working code

  • Preserved interactive backup flow: upload file to blob container, optional blob listing, optional local delete.
  • Added non-interactive mode via AZURE_* environment variables.
  • Validates source path exists before upload.
  • Project layout moved to src/AzCopyAndDelete/ with solution at repo root.

Tests and linting

  • Added 16 xUnit tests (mocked blob/local services; no Azure credentials required).
  • dotnet format enforced in CI; .editorconfig added.

CI

  • GitHub Actions workflow: restore, format check, build (Release), test on push and pull_request.

License

  • Added MIT License (copyright 2026 Joel Shearon); no prior LICENSE file existed.

README

  • New README with features, requirements, env var configuration, usage, test instructions, and project structure; CI and license badges.

General polish

  • .editorconfig, Dependabot for nuget and github-actions, removed dead build artifacts.

Verification

  • Local: dotnet build, dotnet test, dotnet format --verify-no-changes — all passing.

Owner actions

  • None required for leaked secrets from this review.
  • Install .NET 8 SDK locally to build; open solution AzCopyAndDelete.sln at repo root (old AzCopyAndDelete/AzCopyAndDelete.sln path removed).
Open in Web Open in Cursor 

- Replace legacy .NET Framework 4.6.1 project and committed NuGet packages
- Migrate to Azure.Storage.Blobs on .NET 8 with SDK-style projects
- Add unit tests, dotnet format, GitHub Actions, Dependabot, and docs
- Remove tracked bin/obj artifacts and add MIT license

Co-authored-by: Joel Town Road <vision2020joel@gmail.com>
@hippi345
hippi345 merged commit 72033f9 into master Sep 26, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants