Skip to content

Commit f35702b

Browse files
committed
first commit
0 parents  commit f35702b

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

53 files changed

+4304
-0
lines changed

.clang-format

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
BasedOnStyle: Microsoft
3+
NamespaceIndentation: All
4+
AllowShortFunctionsOnASingleLine: All
5+
6+
...

.github/workflows/DocUpdate.yml

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
name: Doc Update
2+
3+
on:
4+
push:
5+
branches: ["main"]
6+
paths:
7+
- "Docs/**"
8+
- "README.md"
9+
10+
env:
11+
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
12+
BUILD_TYPE: Release
13+
14+
jobs:
15+
build:
16+
runs-on: ubuntu-latest
17+
18+
steps:
19+
- uses: actions/checkout@v3
20+
21+
- name: Update Documentation
22+
uses: dineshsonachalam/[email protected]
23+
with:
24+
output_file_paths: "[./README.md, ./Docs/DependencyInjection.md, ./Docs/Routing.md, ./Docs/Middlewares.md]"

.github/workflows/MacOs.yml

+126
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,126 @@
1+
name: MacOs
2+
3+
on:
4+
push:
5+
branches: ["main"]
6+
paths:
7+
- "Benchmarks/**"
8+
- "Cmake/**"
9+
- "Examples/**"
10+
- "Include/**"
11+
- "Source/**"
12+
- "Tests/**"
13+
- "CMakeLists.txt"
14+
- "conanfile.txt"
15+
16+
env:
17+
BUILD_TYPE: Release
18+
CONAN_USER_HOME: ~/
19+
CONAN_HOME_FOLDER: ~/.conan
20+
BUILD_FLAGS: -DBUILD_UNIT_TESTS:BOOL=ON -DBUILD_INTEGRATION_TESTS:BOOL=ON -DBUILD_BENCHMARKS:BOOL=ON -DBUILD_EXAMPLES:BOOL=ON
21+
22+
jobs:
23+
build:
24+
runs-on: macos-12
25+
26+
steps:
27+
- uses: actions/checkout@v3
28+
29+
- name: Install Conan
30+
run: sudo pip3 install conan
31+
32+
- name: Setup Conan
33+
run: conan config set storage.download_cache="${{ env.CONAN_HOME_FOLDER }}/download_cache"
34+
35+
- name: Cache Conan Packages
36+
uses: actions/cache@v3
37+
with:
38+
path: ${{ env.CONAN_HOME_FOLDER }}
39+
key: ${{ runner.os }}-build-conan-cache-${{ hashFiles('./conanfile.txt') }}
40+
41+
- name: Install Packages Using Conan
42+
run: mkdir build && cd ./build && conan install -s build_type=${{ env.BUILD_TYPE }} --build=missing ..
43+
44+
- name: Install Boost Url
45+
run: mkdir BoostUrl && cd ./BoostUrl && git clone https://github.com/boostorg/url.git
46+
47+
- name: Configure CMake
48+
run: cmake ${{ env.BUILD_FLAGS }} -B ./build -DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }}
49+
50+
- name: Build
51+
run: cmake --build ./build --config ${{ env.BUILD_TYPE }}
52+
53+
- name: Install
54+
run: cmake --install ./build --config ${{ env.BUILD_TYPE }}
55+
56+
- name: Pack Library
57+
run: cd ./build/publish/Library && tar -cvf MacOsLibrary.tar ./
58+
59+
- name: Pack Unit Tests
60+
run: cd ./build/publish/UnitTests && tar -cvf MacOsUnitTests.tar ./
61+
62+
- name: Pack Integration Tests
63+
run: cd ./build/publish/IntegrationTests && tar -cvf MacOsIntegrationTests.tar ./
64+
65+
- name: Pack Examples
66+
run: cd ./build/publish/Examples && tar -cvf MacOsExamples.tar ./
67+
68+
- name: Pack Benchmarks
69+
run: cd ./build/publish/Benchmarks && tar -cvf MacOsBenchmarks.tar ./
70+
71+
- name: Upload Library
72+
uses: actions/upload-artifact@v3
73+
with:
74+
name: MacOsLibrary
75+
path: ./build/publish/Library/MacOsLibrary.tar
76+
77+
- name: Upload Unit Tests
78+
uses: actions/upload-artifact@v3
79+
with:
80+
name: MacOsTests
81+
path: ./build/publish/UnitTests/MacOsUnitTests.tar
82+
83+
- name: Upload Integration Tests
84+
uses: actions/upload-artifact@v3
85+
with:
86+
name: MacOsTests
87+
path: ./build/publish/IntegrationTests/MacOsIntegrationTests.tar
88+
89+
- name: Upload Examples
90+
uses: actions/upload-artifact@v3
91+
with:
92+
name: MacOsExamples
93+
path: ./build/publish/Examples/MacOsExamples.tar
94+
95+
- name: Upload Benchmarks
96+
uses: actions/upload-artifact@v3
97+
with:
98+
name: MacOsBenchmarks
99+
path: ./build/publish/Benchmarks/MacOsBenchmarks.tar
100+
101+
test:
102+
needs: build
103+
runs-on: macos-12
104+
105+
steps:
106+
- name: Download Unit Tests
107+
uses: actions/download-artifact@v3
108+
with:
109+
name: MacOsUnitTests
110+
111+
- name: Unpack Unit Tests
112+
run: tar -xvf MacOsUnitTests.tar
113+
114+
- name: Run Unit Tests
115+
run: ./UnitTests
116+
117+
- name: Download Integration Tests
118+
uses: actions/download-artifact@v3
119+
with:
120+
name: MacOsIntegrationTests
121+
122+
- name: Unpack Integration Tests
123+
run: tar -xvf MacOsIntegrationTests.tar
124+
125+
- name: Run Integration Tests
126+
run: ./IntegrationTests

