diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..649ee81 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,56 @@ +--- +image: mcr.microsoft.com/dotnet/core/sdk:3.0-alpine3.11 + + +variables: + OBJECTS_DIRECTORY: 'obj' + NUGET_PACKAGES_DIRECTORY: '.nuget' + SOURCE_CODE_PATH: 'ChaosBot/*/' + +stages: + - build + - test + +cache: + key: "$CI_JOB_STAGE-$CI_COMMIT_REF_SLUG" + paths: + # Specify three paths that should be cached: + # + # 1) Main JSON file holding information about package dependency tree, packages versions, + # frameworks etc. It also holds information where to the dependencies were restored. + - '$SOURCE_CODE_PATH$OBJECTS_DIRECTORY/project.assets.json' + # 2) Other NuGet and MSBuild related files. Also needed. + - '$SOURCE_CODE_PATH$OBJECTS_DIRECTORY/*.csproj.nuget.*' + # 3) Path to the directory where restored dependencies are kept. + - '$NUGET_PACKAGES_DIRECTORY' + # + policy: pull-push + +before_script: + - 'dotnet restore --packages $NUGET_PACKAGES_DIRECTORY' + +build: + stage: build + only: + changes: + - ChaosBot/**/* + refs: + - master + tags: + - docker + - hawkeye + script: + - 'dotnet build --no-restore' + +tests: + stage: test + only: + changes: + - ChaosBot/**/* + refs: + - master + tags: + - docker + - hawkeye + script: + - 'dotnet test --no-restore' diff --git a/README.md b/README.md new file mode 100644 index 0000000..cbf7190 --- /dev/null +++ b/README.md @@ -0,0 +1,4 @@ +[![pipeline status](http://git.chaoticlogic.us:8080/discord-bots/chaosbot/badges/master/pipeline.svg)](http://git.chaoticlogic.us:8080/discord-bots/chaosbot/-/commits/master) + +[![coverage report](http://git.chaoticlogic.us:8080/discord-bots/chaosbot/badges/master/coverage.svg)](http://git.chaoticlogic.us:8080/discord-bots/chaosbot/-/commits/master) +