diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md new file mode 100644 index 0000000..f6079cb --- /dev/null +++ b/.github/ISSUE_TEMPLATE.md @@ -0,0 +1,25 @@ +## Description + +[Description of the bug or feature] + +### Steps to Reproduce + +1. +2. + +### Related code + +``` +insert short code snippets here +``` + +**Expected behavior:** [What you expected to happen] + +**Actual behavior:** [What actually happened] + + + +## Specifications + +- .NET Version : 6.0.0 +- System : CentOS 7.2 diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..fefe846 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,33 @@ +name: Build + +on: + push: + branches: [ dev, main, master, '**' ] + pull_request: + branches: [ dev, main, master ] + +jobs: + + windows: + name: build on ${{ matrix.os }} + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ windows-latest ] + + steps: + - uses: actions/checkout@v2 + - name: Setup .NET SDK + uses: actions/setup-dotnet@v3 + with: + dotnet-version: | + 6.0.x + + - name: Show dotnet Version + run: | + dotnet --list-sdks + dotnet --list-runtimes + + - name: Build with dotnet + run: | + dotnet build --configuration Release D:\a\Dispose.Scope\Dispose.Scope\DisposeScope.sln \ No newline at end of file diff --git a/.github/workflows/buildandtest.yml b/.github/workflows/buildandtest.yml new file mode 100644 index 0000000..d8957a8 --- /dev/null +++ b/.github/workflows/buildandtest.yml @@ -0,0 +1,37 @@ +name: Build&Test + +on: + push: + branches: [ dev, main, master, '**' ] + pull_request: + branches: [ dev, main, master ] + +jobs: + + linux: + name: build and test on ${{ matrix.os }} + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ ubuntu-latest ] + + steps: + - uses: actions/checkout@v2 + - name: Setup .NET SDK + uses: actions/setup-dotnet@v3 + with: + dotnet-version: | + 6.0.x + + - name: Show dotnet Version + run: | + dotnet --list-sdks + dotnet --list-runtimes + + - name: Build with dotnet + run: | + dotnet build --configuration Release /home/runner/work/Dispose.Scope/Dispose.Scope/DisposeScope.sln + + - name: Run tests + run: | + dotnet test /home/runner/work/Dispose.Scope/Dispose.Scope/tests/Dispose.Scope.Tests/Dispose.Scope.Tests.csproj diff --git a/.github/workflows/release_stable.yml b/.github/workflows/release_stable.yml new file mode 100644 index 0000000..4ead113 --- /dev/null +++ b/.github/workflows/release_stable.yml @@ -0,0 +1,50 @@ +name: Release_Stable + +on: + push: + tags: + - "*.*.*-beta*" + - "*.*.*-rc*" + +jobs: + build_artifact: + name: Build and upload artifact + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v1 + - name: Setup .NET SDK + uses: actions/setup-dotnet@v3 + with: + dotnet-version: | + 6.0.x + - name: Build with dotnet + run: dotnet build --configuration Release /home/runner/work/Dispose.Scope/Dispose.Scope/DisposeScope.sln + - name: Pack with dotnet + env: + VERSION: ${{ github.ref_name }} + run: dotnet pack /home/runner/work/Dispose.Scope/Dispose.Scope/DisposeScope.sln --version-suffix $VERSION -o /home/runner/work/nugetpkgs -c Release --no-build + - name: Upload artifact + uses: actions/upload-artifact@v1 + with: + name: nugetpkgs + path: /home/runner/work/nugetpkgs + + release_nuget: + name: Release to Nuget + needs: build_artifact + runs-on: ubuntu-latest + + steps: + - name: Download build artifacts + uses: actions/download-artifact@v1 + with: + name: nugetpkgs + - name: list nugetpkgs + run: ls nugetpkgs + - name: Release + run: | + for file in nugetpkgs/*.nupkg + do + dotnet nuget push $file -k ${{ secrets.NUGET_API_KEY }} --skip-duplicate -s https://www.nuget.org/api/v2/package + done diff --git a/.github/workflows/release_unstable.yml b/.github/workflows/release_unstable.yml new file mode 100644 index 0000000..cc597ea --- /dev/null +++ b/.github/workflows/release_unstable.yml @@ -0,0 +1,51 @@ +name: Release_Unstable + +on: + push: + tags: + - "*.*.*" + - "!*.*.*-beta*" + - "!*.*.*-rc*" + +jobs: + build_artifact: + name: Build and upload artifact + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v1 + - name: Setup .NET SDK + uses: actions/setup-dotnet@v3 + with: + dotnet-version: | + 6.0.x + - name: Build with dotnet + run: dotnet build --configuration Release /home/runner/work/Dispose.Scope/Dispose.Scope/DisposeScope.sln + - name: Pack with dotnet + env: + VERSION: ${{ github.ref_name }} + run: dotnet pack /home/runner/work/Dispose.Scope/Dispose.Scope/DisposeScope.sln --version-suffix $VERSION -o /home/runner/work/nugetpkgs -c Release --no-build + - name: Upload artifact + uses: actions/upload-artifact@v1 + with: + name: nugetpkgs + path: /home/runner/work/nugetpkgs + + release_nuget: + name: Release to Nuget + needs: build_artifact + runs-on: ubuntu-latest + + steps: + - name: Download build artifacts + uses: actions/download-artifact@v1 + with: + name: nugetpkgs + - name: list nugetpkgs + run: ls nugetpkgs + - name: Release + run: | + for file in nugetpkgs/*.nupkg + do + dotnet nuget push $file -k ${{ secrets.NUGET_API_KEY }} --skip-duplicate -s https://www.nuget.org/api/v2/package + done \ No newline at end of file diff --git a/DisposeScope.sln b/DisposeScope.sln index 35dd5db..3552f2b 100644 --- a/DisposeScope.sln +++ b/DisposeScope.sln @@ -2,7 +2,7 @@ Microsoft Visual Studio Solution File, Format Version 12.00 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Dispose.Scope", "src\Dispose.Scope\Dispose.Scope.csproj", "{B976AB15-A442-440D-A5C1-FC19D1DDE964}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Sample", "Samples\Sample\Sample.csproj", "{0A12AE66-2DA0-4C07-879D-5A09E01E43CF}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Sample", "samples\Sample\Sample.csproj", "{0A12AE66-2DA0-4C07-879D-5A09E01E43CF}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Benchmark", "benchmarks\Benchmark\Benchmark.csproj", "{58CA15BC-A843-4013-B2F4-9D582F7827FC}" EndProject diff --git a/benchmarks/Benchmark.Aspnetcore/Benchmark.Aspnetcore.csproj b/benchmarks/Benchmark.AspNetCore/Benchmark.AspNetCore.csproj similarity index 100% rename from benchmarks/Benchmark.Aspnetcore/Benchmark.Aspnetcore.csproj rename to benchmarks/Benchmark.AspNetCore/Benchmark.AspNetCore.csproj diff --git a/benchmarks/Benchmark.Aspnetcore/FooController.cs b/benchmarks/Benchmark.AspNetCore/FooController.cs similarity index 100% rename from benchmarks/Benchmark.Aspnetcore/FooController.cs rename to benchmarks/Benchmark.AspNetCore/FooController.cs diff --git a/benchmarks/Benchmark.Aspnetcore/Program.cs b/benchmarks/Benchmark.AspNetCore/Program.cs similarity index 100% rename from benchmarks/Benchmark.Aspnetcore/Program.cs rename to benchmarks/Benchmark.AspNetCore/Program.cs diff --git a/benchmarks/Benchmark.Aspnetcore/Properties/launchSettings.json b/benchmarks/Benchmark.AspNetCore/Properties/launchSettings.json similarity index 100% rename from benchmarks/Benchmark.Aspnetcore/Properties/launchSettings.json rename to benchmarks/Benchmark.AspNetCore/Properties/launchSettings.json diff --git a/benchmarks/Benchmark.Aspnetcore/appsettings.Development.json b/benchmarks/Benchmark.AspNetCore/appsettings.Development.json similarity index 100% rename from benchmarks/Benchmark.Aspnetcore/appsettings.Development.json rename to benchmarks/Benchmark.AspNetCore/appsettings.Development.json diff --git a/benchmarks/Benchmark.Aspnetcore/appsettings.json b/benchmarks/Benchmark.AspNetCore/appsettings.json similarity index 100% rename from benchmarks/Benchmark.Aspnetcore/appsettings.json rename to benchmarks/Benchmark.AspNetCore/appsettings.json