This directory contains the CI/CD workflows and configuration for the Oproto.FluentDynamoDb project.
build.yml- Build validation across multiple platforms (Linux, Windows, macOS)test.yml- Unit and integration tests with code coveragerelease.yml- Automated package building and GitHub release creationpr-validation.yml- Comprehensive PR validation including changelog checksfailure-notification.yml- Automatic issue creation for workflow failures
See BRANCH_PROTECTION_SETUP.md for detailed setup instructions.
Quick link: Navigate to Settings → Branches in your repository.
- Build workflow configured
- Test workflow configured
- Release workflow configured
- PR validation workflow configured
- Failure notification workflow configured
- Branch protection rules configured (requires manual setup)
- Dependabot configured (optional)
- Status badges added to README (optional)
- BRANCH_PROTECTION_SETUP.md - Step-by-step guide for configuring branch protection
- MANUAL_SETUP_REQUIRED.md - Overview of manual configuration steps
- Push to
mainordevelop - Pull requests to
mainordevelop - Manual dispatch
- Push to
mainordevelop - Pull requests to
mainordevelop - Called by PR validation workflow
- Manual dispatch
- Push of version tags matching
v*.*.*(e.g.,v1.0.0,v1.2.3-beta.1)
- Pull request opened, synchronized, or reopened
- Targets
mainordevelop
- Any workflow failure on
mainordevelopbranches
The following status checks are configured in the workflows:
Build:
build (ubuntu-latest)build (windows-latest)build (macos-latest)
Unit Tests:
unit-tests (ubuntu-latest)unit-tests (windows-latest)unit-tests (macos-latest)
Integration Tests:
integration-tests (ubuntu-latest)integration-tests (windows-latest)integration-tests (macos-latest)
PR Validation:
validate-pr
These status check names must be added to branch protection rules for enforcement.
- Update CHANGELOG.md with version changes
- Commit changelog updates
- Create and push version tag:
git tag v1.0.0 && git push origin v1.0.0 - Release workflow automatically:
- Validates tag format
- Builds NuGet packages
- Creates GitHub Release
- Attaches packages to release
- Manually publish packages to NuGet.org (future: automate)
- Check that workflows are enabled in repository settings
- Verify trigger conditions match your branch/tag names
- Check workflow run history for errors
- Workflows must run at least once before status checks appear
- Create a test PR to trigger workflows
- Wait for completion, then check branch protection settings
- Review workflow logs for detailed error messages
- Check DynamoDB Local logs for integration test failures
- Verify all dependencies are properly installed
For issues with workflows or CI/CD setup:
- Check the troubleshooting sections in workflow documentation
- Review GitHub Actions logs for detailed error messages
- Create an issue in the repository with workflow run links