feat(crdt): Add container-agnostic element insertion #39
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
push: | |
branches: [ master ] | |
pull_request: | |
branches: [ master ] | |
jobs: | |
build-and-test-ubuntu: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Install g++ and clang | |
run: sudo apt-get update && sudo apt-get install -y g++ clang | |
- name: Compile and Run C++ Tests (Debug - GCC) | |
run: | | |
g++ -std=c++20 -g -o crdt tests.cpp && ./crdt | |
g++ -std=c++20 -g -o list-crdt list_tests.cpp && ./list-crdt | |
- name: Compile and Run C++ Tests (Release - GCC) | |
run: | | |
g++ -std=c++20 -O3 -DNDEBUG -o crdt_release tests.cpp && ./crdt_release | |
g++ -std=c++20 -O3 -DNDEBUG -o list-crdt_release list_tests.cpp && ./list-crdt_release | |
- name: Compile and Run C++ Tests (Debug - Clang) | |
run: | | |
clang++ -std=c++20 -g -o crdt_clang tests.cpp && ./crdt_clang | |
clang++ -std=c++20 -g -o list-crdt_clang list_tests.cpp && ./list-crdt_clang | |
- name: Compile and Run C++ Tests (Release - Clang) | |
run: | | |
clang++ -std=c++20 -O3 -DNDEBUG -o crdt_clang_release tests.cpp && ./crdt_clang_release | |
clang++ -std=c++20 -O3 -DNDEBUG -o list-crdt_clang_release list_tests.cpp && ./list-crdt_clang_release | |
- name: Setup .NET | |
uses: actions/setup-dotnet@v1 | |
with: | |
dotnet-version: '8.0.x' | |
- name: Restore dependencies | |
run: dotnet restore | |
- name: Build C# project | |
run: dotnet build --no-restore | |
- name: Run C# Tests | |
run: dotnet run --project crdt-lite.csproj | |
build-and-test-windows: | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Add MSBuild to PATH | |
uses: microsoft/[email protected] | |
- name: Setup Developer Command Prompt | |
uses: ilammy/msvc-dev-cmd@v1 | |
- name: Install LLVM and Clang | |
uses: crazy-max/ghaction-chocolatey@v2 | |
with: | |
args: install llvm | |
- name: Compile and Run C++ Tests with MSVC (Debug) | |
run: | | |
cl.exe /std:c++20 /EHsc /Fe:crdt.exe tests.cpp && .\crdt.exe | |
cl.exe /std:c++20 /EHsc /Fe:list-crdt.exe list_tests.cpp && .\list-crdt.exe | |
shell: cmd | |
- name: Compile and Run C++ Tests with MSVC (Release) | |
run: | | |
cl.exe /std:c++20 /EHsc /O2 /DNDEBUG /Fe:crdt_release.exe tests.cpp && .\crdt_release.exe | |
cl.exe /std:c++20 /EHsc /O2 /DNDEBUG /Fe:list-crdt_release.exe list_tests.cpp && .\list-crdt_release.exe | |
shell: cmd | |
- name: Compile and Run C++ Tests with Clang (Debug) | |
run: | | |
clang++ -std=c++20 -g -o crdt_clang.exe tests.cpp && .\crdt_clang.exe | |
clang++ -std=c++20 -g -o list-crdt_clang.exe list_tests.cpp && .\list-crdt_clang.exe | |
shell: cmd | |
- name: Compile and Run C++ Tests with Clang (Release) | |
run: | | |
clang++ -std=c++20 -O3 -DNDEBUG -o crdt_clang_release.exe tests.cpp && .\crdt_clang_release.exe | |
clang++ -std=c++20 -O3 -DNDEBUG -o list-crdt_clang_release.exe list_tests.cpp && .\list-crdt_clang_release.exe | |
shell: cmd | |
- name: Setup .NET | |
uses: actions/setup-dotnet@v1 | |
with: | |
dotnet-version: '8.0.x' | |
- name: Restore dependencies | |
run: dotnet restore | |
- name: Build C# project | |
run: dotnet build --no-restore | |
- name: Run C# Tests | |
run: dotnet run --project crdt-lite.csproj |