name: LCDLLN Build Pipeline on: push: branches: - main - develop schedule: - cron: "0 0 * * *" jobs: build-server: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Install Dependencies run: | sudo apt update sudo apt install -y build-essential cmake libssl-dev libmysqlcppconn-dev libargon2-0-dev libspdlog-dev libinih-dev - name: Build Server run: | mkdir -p build cd build cmake .. make -j$(nproc) - name: Package Server run: | mkdir -p package cp build/master_server package/ cp build/shard_server package/ cp -r config package/ tar czf lcdlln_server.tar.gz package - uses: actions/upload-artifact@v3 with: name: lcdlln_server path: lcdlln_server.tar.gz build-client: runs-on: windows-latest steps: - uses: actions/checkout@v3 - name: Install Dependencies run: choco install qt5-default cmake ninja - name: Build Client run: | mkdir build cd build cmake .. -G "Ninja" -DCMAKE_BUILD_TYPE=Release ninja - name: Package Client run: | mkdir package copy build\lcdlln.exe package\ xcopy /E /I config package\config powershell Compress-Archive -Path package\* -DestinationPath lcdlln_client.zip - uses: actions/upload-artifact@v3 with: name: lcdlln_client path: lcdlln_client.zip