diff --git a/.github/workflows/dotnet.yml b/.github/workflows/dotnet.yml index e85121d..2193fd7 100644 --- a/.github/workflows/dotnet.yml +++ b/.github/workflows/dotnet.yml @@ -1,20 +1,22 @@ -name: .NET +name: Full Continuous Integration -on: - push: - branches: [ develop ] - pull_request: - branches: [ develop ] +on: [push, pull_request] jobs: - build: - - runs-on: ubuntu-latest + pack: + name: Build (${{ matrix.os }}) + runs-on: ${{ matrix.os }} env: DOTNET_CLI_TELEMETRY_OPTOUT: true - + + strategy: + matrix: + os: [ ubuntu-latest, windows-latest, macOS-latest ] + steps: - - uses: huaxk/postgis-action@v1 + - name: PostGis docker image + if: ${{ matrix.os == 'ubuntu-latest' }} + uses: huaxk/postgis-action@v1 with: # See https://https://hub.docker.com/r/mdillon/postgis for available versions, if it # is not specified, use the default value 'latest' @@ -32,14 +34,76 @@ jobs: # default database that is created when the image is first started. If it is not # specified, then the value of postgresql user will be used. postgresql db: 'postgis' - - uses: actions/checkout@v2 - - name: Setup .NET + + - name: Get source + uses: actions/checkout@v2 + + - name: Setup .NET Core 3.1 uses: actions/setup-dotnet@v1 with: - dotnet-version: 3.1.x - - name: Restore dependencies - run: dotnet restore + dotnet-version: 3.1.406 + - name: Build - run: dotnet build -c Release --no-restore + run: dotnet build -c Release -v minimal -p:WarningLevel=3 + - name: Test - run: dotnet test -c Release --no-build --verbosity normal + run: dotnet test -c Release --no-build -v normal + + - name: Pack + run: dotnet pack -c Release --no-build -o artifacts -p:NoWarn=NU5105 + + - name: Upload + uses: actions/upload-artifact@v2 + with: + name: NuGet Package Files (${{ matrix.os }}) + path: artifacts + + deployToMyGet: + name: Deploy to MyGet + runs-on: ubuntu-latest + + needs: pack + if: github.event_name == 'push' && (github.ref == 'refs/heads/develop' || github.ref == 'refs/heads/master') + + steps: + - name: Setup .NET Core 3.1 + uses: actions/setup-dotnet@v1 + with: + dotnet-version: 3.1.406 + + - name: Download Package Files + uses: actions/download-artifact@v2 + with: + name: NuGet Package Files (ubuntu-latest) + path: artifacts + + - name: Publish Package Files to MyGet + run: dotnet nuget push artifacts/*.nupkg -s https://www.myget.org/F/nettopologysuite/api/v3/index.json -k $MYGET_API_KEY + shell: bash + env: + MYGET_API_KEY: ${{ secrets.MYGET_API_KEY }} + + deployToNuGet: + name: Deploy to NuGet + runs-on: ubuntu-latest + + needs: pack + if: github.event_name == 'push' && github.ref == 'refs/heads/master' + + steps: + - name: Setup .NET Core 3.1 + uses: actions/setup-dotnet@v1 + with: + dotnet-version: 3.1.406 + + - name: Download Package Files + uses: actions/download-artifact@v2 + with: + name: NuGet Package Files (ubuntu-latest) + path: artifacts + + - name: Publish Package Files to NuGet + run: dotnet nuget push artifacts/*.nupkg -s https://api.nuget.org/v3/index.json -k $NUGET_API_KEY + shell: bash + env: + NUGET_API_KEY: ${{ secrets.NUGET_API_KEY }} diff --git a/Directory.Build.props b/Directory.Build.props index 8493c00..5648e06 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -6,6 +6,11 @@ 7.3 $(MSBuildThisFileDirectory)nts.snk + icon.png + + + + diff --git a/README.md b/README.md index 2815647..0263cb8 100644 --- a/README.md +++ b/README.md @@ -3,8 +3,8 @@ PostGis IO module for NTS. | Branch | Status | --- | --- -| develop | ![.NET](https://github.com/NetTopologySuite/NetTopologySuite.IO.PostGis/workflows/.NET/badge.svg?branch=develop) -| [master](https://github.com/NetTopologySuite/NetTopologySuite.IO.PostGis/tree/master) | ![.NET](https://github.com/NetTopologySuite/NetTopologySuite.IO.PostGis/workflows/.NET/badge.svg?branch=master) +| develop | ![.NET](https://github.com/NetTopologySuite/NetTopologySuite.IO.PostGis/actions/workflows/dotnet.yml/badge.svg?branch=develop) +| [master](https://github.com/NetTopologySuite/NetTopologySuite.IO.PostGis/tree/master) | ![.NET](https://github.com/NetTopologySuite/NetTopologySuite.IO.PostGis/actions/workflows/dotnet.yml/badge.svg?branch=master) ## Install with NuGet package manager diff --git a/icon.png b/icon.png new file mode 100644 index 0000000..8018227 Binary files /dev/null and b/icon.png differ diff --git a/src/Directory.Build.props b/src/Directory.Build.props index b98d13f..7070b15 100644 --- a/src/Directory.Build.props +++ b/src/Directory.Build.props @@ -30,6 +30,15 @@ ci.appveyor.$(APPVEYOR_BUILD_NUMBER) + + + true + true + ci.github.$(GITHUB_ACTION) + + true + + local @@ -38,7 +47,7 @@ 2 - 1 + 2 0 $([System.DateTime]::UtcNow.Ticks) diff --git a/src/NetTopologySuite.IO.PostGis/NetTopologySuite.IO.PostGis.csproj b/src/NetTopologySuite.IO.PostGis/NetTopologySuite.IO.PostGis.csproj index 796b919..644c78b 100644 --- a/src/NetTopologySuite.IO.PostGis/NetTopologySuite.IO.PostGis.csproj +++ b/src/NetTopologySuite.IO.PostGis/NetTopologySuite.IO.PostGis.csproj @@ -16,7 +16,6 @@ NetTopologySuite - Team NetTopologySuite - Team BSD-3-Clause - https://raw.githubusercontent.com/NetTopologySuite/GeoAPI/master/icon.png This package contains the IO library to cope with PostGis spatial data. NTS;PostGis