96133dd083 | ||
---|---|---|
.devcontainer | ||
.github | ||
dist | ||
src | ||
tests | ||
.gitattributes | ||
.gitignore | ||
LICENSE.md | ||
README.md | ||
action.yml | ||
package-lock.json | ||
package.json | ||
tsconfig.json |
README.md
GitHub Action for .NET nanoFramework dependencies updater
This action installs the nanodu dotnet tool and udpates the NuGet packages and respective nuspec files in any .NET nanoFramework solutions living in a GitHub repository.
Inputs
Name | Default | Options | Description |
---|---|---|---|
workingDirectory |
root Repository workspace path | optional folder path | Use when targeting Solution file(s) other than in the repository root folder. |
branchToPr |
main | branch | Name of branch to which submit the PR with the updates. |
stablePackages |
true |
true /false |
Use true for stable NuGet package versions. |
previewPackages |
false |
true /false |
Use true for preview NuGet package versions. |
solutionsToCheck |
All | optional string path(s) | List of Solution(s) to update in the current workingDirectory . |
reposToUpdate |
None | optional repository names | List of (dependent upstream) repository(es) to update. [internal use only]. |
exclusionList |
None | optional solution list | List of solution(s) to exclude from update. Comma separated list. |
gitHubUser |
GitHub user for creating PR. | ||
gitHubEmail |
GitHub user email for creating PR. | ||
gitHubAuth |
GitHub Personal Access Token for creating PR. | ||
nugetConfig |
Path to nuget.config file to use for NuGet operations. | ||
repoOwner |
Repository owner on GitHhub. github.com/[repoOwner]/repositoryName. | ||
useTokenForClone |
Should use token for cloning repositories (required when working with private repositories). |
Example usage
Update dependencies of library in repository where this action is being executed using preview NuGet packages.
- uses: nanoframework/nanodu@v1
env:
GITHUB_TOKEN: ${{ github.token }}
with:
previewPackages: true
Update dependencies of amqp-nanoFramework.sln
solution using stable NuGet packages.
- uses: nanoframework/nanodu@v1
env:
GITHUB_TOKEN: ${{ github.token }}
with:
stablePackages: true
solutionsToCheck: 'amqp-nanoFramework.sln'
Update dependencies on several repositories using stable NuGet packages and a NuGet.config file.
- uses: nanoframework/nanodu@v1
env:
GITHUB_TOKEN: ${{ github.token }}
with:
stablePackages: true
nugetConfig: 'C:\repos\NuGet.config'
reposToUpdate: >
System.Net.Http
System.Net.WebSockets
System.Device.WiFi
nanoFramework.m2mqtt
nanoFramework.Azure.Devices
Update dependencies on all solutions, except MyLibrary
and MyOtherLibrary
, using preview NuGet packages.
- uses: nanoframework/nanodu@v1
env:
GITHUB_TOKEN: ${{ github.token }}
with:
previewPackages: true
solutionsToCheck: 'amqp-nanoFramework.sln'
exclusionList: 'MyLibrary,MyOtherLibrary'
Authentication
In order to run properly this action requires authentication. There are two ways to accomplish this:
- Setting up the GitHub token as an environment variable. There are numerous ways of doing this. On the examples above it's being set on the action itself. If that's done elsewhere before the action runs, there is no need to do it again.
- Passing a Personal Access Token in the
gitHubAuth
parameter. This is required if there are GitHub actions or workflows that run as consequence of that PR being created. This is because of a GitHub security feature that prevents recurring runs when using the repository default token. For more details please read the documentation here.
Feedback and documentation
For documentation, providing feedback, issues and finding out how to contribute please refer to the Home repo.
Join our Discord community here.
Credits
The list of contributors to this project can be found at CONTRIBUTORS.
License
The nanoFramework Class Libraries are licensed under the MIT license.
Code of Conduct
This project has adopted the code of conduct defined by the Contributor Covenant to clarify expected behaviour in our community. For more information see the .NET Foundation Code of Conduct.
.NET Foundation
This project is supported by the .NET Foundation.