diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 0000000..a5e1415 --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,46 @@ +version: 2.1 + +defaults: &defaults + working_directory: ~/repo + docker: + - image: mcr.microsoft.com/dotnet/core/sdk:3.0 + environment: + DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 1 + DOTNET_CLI_TELEMETRY_OPTOUT: 1 + +jobs: + test: + <<: *defaults + steps: + - checkout + - run: dotnet restore + - run: dotnet build -c Release + - run: dotnet test -c Release + - persist_to_workspace: + root: . + paths: ./Curve/bin + + deploy: + <<: *defaults + steps: + - checkout + - attach_workspace: + at: . + - run: dotnet nuget push ./Curve/bin/Release/MoonTools.Core.Curve.*.nupkg -k $API_KEY -s https://api.nuget.org/v3/index.json + +workflows: + version: 2 + test_and_deploy: + jobs: + - test: + filters: + tags: + only: /.*/ + - deploy: + requires: + - test + filters: + branches: + ignore: /.*/ + tags: + only: /^\d+\.\d+\.\d+(-preview\d*)?$/