diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
new file mode 100644
index 0000000..3ec3a1a
--- /dev/null
+++ b/.github/workflows/build.yml
@@ -0,0 +1,21 @@
+name: .NET Core
+
+on:
+ pull_request:
+ branches:
+ - master
+ - develop
+
+jobs:
+ build:
+
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v2
+ - name: Setup .NET Core
+ uses: actions/setup-dotnet@v1
+ - name: Build with dotnet
+ run: |
+ DOTNET_CLI_TELEMETRY_OPTOUT=1
+ dotnet build --nologo --configuration Release
diff --git a/.github/workflows/publish_ci.yml b/.github/workflows/publish_ci.yml
new file mode 100644
index 0000000..981637d
--- /dev/null
+++ b/.github/workflows/publish_ci.yml
@@ -0,0 +1,25 @@
+name: publish to MyGet
+
+on:
+ push:
+ branches:
+ - develop
+
+jobs:
+ build:
+
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v2
+ - name: Setup .NET Core
+ uses: actions/setup-dotnet@v1
+ - name: Build with dotnet
+ run: |
+ sed -i "s|\(.*\)|\1-ci-$GITHUB_RUN_ID|" StringBuilderExtensions\StringBuilderExtensions.csproj
+ dotnet pack --nologo --configuration Release -o nuget
+ - name: MyGet push
+ run: |
+ source=https://www.myget.org/F/xperiandri/api/v3/index.json
+ key=${{secrets.MyGet_Key}}
+ dotnet nuget push -s $source -k $key nuget/*.nupkg
diff --git a/.github/workflows/publish_release.yml b/.github/workflows/publish_release.yml
new file mode 100644
index 0000000..36c69ff
--- /dev/null
+++ b/.github/workflows/publish_release.yml
@@ -0,0 +1,32 @@
+name: publish to NuGet
+
+on:
+ push:
+ branches:
+ - master
+
+jobs:
+ publish:
+
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v2
+
+ # Required for a specific dotnet version that doesn't come with ubuntu-latest / windows-latest
+ # Visit bit.ly/2synnZl to see the list of SDKs that are pre-installed with ubuntu-latest / windows-latest
+ # - name: Setup dotnet
+ # uses: actions/setup-dotnet@v1
+ # with:
+ # dotnet-version: 3.1.100
+
+ # Publish
+ - name: publish on version change
+ uses: rohith/publish-nuget@v2
+ with:
+ PROJECT_FILE_PATH: StringBuilderExtensions\StringBuilderExtensions.csproj # Relative to repository root
+ # VERSION_FILE_PATH: Directory.Build.props # Filepath with version info, relative to repository root. Defaults to project file
+ # VERSION_REGEX: (.*)<\/Version> # Regex pattern to extract version info in a capturing group
+ # TAG_COMMIT: true # Flag to enable / disalge git tagging
+ # TAG_FORMAT: v* # Format of the git tag, [*] gets replaced with version
+ NUGET_KEY: ${{secrets.NuGet_Key}}
diff --git a/StringBuilderExtensions.sln b/StringBuilderExtensions.sln
index c848013..fc6caed 100644
--- a/StringBuilderExtensions.sln
+++ b/StringBuilderExtensions.sln
@@ -1,10 +1,21 @@
Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 2012
+# Visual Studio Version 16
+VisualStudioVersion = 16.0.29924.181
+MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StringBuilderExtensions", "StringBuilderExtensions\StringBuilderExtensions.csproj", "{01E836D1-40BF-49FA-9EE6-65EBB2F76650}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StringBuilderExtensionsTests", "StringBuilderExtensionsTests\StringBuilderExtensionsTests.csproj", "{054701DF-D8ED-434F-B708-075861F611D2}"
EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{407C25AD-A79E-442D-A1EF-8ED289439CC0}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "GitHub", "GitHub", "{7E7071CA-1460-450E-AFA2-4134C15080CA}"
+ ProjectSection(SolutionItems) = preProject
+ .github\workflows\build.yml = .github\workflows\build.yml
+ .github\workflows\publish_ci.yml = .github\workflows\publish_ci.yml
+ .github\workflows\publish_release.yml = .github\workflows\publish_release.yml
+ EndProjectSection
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -23,6 +34,9 @@ Global
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {92E327E4-BB79-41E9-88DE-65B35B27DE11}
+ EndGlobalSection
GlobalSection(CodealikeProperties) = postSolution
SolutionGuid = 5cf8613c-3894-430a-b76a-6b74315e9732
EndGlobalSection