This directory contains GitHub-specific configuration files for CI/CD, issue templates, and automation.
Triggers: Push to main/develop, Pull requests, Manual dispatch
What it does:
- Builds the project on multiple OS (Ubuntu, Windows, macOS)
- Tests against .NET 6.0, 7.0, 8.0, and 9.0
- Runs code quality analysis
- Creates NuGet packages for main branch pushes
- Runs integration tests with Red Hat Data Grid
- Uploads code coverage reports
Matrix Strategy:
- Operating Systems: Ubuntu, Windows, macOS
- .NET Versions: 6.0.x, 7.0.x, 8.0.x, 9.0.x
Triggers: Release published, Manual dispatch
What it does:
- Builds the project
- Runs tests
- Creates NuGet package with version from tag or input
- Publishes to NuGet.org
- Uploads artifacts
Required Secrets:
NUGET_API_KEY- Your NuGet.org API key
Triggers: Push to main, Pull requests, Weekly schedule
What it does:
- Performs static code analysis for security vulnerabilities
- Scans for code quality issues
- Uploads results to GitHub Security tab
Triggers: Daily at midnight, Manual dispatch
What it does:
- Marks issues/PRs as stale after 60 days of inactivity
- Closes stale items after 14 additional days
- Exempts pinned, security, and enhancement labels
Automatically creates PRs to update:
- NuGet package dependencies (weekly)
- GitHub Actions versions (weekly)
Template for reporting bugs with:
- Environment details
- Steps to reproduce
- Expected vs actual behavior
- Logs and screenshots
Template for suggesting features with:
- Problem description
- Proposed solution
- Use case examples
- Willingness to contribute
Standard PR template including:
- Change description
- Type of change
- Testing details
- Checklist for contributors
Go to your repository Settings → Secrets and variables → Actions, and add:
NUGET_API_KEY=your-nuget-api-key
CODECOV_TOKEN=your-codecov-token (optional)
Workflows are automatically enabled when you push to GitHub. You can manage them in the Actions tab.
Recommended branch protection rules for main:
- Require pull request reviews before merging
- Require status checks to pass before merging:
Build and Test(all matrix combinations)Code Quality AnalysisIntegration Tests
- Require branches to be up to date before merging
- Require conversation resolution before merging
Dependabot is automatically enabled with the dependabot.yml configuration.
CodeQL is automatically enabled for security scanning.
Some workflows can be triggered manually:
- Go to Actions tab
- Select the workflow
- Click "Run workflow"
- Fill in required inputs (if any)
Add these badges to your README:
[](https://github.com/mohamedhabibwork/Volo.Habib.Abp.Caching.RedHatDataGrid/actions/workflows/ci.yml)
[](https://github.com/mohamedhabibwork/Volo.Habib.Abp.Caching.RedHatDataGrid/actions/workflows/release.yml)
[](https://github.com/mohamedhabibwork/Volo.Habib.Abp.Caching.RedHatDataGrid/actions/workflows/codeql.yml)View workflow runs and their status in the Actions tab of your repository.
Check the build logs for specific errors. You may need to:
- Update package versions for compatibility
- Add conditional compilation symbols
- Check API availability across versions
Ensure:
- Red Hat Data Grid service starts correctly
- Health check passes before tests run
- Connection parameters are correct
Check:
NUGET_API_KEYsecret is configured- Package version doesn't conflict with existing versions
- All required files are included in the package
When adding new workflows:
- Document them in this README
- Add appropriate status checks
- Test thoroughly before merging
- Update branch protection rules if needed