Skip to content

Commit 29c34ef

Browse files
azhirnovTheMostDiligent
authored andcommitted
added github actions CI
1 parent fa401e4 commit 29c34ef

7 files changed

Lines changed: 588 additions & 8 deletions

File tree

.github/workflows/android.yml

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
name: Android
2+
3+
on: [push, pull_request]
4+
5+
jobs:
6+
build:
7+
runs-on: ubuntu-latest
8+
name: Android
9+
10+
steps:
11+
- name: Clone repository
12+
uses: actions/checkout@v2
13+
with:
14+
submodules: recursive
15+
16+
- name: DiligentCore format validation
17+
shell: bash
18+
run: |
19+
cd $GITHUB_WORKSPACE/DiligentCore/BuildTools/FormatValidation
20+
./validate_format_linux.sh
21+
22+
- name: DiligentTools format validation
23+
shell: bash
24+
run: |
25+
cd $GITHUB_WORKSPACE/DiligentTools/BuildTools/FormatValidation
26+
./validate_format_linux.sh
27+
28+
- name: DiligentFX format validation
29+
shell: bash
30+
run: |
31+
cd $GITHUB_WORKSPACE/DiligentFX/BuildTools/FormatValidation
32+
./validate_format_linux.sh
33+
34+
- name: DiligentSamples format validation
35+
shell: bash
36+
run: |
37+
cd $GITHUB_WORKSPACE/DiligentSamples/BuildTools/FormatValidation
38+
./validate_format_linux.sh
39+
40+
- name: Set up Java 8
41+
if: success()
42+
uses: actions/setup-java@v1
43+
with:
44+
java-version: 8
45+
46+
- name: Build with Gradle
47+
if: success()
48+
run: |
49+
cd $GITHUB_WORKSPACE/DiligentSamples/Android
50+
chmod +x gradlew
51+
./gradlew buildDebug

.github/workflows/ios.yml

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
name: iOS
2+
3+
on: [push, pull_request]
4+
5+
jobs:
6+
build-ios-clang:
7+
strategy:
8+
matrix:
9+
config: [Debug, Release]
10+
11+
runs-on: macos-latest
12+
name: iOS, ${{ matrix.config }}
13+
14+
steps:
15+
- name: Clone repository
16+
uses: actions/checkout@v2
17+
with:
18+
submodules: recursive
19+
20+
- name: DiligentCore format validation
21+
shell: bash
22+
run: |
23+
cd $GITHUB_WORKSPACE/DiligentCore/BuildTools/FormatValidation
24+
./validate_format_mac.sh
25+
26+
- name: DiligentTools format validation
27+
shell: bash
28+
run: |
29+
cd $GITHUB_WORKSPACE/DiligentTools/BuildTools/FormatValidation
30+
./validate_format_mac.sh
31+
32+
- name: DiligentFX format validation
33+
shell: bash
34+
run: |
35+
cd $GITHUB_WORKSPACE/DiligentFX/BuildTools/FormatValidation
36+
./validate_format_mac.sh
37+
38+
- name: DiligentSamples format validation
39+
shell: bash
40+
run: |
41+
cd $GITHUB_WORKSPACE/DiligentSamples/BuildTools/FormatValidation
42+
./validate_format_mac.sh
43+
44+
- name: Download Vulkan SDK
45+
if: success()
46+
shell: bash
47+
run: |
48+
cd $GITHUB_WORKSPACE/DiligentCore/BuildTools/Scripts/github_actions
49+
chmod +x vulkan_sdk.sh
50+
./vulkan_sdk.sh
51+
52+
- name: Configure CMake
53+
if: success()
54+
shell: bash
55+
run: |
56+
cd $GITHUB_WORKSPACE/DiligentCore/BuildTools/Scripts/github_actions
57+
chmod +x configure_cmake.sh
58+
./configure_cmake.sh "ios" "${{runner.workspace}}" ${{ matrix.config }}
59+
60+
- name: Build
61+
if: success()
62+
working-directory: ${{runner.workspace}}/build
63+
shell: bash
64+
run: cmake --build . --config ${{ matrix.config }} -j2

.github/workflows/linux.yml

