diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 0000000..3bf160f --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,43 @@ +version: 2.1 + +defaults: &defaults + working_directory: ~/repo + docker: + - image: mcr.microsoft.com/dotnet/core/sdk:2.2 + 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: ./encompass-cs/bin + + deploy: + <<: *defaults + steps: + - checkout + - attach_workspace: + at: . + - run: dotnet nuget push ./encompass-cs/bin/Release/EncompassECS.Framework.*.nupkg -k $API_KEY -s $NUGET_SOURCE + +workflows: + version: 2 + test_and_deploy: + jobs: + - test + - deploy: + requires: + - test + filters: + branches: + ignore: /.*/ + tags: + only: /^[0-9]\.[0-9]\.[0-9]$/ diff --git a/TODO b/TODO index 8afe268..ff167bf 100644 --- a/TODO +++ b/TODO @@ -6,4 +6,6 @@ - maybe AddEngine should take a constructed engine similarly to AddComponent? +- component getters should return ValueTuple instead of KeyValuePair so we can do destructuring assignments + - docs