dotnet-semantic-release
1.2.0
dotnet tool install --global dotnet-semantic-release --version 1.2.0
dotnet new tool-manifest
dotnet tool install --local dotnet-semantic-release --version 1.2.0
#tool dotnet:?package=dotnet-semantic-release&version=1.2.0
nuke :add-package dotnet-semantic-release --version 1.2.0
Semantic Release for .NET
A command-line tool for automating version management and package publishing following semantic versioning principles in .NET projects.
Features
- Automated version management based on commit messages
- Configurable release workflow
- CI/CD integration support
- Dry-run capability for testing
- Flexible configuration options
Installation
dotnet tool install --global dotnet-semantic-release
Usage
Basic usage:
dotnet-semantic-release
Command Line Options
--dry-run
: Run without making any changes--ci
: Run in CI mode--config-path
or-c
: Path to the configuration file--working-dir
or-w
: Path to the working directory (defaults to current directory)
Examples
Run in dry-run mode:
dotnet-semantic-release --dry-run
Specify a custom configuration file:
dotnet-semantic-release --config-path ./custom-config.json
Run in CI mode with a specific working directory:
dotnet-semantic-release --ci --working-dir ./my-project
Configuration
The tool can be configured using a JSON configuration file. By default, it looks for configuration in the working directory, but you can specify a custom path using the --config-path
option.
Default Configuration Location
The tool will look for configuration in the following locations:
- Custom path specified via
--config-path
- Working directory specified via
--working-dir
- Current directory (if no working directory specified)
CI/CD Integration
The tool provides built-in support for CI/CD environments through the --ci
flag. When running in CI mode, the tool adapts its behavior for automated environments.
Using in GitHub Actions
Example workflow:
name: Release
on:
push:
branches:
- main
jobs:
release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Setup .NET
uses: actions/setup-dotnet@v1
- name: Run Semantic Release
run: dotnet-semantic-release --ci
Development
Prerequisites
- .NET 8.0 SDK or later
- Git
Building from Source
git clone https://github.com/yourusername/dotnet-semantic-release.git
cd dotnet-semantic-release
dotnet build
Running Tests
dotnet test
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
This project is licensed under the terms found in the LICENSE file in the root directory.
Troubleshooting
If you encounter issues:
- Ensure you're using the latest version
- Try running with
--dry-run
first to test your configuration - Check that your working directory contains the necessary project files
- Verify your configuration file is properly formatted
Support
For issues and feature requests, please use the GitHub issue tracker.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
This package has no dependencies.
# [1.2.0](https://github.com/DuncanMcPherson/dotnet-semantic-release/compare/v1.1.1...v1.2.0) (2025-07-11)
### Features
* Add support for versioned plugins and dry-run ([b7d94c3](https://github.com/DuncanMcPherson/dotnet-semantic-release/commit/b7d94c30a4fa9877eadae1c153d1454572490d57))