Lines changed: 137 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,137 @@
1+
name: Linux
2+
3+
on: [push, pull_request]
4+
5+
jobs:
6+
build-gcc-9:
7+
strategy:
8+
matrix:
9+
config: [Debug, Release]
10+
11+
runs-on: ubuntu-latest
12+
name: Linux x64, GCC 9, ${{ matrix.config }}
13+
14+
steps:
15+
- name: Clone repository
16+
uses: actions/checkout@v2
17+
with:
18+
submodules: recursive
19+
20+
- name: DiligentCore format validation
21+
shell: bash
22+
run: |
23+
cd $GITHUB_WORKSPACE/DiligentCore/BuildTools/FormatValidation
24+
./validate_format_linux.sh
25+
26+
- name: DiligentTools format validation
27+
shell: bash
28+
run: |
29+
cd $GITHUB_WORKSPACE/DiligentTools/BuildTools/FormatValidation
30+
./validate_format_linux.sh
31+
32+
- name: DiligentFX format validation
33+
shell: bash
34+
run: |
35+
cd $GITHUB_WORKSPACE/DiligentFX/BuildTools/FormatValidation
36+
./validate_format_linux.sh
37+
38+
- name: DiligentSamples format validation
39+
shell: bash
40+
run: |
41+
cd $GITHUB_WORKSPACE/DiligentSamples/BuildTools/FormatValidation
42+
./validate_format_linux.sh
43+
44+
- name: Configure dependencies
45+
if: success()
46+
run: |
47+
sudo apt-get install build-essential pkg-config libx11-dev libxcursor-dev \
48+
libxinerama-dev libgl1-mesa-dev libglu-dev libasound2-dev libpulse-dev libudev-dev libxi-dev libxrandr-dev yasm
49+
50+
- name: Configure CMake
51+
if: success()
52+
env:
53+
CC: gcc-9
54+
CXX: g++-9
55+
shell: bash
56+
run: |
57+
cd $GITHUB_WORKSPACE/DiligentCore/BuildTools/Scripts/github_actions
58+
chmod +x configure_cmake.sh
59+
./configure_cmake.sh "linux" "${{runner.workspace}}" ${{ matrix.config }}
60+
61+
- name: Build
62+
if: success()
63+
working-directory: ${{runner.workspace}}/build
64+
shell: bash
65+
run: cmake --build . --config ${{ matrix.config }} -j2
66+
67+
- name: DiligentCoreTest
68+
if: success()
69+
shell: bash
70+
run: ${{runner.workspace}}/build/DiligentCore/Tests/DiligentCoreTest/DiligentCoreTest
71+
72+
73+
build-clang-9:
74+
strategy:
75+
matrix:
76+
config: [Debug, Release]
77+
78+
runs-on: ubuntu-latest
79+
name: Linux x64, Clang 9, ${{ matrix.config }}
80+
81+
steps:
82+
- name: Clone repository
83+
uses: actions/checkout@v2
84+
with:
85+
submodules: recursive
86+
87+
- name: DiligentCore format validation
88+
shell: bash
89+
run: |
90+
cd $GITHUB_WORKSPACE/DiligentCore/BuildTools/FormatValidation
91+
./validate_format_linux.sh
92+
93+
- name: DiligentTools format validation
94+
shell: bash
95+
run: |
96+
cd $GITHUB_WORKSPACE/DiligentTools/BuildTools/FormatValidation
97+
./validate_format_linux.sh
98+
99+
- name: DiligentFX format validation
100+
shell: bash
101+
run: |
102+
cd $GITHUB_WORKSPACE/DiligentFX/BuildTools/FormatValidation
103+
./validate_format_linux.sh
104+
105+
- name: DiligentSamples format validation
106+
shell: bash
107+
run: |
108+
cd $GITHUB_WORKSPACE/DiligentSamples/BuildTools/FormatValidation
109+
./validate_format_linux.sh
110+
111+
- name: Configure dependencies
112+
if: success()
113+
run: |
114+
sudo apt-get install build-essential pkg-config libx11-dev libxcursor-dev \
115+
libxinerama-dev libgl1-mesa-dev libglu-dev libasound2-dev libpulse-dev libudev-dev libxi-dev libxrandr-dev yasm
116+
117+
- name: Configure CMake
118+
if: success()
119+
env:
120+
CC: clang-9
121+
CXX: clang++-9
122+
shell: bash
123+
run: |
124+
cd $GITHUB_WORKSPACE/DiligentCore/BuildTools/Scripts/github_actions
125+
chmod +x configure_cmake.sh
126+
./configure_cmake.sh "linux" "${{runner.workspace}}" ${{ matrix.config }}
127+
128+
- name: Build
129+
if: success()
130+
working-directory: ${{runner.workspace}}/build
131+
shell: bash
132+
run: cmake --build . --config ${{ matrix.config }} -j2
133+
134+
- name: DiligentCoreTest
135+
if: success()
136+
shell: bash
137+
run: ${{runner.workspace}}/build/DiligentCore/Tests/DiligentCoreTest/DiligentCoreTest

