diff --git a/.circleci/config.yml b/.circleci/config.yml index 8025091..96caae0 100755 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,41 +1,52 @@ version: 2.1 orbs: - win: circleci/windows@2.2.0 + win: circleci/windows@5.0.0 jobs: + build: + executor: win/default + steps: + - checkout + - run: + name: Restore packages + command: dotnet restore GrasshopperAsyncComponent.sln + - run: + name: Build solution + command: | + $TAG = if([string]::IsNullOrEmpty($env:CIRCLE_TAG)) { "0.999.$($env:WORKFLOW_NUM)-ci" } else { $env:CIRCLE_TAG } + dotnet build GrasshopperAsyncComponent.sln --no-restore -c Release /p:Version=$TAG /p:AssemblyVersionNumber=$TAG /p:AssemblyInformationalVersion=$TAG + environment: + WORKFLOW_NUM: << pipeline.number >> publish_nuget: executor: win/default steps: - checkout - run: - name: Set version env var + name: Restore packages + command: dotnet restore GrasshopperAsyncComponent.sln + - run: + name: Build solution command: | - $semver = if([string]::IsNullOrEmpty($env:CIRCLE_TAG)) { "0.0.999" } else { $env:CIRCLE_TAG } - $ver = if($semver.Contains('-')) {$semver.Split("-")[0] } else { $semver } - $version = "$($ver).$($env:WORKFLOW_NUM)" + $TAG = if([string]::IsNullOrEmpty($env:CIRCLE_TAG)) { "0.999.$($env:WORKFLOW_NUM)-ci" } else { $env:CIRCLE_TAG } + dotnet build GrasshopperAsyncComponent.sln --no-restore -c Release /p:Version=$TAG /p:AssemblyVersionNumber=$TAG /p:AssemblyInformationalVersion=$TAG environment: WORKFLOW_NUM: << pipeline.number >> - - run: - name: Restore packages - command: nuget restore GrasshopperAsyncComponent.sln - - run: - name: Build solution - command: msbuild GrasshopperAsyncComponent.sln /p:Configuration=Release /p:AssemblyVersionNumber=$version /p:AssemblyInformationalVersion=$semver /p:Version=$semver - - run: - name: Pack NuGet - command: cd GrasshopperAsyncComponent; nuget pack GrasshopperAsyncComponent.csproj -Prop Configuration=Release -Symbols -SymbolPackageFormat snupkg - run: name: Push NuGet - command: cd GrasshopperAsyncComponent; nuget push *.nupkg -Source https://api.nuget.org/v3/index.json -ApiKey $env:NUGET_APIKEY -SkipDuplicate + command: nuget push **/*.nupkg -Source https://api.nuget.org/v3/index.json -ApiKey $env:NUGET_APIKEY -SkipDuplicate workflows: + build: + jobs: + - build: + context: github-dev-bot publish: jobs: - publish_nuget: filters: tags: - only: /^v.*/ + only: /.*/ branches: ignore: /.*/ context: nuget diff --git a/GrasshopperAsyncComponent/GrasshopperAsyncComponent.csproj b/GrasshopperAsyncComponent/GrasshopperAsyncComponent.csproj index 7cceec3..df8c1ba 100755 --- a/GrasshopperAsyncComponent/GrasshopperAsyncComponent.csproj +++ b/GrasshopperAsyncComponent/GrasshopperAsyncComponent.csproj @@ -21,6 +21,10 @@ Apache-2.0 https://github.com/specklesystems/GrasshopperAsyncComponent grasshopper rhino mcneel gh_component + + true + snupkg + true