This directory contains the GitHub Actions workflows for the PQSoft API Test Support libraries.
Triggers:
- Push to
mainbranch - Pull requests to
mainbranch
Actions:
- Restores dependencies
- Builds all projects in Release configuration
- Runs all unit tests
- Collects code coverage
- Uploads test results as artifacts
Triggers:
- GitHub releases (when a release is published)
- Manual workflow dispatch (allows specifying version)
Packages Created:
PQSoft.JsonComparer- Core JSON comparison libraryPQSoft.HttpFile- HTTP file parsing libraryPQSoft.JsonComparer.AwesomeAssertions- AwesomeAssertions extensions
Actions:
- Builds all projects in Release configuration
- Runs all tests to ensure quality
- Packages all non-test projects into NuGet packages
- Publishes packages to NuGet.org
- Uploads package artifacts
To publish packages to NuGet.org, you need to set up a repository secret:
- Go to your repository's Settings > Secrets and variables > Actions
- Add a new repository secret named
NUGET_API_KEY - Set the value to your NuGet.org API key
- Go to your repository on GitHub
- Click "Releases" → "Create a new release"
- Create a new tag (e.g.,
v1.0.0) - Fill in the release title and description
- Click "Publish release"
- The workflow will automatically trigger and publish packages with the version from the tag
- Go to Actions tab in your repository
- Select "Publish NuGet Packages" workflow
- Click "Run workflow"
- Specify the version number (e.g.,
1.0.0) - Click "Run workflow"
- The workflow automatically extracts version from Git tags (removes 'v' prefix if present)
- For manual dispatch, you can specify any semantic version
- All three packages will use the same version number
- Packages are built with
--skip-duplicateto avoid conflicts
Each package includes:
- Proper semantic versioning
- Author and company information
- Comprehensive descriptions
- Relevant tags for discoverability
- Repository links
- MIT license information
- README file references
Both workflows upload artifacts:
- Build and Test: Test results and coverage reports
- Publish: Generated NuGet package files (.nupkg)
These artifacts are available for download from the workflow run page for 90 days.