.github/workflows/Ubuntu.yml

+126
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,126 @@
1+
name: Ubuntu
2+
3+
on:
4+
push:
5+
branches: ["main"]
6+
paths:
7+
- "Benchmarks/**"
8+
- "Cmake/**"
9+
- "Examples/**"
10+
- "Include/**"
11+
- "Source/**"
12+
- "Tests/**"
13+
- "CMakeLists.txt"
14+
- "conanfile.txt"
15+
16+
env:
17+
BUILD_TYPE: Release
18+
CONAN_USER_HOME: ~/
19+
CONAN_HOME_FOLDER: ~/.conan
20+
BUILD_FLAGS: -DBUILD_UNIT_TESTS:BOOL=ON -DBUILD_INTEGRATION_TESTS:BOOL=ON -DBUILD_BENCHMARKS:BOOL=ON -DBUILD_EXAMPLES:BOOL=ON
21+
22+
jobs:
23+
build:
24+
runs-on: ubuntu-22.04
25+
26+
steps:
27+
- uses: actions/checkout@v3
28+
29+
- name: Install Conan
30+
run: sudo pip install conan
31+
32+
- name: Setup Conan
33+
run: conan config set storage.download_cache="${{ env.CONAN_HOME_FOLDER }}/download_cache"
34+
35+
- name: Cache Conan Packages
36+
uses: actions/cache@v3
37+
with:
38+
path: ${{ env.CONAN_HOME_FOLDER }}
39+
key: ${{ runner.os }}-build-conan-cache-${{ hashFiles('./conanfile.txt') }}
40+
41+
- name: Install Packages Using Conan
42+
run: mkdir build && cd ./build && conan install -s build_type=${{ env.BUILD_TYPE }} -s compiler.libcxx=libstdc++11 --build=missing ..
43+
44+
- name: Install Boost Url
45+
run: mkdir BoostUrl && cd ./BoostUrl && git clone https://github.com/boostorg/url.git
46+
47+
- name: Configure CMake
48+
run: cmake ${{ env.BUILD_FLAGS }} -B ./build -DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }}
49+
50+
- name: Build
51+
run: cmake --build ./build --config ${{ env.BUILD_TYPE }}
52+
53+
- name: Install
54+
run: cmake --install ./build --config ${{ env.BUILD_TYPE }}
55+
56+
- name: Pack Library
57+
run: cd ./build/publish/Library && tar -cvf UbuntuLibrary.tar ./
58+
59+
- name: Pack Unit Tests
60+
run: cd ./build/publish/UnitTests && tar -cvf UbuntuUnitTests.tar ./
61+
62+
- name: Pack Integration Tests
63+
run: cd ./build/publish/IntegrationTests && tar -cvf UbuntuIntegrationTests.tar ./
64+
65+
- name: Pack Examples
66+
run: cd ./build/publish/Examples && tar -cvf UbuntuExamples.tar ./
67+
68+
- name: Pack Benchmarks
69+
run: cd ./build/publish/Benchmarks && tar -cvf UbuntuBenchmarks.tar ./
70+
71+
- name: Upload Library
72+
uses: actions/upload-artifact@v3
73+
with:
74+
name: UbuntuLibrary
75+
path: ./build/publish/Library/UbuntuLibrary.tar
76+
77+
- name: Upload Unit Tests
78+
uses: actions/upload-artifact@v3
79+
with:
80+
name: UbuntuUnitTests
81+
path: ./build/publish/UnitTests/UbuntuUnitTests.tar
82+
83+
- name: Upload Integration Tests
84+
uses: actions/upload-artifact@v3
85+
with:
86+
name: UbuntuIntegrationTests
87+
path: ./build/publish/IntegrationTests/UbuntuIntegrationTests.tar
88+
89+
- name: Upload Examples
90+
uses: actions/upload-artifact@v3
91+
with:
92+
name: UbuntuExamples
93+
path: ./build/publish/Examples/UbuntuExamples.tar
94+
95+
- name: Upload Benchmarks
96+
uses: actions/upload-artifact@v3
97+
with:
98+
name: UbuntuBenchmarks
99+
path: ./build/publish/Benchmarks/UbuntuBenchmarks.tar
100+
101+
test:
102+
needs: build
103+
runs-on: ubuntu-22.04
104+
105+
steps:
106+
- name: Download Unit Tests
107+
uses: actions/download-artifact@v3
108+
with:
109+
name: UbuntuUnitTests
110+
111+
- name: Unpack Unit Tests
112+
run: tar -xvf UbuntuUnitTests.tar
113+
114+
- name: Run Unit Tests
115+
run: ./UnitTests
116+
117+
- name: Download Integration Tests
118+
uses: actions/download-artifact@v3
119+
with:
120+
name: UbuntuIntegrationTests
121+
122+
- name: Unpack Integration Tests
123+
run: tar -xvf UbuntuIntegrationTests.tar
124+
125+
- name: Run Integration Tests
126+
run: ./IntegrationTests

0 commit comments

Comments
 (0)