Shared github actions for public repos in MagmaWorks.
Three workflows are available: On Pull Request, On Merge to Main and On Release.
Accepted inputs (all optional) are:
codecov: false
(default = true) - set if the workflow shall upload test coverage reports to codecov.iolint: false
(default = true) - set if the workflow shall lint (auto-fix errors and style) usingdotnet format
dotnet: '8.0.x'
(default not set) - set if the workflow shall install a specific dotnet version
- Lint (auto-fix errors and style)
- Setup dotnet (optional)
- Lint (optional)
- Build and test project
- Setup dotnet (optional)
- Build project in release
dotnet build --configuration Release
- Test project in release
- Upload coverage reports to workflow as artifacts
- Upload coverage reports to codecov.io (optional)
- Download coverage reports from workflow artifacts
- Upload coverage reports to codecov.io
Accepted inputs (all optional) are:
codecov: false
(default = true) - set if the workflow shall upload test coverage reports to codecov.io(https://github.com/MagmaWorks/Actions/blob/main/.github/workflows/on-pull-request.yml)dotnet: '8.0.x'
(default not set) - set if the workflow shall install a specific dotnet version
- Build, test, package and create release
- Setup dotnet (optional)
- Build project in release
- Test project in release
- Upload coverage reports to workflow as artifacts
- Package project
- Get version from Package name
- Create and push new Major.Minor.Patch.Build tag
- Create new draft release
- Upload coverage reports to codecov.io (optional)
- Download coverage reports from workflow artifacts
- Upload coverage reports to codecov.io
Accepted inputs (all optional) are:
codecov: false
(default = true) - set if the workflow shall upload test coverage reports to codecov.io(https://github.com/MagmaWorks/Actions/blob/main/.github/workflows/on-pull-request.yml)dotnet: '8.0.x'
(default not set) - set if the workflow shall install a specific dotnet version
- Tag version
- Strip Build from Tag version (
4.3.2.1
=>4.3.2
) - Create and push new Major.Minor.Patch git tag
- Strip Build from Tag version (
- Build, test, package and create release
- Setup dotnet (optional)
- Build project in release
- Test project in release
- Upload coverage reports to workflow as artifacts
- Package project
- Update draft release to latest, non-draft
- Push nupkg file to nuget.org
- Delete previous draft releases
- Upload coverage reports to codecov.io (optional)
- Download coverage reports from workflow artifacts
- Upload coverage reports to codecov.io