.github/workflows/macos.yml

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
name: MacOS
2+
3+
on: [push, pull_request]
4+
5+
jobs:
6+
build-macos-clang:
7+
strategy:
8+
matrix:
9+
config: [Debug, Release]
10+
11+
runs-on: macos-latest
12+
name: MacOS, ${{ matrix.config }}
13+
14+
steps:
15+
- name: Clone repository
16+
uses: actions/checkout@v2
17+
with:
18+
submodules: recursive
19+
20+
- name: DiligentCore format validation
21+
shell: bash
22+
run: |
23+
cd $GITHUB_WORKSPACE/DiligentCore/BuildTools/FormatValidation
24+
./validate_format_mac.sh
25+
26+
- name: DiligentTools format validation
27+
shell: bash
28+
run: |
29+
cd $GITHUB_WORKSPACE/DiligentTools/BuildTools/FormatValidation
30+
./validate_format_mac.sh
31+
32+
- name: DiligentFX format validation
33+
shell: bash
34+
run: |
35+
cd $GITHUB_WORKSPACE/DiligentFX/BuildTools/FormatValidation
36+
./validate_format_mac.sh
37+
38+
- name: DiligentSamples format validation
39+
shell: bash
40+
run: |
41+
cd $GITHUB_WORKSPACE/DiligentSamples/BuildTools/FormatValidation
42+
./validate_format_mac.sh
43+
44+
- name: Download Vulkan SDK
45+
if: success()
46+
shell: bash
47+
run: |
48+
cd $GITHUB_WORKSPACE/DiligentCore/BuildTools/Scripts/github_actions
49+
chmod +x vulkan_sdk.sh
50+
./vulkan_sdk.sh
51+
52+
- name: Configure CMake
53+
if: success()
54+
shell: bash
55+
run: |
56+
cd $GITHUB_WORKSPACE/DiligentCore/BuildTools/Scripts/github_actions
57+
chmod +x configure_cmake.sh
58+
./configure_cmake.sh "macos" "${{runner.workspace}}" ${{ matrix.config }}
59+
60+
- name: Build
61+
if: success()
62+
working-directory: ${{runner.workspace}}/build
63+
shell: bash
64+
run: cmake --build . --config ${{ matrix.config }} -j2
65+
66+
- name: DiligentCoreTest
67+
if: success()
68+
shell: bash
69+
run: ${{runner.workspace}}/build/DiligentCore/Tests/DiligentCoreTest/DiligentCoreTest

.github/workflows/uwp.yml

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
name: UWP
2+
3+
on: [push, pull_request]
4+
5+
jobs:
6+
build-uwp:
7+
strategy:
8+
matrix:
9+
toolset: [x64]
10+
config: [Debug, Release]
11+
12+
runs-on: windows-latest
13+
name: UWP, ${{ matrix.config }} ${{ matrix.toolset }}
14+
15+
steps:
16+
- name: Clone repository
17+
uses: actions/checkout@v2
18+
with:
19+
submodules: recursive
20+
21+
- name: DiligentCore format validation
22+
shell: cmd
23+
run: |
24+
cd "%GITHUB_WORKSPACE%\DiligentCore\BuildTools\FormatValidation"
25+
validate_format_win.bat
26+
27+
- name: DiligentTools format validation
28+
shell: cmd
29+
run: |
30+
cd "%GITHUB_WORKSPACE%\DiligentTools\BuildTools\FormatValidation"
31+
validate_format_win.bat
32+
33+
- name: DiligentFX format validation
34+
shell: cmd
35+
run: |
36+
cd "%GITHUB_WORKSPACE%\DiligentFX\BuildTools\FormatValidation"
37+
validate_format_win.bat
38+
39+
- name: DiligentSamples format validation
40+
shell: cmd
41+
run: |
42+
cd "%GITHUB_WORKSPACE%\DiligentSamples\BuildTools\FormatValidation"
43+
validate_format_win.bat
44+
45+
- name: Configure CMake
46+
if: success()
47+
shell: bash
48+
run: |
49+
cd $GITHUB_WORKSPACE/DiligentCore/BuildTools/Scripts/github_actions
50+
./configure_cmake.sh "uwp" "${{runner.workspace}}" ${{ matrix.config }} ${{ matrix.toolset }}
51+
52+
- name: Build
53+
if: success()
54+
working-directory: ${{runner.workspace}}/build
55+
shell: bash
56+
run: cmake --build . --config ${{ matrix.config }} -j2

0 commit comments

Comments
 (0)