Skip to content

Modernize builds: add GitHub Actions CI, SDK-style projects, and extended .NET Framework targets#90

Merged
forcewake merged 4 commits intomasterfrom
codex/review-and-update-.net-project
Mar 1, 2026
Merged

Modernize builds: add GitHub Actions CI, SDK-style projects, and extended .NET Framework targets#90
forcewake merged 4 commits intomasterfrom
codex/review-and-update-.net-project

Conversation

@forcewake
Copy link
Owner

Motivation

  • Incrementally modernize the repository to enable usage from modern .NET runtimes while preserving legacy .NET Framework compatibility.
  • Provide reproducible CI coverage across the supported .NET Framework aliases and add a path to build SDK-style projects for .NET Core/.NET 8.0.
  • Document the intended modernization roadmap and migration strategy.

Description

  • Add a GitHub Actions workflow at .github/workflows/ci.yml that restores and builds the solution across a Windows matrix of framework aliases using nuget restore and msbuild, and builds SDK-style projects on ubuntu-latest using dotnet build.
  • Introduce SDK-style projects under src/*/*.Modern (FlatFile.Core.Modern, FlatFile.Core.Attributes.Modern, FlatFile.Delimited.Modern, FlatFile.FixedLength.Modern, FlatFile.Delimited.Attributes.Modern, FlatFile.FixedLength.Attributes.Modern) targeting netstandard2.0;net8.0 and compiling the existing source files.
  • Extend many legacy project files and the psake build script (assets/psake-common.ps1) to include additional framework aliases (NET451, NET452, NET46, NET461, NET462, NET47, NET471, NET472, NET48) to enable multi-target builds for .NET Framework consumers.
  • Add docs/modernization-plan.md, update README.md with modernization status, and add a small compatibility-related change to ParseLineException (serialization constructor wrapped with #pragma warning disable/restore SYSLIB0051).

Testing

  • No automated test suite was executed as part of this change; the contribution adds a CI workflow to run builds but the workflow has not been executed within this PR.
  • The intended automated build steps for CI are the nuget restore + msbuild matrix for legacy targets and dotnet build for the new SDK-style projects as defined in .github/workflows/ci.yml.

Codex Task

@forcewake forcewake merged commit 3597d47 into master Mar 1, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant