95 lines
3.4 KiB
YAML
95 lines
3.4 KiB
YAML
version: 2.1
|
|
|
|
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-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 ModernUO for Linux (Debug)
|
|
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 Windows (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
|
|
tests:
|
|
description: Unit Tests
|
|
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: Running unit tests
|
|
command: dotnet test
|
|
workflows:
|
|
build-and-test:
|
|
jobs:
|
|
- build_linux
|
|
- build_windows
|
|
- code_styling
|
|
- tests
|