From 5fa31feee240ae44f673a8ffd039dc8925ad0ec9 Mon Sep 17 00:00:00 2001 From: Kamron Batman <3953314+kamronbatman@users.noreply.github.com> Date: Sun, 26 Apr 2020 23:04:39 -0700 Subject: [PATCH] Adds analyzers to Circle CI (#116) --- .circleci/config.yml | 66 ++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 60 insertions(+), 6 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 0a1fa7a1b..153c89c80 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,22 +1,76 @@ version: 2.1 -jobs: - build: - description: Build application + +orbs: + win: circleci/windows@2.4.0 + +executors: + linux-build: + description: "Executor using Debian and .NET Core 3.1" docker: - image: mcr.microsoft.com/dotnet/core/sdk:3.1-buster working_directory: /mnt/ramdisk + +jobs: + build_linux: + description: Build ModernUO with Debian + executor: linux-build steps: + - run: rm -rf ~/project/.git # CircleCI git caching is likely broken - checkout - restore_cache: keys: - - dotnet-packages-v1-{{ checksum "Projects/Server/Server.csproj" }}-{{ checksum "Projects/Scripts/Scripts.csproj" }} + - dotnet-packages-linux-{{ checksum "Projects/Server/Server.csproj" }}-{{ checksum "Projects/Scripts/Scripts.csproj" }} - run: name: Install ModernUO dependencies command: dotnet restore - save_cache: paths: - ~/.nuget/packages - key: dotnet-packages-v1-{{ checksum "Projects/Server/Server.csproj" }}-{{ checksum "Projects/Scripts/Scripts.csproj" }} + key: dotnet-packages-linux-{{ checksum "Projects/Server/Server.csproj" }}-{{ checksum "Projects/Scripts/Scripts.csproj" }} - run: name: Building ModernUO for Linux (Debug) - command: dotnet build -c Debug /p:PublishProfile=Linux + command: dotnet build -c Release /p:PublishProfile=Linux + build_windows: + description: Build application + executor: win/default + steps: + - checkout + - restore_cache: + keys: + - dotnet-packages-windows-{{ checksum "Projects/Server/Server.csproj" }}-{{ checksum "Projects/Scripts/Scripts.csproj" }} + - run: + name: Install ModernUO dependencies + command: dotnet restore + - save_cache: + paths: + - ~/.nuget/packages + key: dotnet-packages-windows-{{ checksum "Projects/Server/Server.csproj" }}-{{ checksum "Projects/Scripts/Scripts.csproj" }} + - run: + name: Building ModernUO for Linux (Debug) + command: dotnet build -c Release /p:PublishProfile=Windows + code_styling: + description: Code analysis + executor: linux-build + steps: + - run: rm -rf ~/project/.git # CircleCI git caching is likely broken + - checkout + - restore_cache: + keys: + - dotnet-packages-linux-{{ checksum "Projects/Server/Server.csproj" }}-{{ checksum "Projects/Scripts/Scripts.csproj" }} + - run: + name: Install ModernUO dependencies + command: dotnet restore + - save_cache: + paths: + - ~/.nuget/packages + key: dotnet-packages-linux-{{ checksum "Projects/Server/Server.csproj" }}-{{ checksum "Projects/Scripts/Scripts.csproj" }} + - run: + name: Building with Analyzers + command: dotnet build -c Analyze /p:PublishProfile=Linux + +workflows: + build-and-test: + jobs: + - build_linux + - build_windows + - code_styling