HISP/.github/workflows/build.yml
SilicaAndPina 885d3a3c57 update all
2022-04-17 20:07:56 +12:00

205 lines
5.9 KiB
YAML

name: build
on:
push:
branches: [ master ]
defaults:
run:
working-directory: ./HorseIsleServer
jobs:
build:
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Git Submodule update
run: git submodule update --init --recursive
- name: Setup .NET
uses: actions/setup-dotnet@v1
with:
dotnet-version: 7.0.x
include-prerelease: true
- name: Setup WSL
uses: Vampire/setup-wsl@v1.2.0
- name: Restore dependencies
run: dotnet restore
- name: Build win-x64
continue-on-error: false
run: |
dotnet publish -p:PublishProfile=Win64.pubxml
- name: Build win-x86
continue-on-error: false
run: |
dotnet publish -p:PublishProfile=Win32.pubxml
- name: Build win-arm
continue-on-error: false
run: |
dotnet publish -p:PublishProfile=WinARM.pubxml
- name: Build win-arm64
continue-on-error: false
run: |
dotnet publish -p:PublishProfile=WinARM64.pubxml
- name: Build linux-x64
continue-on-error: false
run: |
dotnet publish -p:PublishProfile=Linux64.pubxml
- name: Build linux-arm
continue-on-error: false
run: |
dotnet publish -p:PublishProfile=LinuxARM.pubxml
- name: Build linux-arm64
continue-on-error: false
run: |
dotnet publish -p:PublishProfile=LinuxARM64.pubxml
- name: Build mac-x64
continue-on-error: false
run: |
dotnet publish -p:PublishProfile=Osx64.pubxml
- name: Build mac-arm64
continue-on-error: false
run: |
dotnet publish -p:PublishProfile=OsxARM64.pubxml
# - name: Build android-arm
# continue-on-error: false
# run: |
# dotnet publish -p:PublishProfile=AndroidARM.pubxml
# - name: Build android-arm64
# continue-on-error: false
# run: |
# dotnet publish -p:PublishProfile=AndroidARM64.pubxm
- name: Create Debian Package
continue-on-error: false
shell: wsl-bash -u root {0}
run: |
mkdir Debian64
mkdir Debian64/etc
mkdir Debian64/usr
mkdir Debian64/etc/hisp
mkdir Debian64/etc/systemd
mkdir Debian64/etc/systemd/system
mkdir Debian64/usr/bin
mkdir Debian64/usr/lib
mkdir Debian64/DEBIAN
cp -r HISPd/Resources/DEBIAN/* Debian64/DEBIAN
chmod +x Debian64/DEBIAN/postinst
chmod +x Debian64/DEBIAN/postrm
cp HISPd/bin/x64/Linux/net7.0/linux-x64/publish/HISPd Debian64/usr/bin/HISPd
chmod +x Debian64/usr/bin/HISPd
cp HISPd/bin/x64/Linux/net7.0/linux-x64/publish/libe_sqlite3.so Debian64/usr/lib/libe_sqlite3.so
cp HISPd/bin/x64/Linux/net7.0/linux-x64/publish/HI1.MAP Debian64/etc/hisp/HI1.MAP
cp HISPd/bin/x64/Linux/net7.0/linux-x64/publish/server.properties Debian64/etc/hisp/server.properties
cp HISPd/bin/x64/Linux/net7.0/linux-x64/publish/CrossDomainPolicy.xml Debian64/etc/hisp/CrossDomainPolicy.xml
cp HISPd/bin/x64/Linux/net7.0/linux-x64/publish/gamedata.json Debian64/etc/hisp/gamedata.json
dpkg-deb --build Debian64
- name: Upload win-x64
uses: actions/upload-artifact@v2
with:
name: HISP-Win64
path: HorseIsleServer\HISPd\bin\x64\Windows\net7.0\win-x64\publish\
- name: Upload win-x86
uses: actions/upload-artifact@v2
with:
name: HISP-Win32
path: HorseIsleServer\HISPd\bin\x86\Windows\net7.0\win-x86\publish\
- name: Upload win-arm
uses: actions/upload-artifact@v2
with:
name: HISP-WinARM
path: HorseIsleServer\HISPd\bin\arm\Windows\net7.0\windows-arm\publish\
- name: Upload win-arm64
uses: actions/upload-artifact@v2
with:
name: HISP-WinARM64
path: HorseIsleServer\HISPd\bin\arm64\Windows\net7.0\windows-arm64\publish\
- name: Upload win-x86-noobs
uses: actions/upload-artifact@v2
with:
name: HISP-Win32-Noobs
path: HorseIsleServer\N00BS\bin\x86\Windows\net7.0\win-x86\publish\
- name: Upload win-x64-noobs
uses: actions/upload-artifact@v2
with:
name: HISP-Win64-Noobs
path: HorseIsleServer\N00BS\bin\x64\Windows\net7.0\win-x64\publish\
- name: Upload linux-x64
uses: actions/upload-artifact@v2
with:
name: HISP-Linux64
path: HorseIsleServer/HISPd/bin/x64/Linux/net7.0/linux-x64/publish/
- name: Upload linux-arm
uses: actions/upload-artifact@v2
with:
name: HISP-LinuxARM
path: HorseIsleServer/HISPd/bin/ARM/Linux/net7.0/linux-arm/publish/
- name: Upload linux-arm64
uses: actions/upload-artifact@v2
with:
name: HISP-LinuxARM64
path: HorseIsleServer/HISPd/bin/ARM64/Linux/net7.0/linux-arm64/publish/
- name: Upload mac-x64
uses: actions/upload-artifact@v2
with:
name: HISP-Mac64
path: HorseIsleServer/HISPd/bin/x64/MacOS/net7.0/osx-x64/publish/
- name: Upload mac-arm64
uses: actions/upload-artifact@v2
with:
name: HISP-MacARM64
path: HorseIsleServer/HISPd/bin/arm64/MacOS/net7.0/osx-arm64/publish/
# - name: Upload android-arm
# uses: actions/upload-artifact@v2
# with:
# name: HISP-AndroidARM
# path: HorseIsleServer/HISPd/bin/arm/Android/net7.0/android-arm/publish/
# - name: Upload android-arm64
# uses: actions/upload-artifact@v2
# with:
# name: HISP-AndroidARM64
# path: HorseIsleServer/HISPd/bin/arm64/Android/net7.0/android-arm64/publish/
- name: Upload Website (master)
uses: actions/upload-artifact@v2
with:
name: HISP-Web-Master
path: HorseIsleWeb/master-site
- name: Upload Website (game)
uses: actions/upload-artifact@v2
with:
name: HISP-Web-Game
path: HorseIsleWeb/game-site