-
Notifications
You must be signed in to change notification settings - Fork 31
74 lines (65 loc) · 2.35 KB
/
ci.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
name: Continuous Integration
on:
workflow_dispatch:
inputs:
push:
branches: [master, develop]
pull_request:
branches: [master, develop]
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [windows-latest, ubuntu-latest]
env:
DISPLAY: :99.0
steps:
- name: Checkout
uses: actions/[email protected]
- name: Install OpenGL in linux
run: |
sudo apt-get update
sudo apt-get install -y locate libgl1-mesa-dev libglfw3
Xvfb :99 &
if: matrix.os == 'ubuntu-latest'
- name: Install SegoeUI Emoji font in linux
run: |
sudo mkdir /usr/share/fonts/truetype/windows
sudo wget -O /usr/share/fonts/truetype/windows/seguiemj.ttf https://github.com/Vyshnav2255/Windows-11-Emojis-on-Linux/blob/main/seguiemj.ttf?raw=true
fc-cache -f
if: matrix.os == 'ubuntu-latest'
- name: Install OpenAl on linux
run: |
sudo apt-get install libopenal1 alsa-utils alsa-oss pulseaudio
sudo bash -c 'echo "autospawn = yes" >>/etc/pulse/client.conf'
pulseaudio --start
if: matrix.os == 'ubuntu-latest'
- name: Setup OpenGL on windows
run: ./.github/install-mesa-windows.ps1
if: matrix.os == 'windows-latest'
- name: Install OpenAl on windows
run: choco install openal
if: matrix.os == 'windows-latest'
- name: Setup .NET 7
uses: actions/setup-dotnet@v1
with:
dotnet-version: 7.0.x
include-prerelease: true
- name: Build
run: dotnet build ./OctoAwesome/OctoAwesome.sln --configuration Release
- name: Publish Client
run: dotnet publish ./OctoAwesome/OctoAwesome.Client/OctoAwesome.Client.csproj --configuration Release --output OctoAwesomeClient
- name: Upload Client
uses: actions/[email protected]
with:
name: OctoAwesomeClient-${{ matrix.os }}
path: OctoAwesomeClient/
- name: Publish Server
run: dotnet publish ./OctoAwesome/OctoAwesome.GameServer/OctoAwesome.GameServer.csproj --configuration Release --output OctoAwesomeServer
- name: Upload Server
uses: actions/[email protected]
with:
name: OctoAwesomeServer-${{ matrix.os }}
path: OctoAwesomeServer/