Skip to content

Merge pull request #1356 from Sphereserver/dev #162

Merge pull request #1356 from Sphereserver/dev

Merge pull request #1356 from Sphereserver/dev #162

name: Windows x86_64
on:
push:
branches:
- 'master'
- 'main'
- 'dev'
pull_request:
branches:
- 'master'
- 'main'
- 'dev'
jobs:
windows-x86_64:
runs-on: windows-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Add msbuild to PATH
uses: microsoft/setup-msbuild@v2
- name: CMake
run: cmake -G "Visual Studio 17 2022" .\
- name: MSBuild
run: msbuild SphereServer.sln /verbosity:minimal /maxcpucount /p:Configuration=Nightly
- name: Create package
run: |
pwd
mkdir accounts, logs, save, scripts
7z a SphereSvrX-win-x86_64-nightly.zip accounts\ logs\ save\ scripts\ .\bin-x86_64\Nightly\SphereSvrX64_nightly.exe .\src\sphere.ini .\src\sphereCrypt.ini .\lib\_bin\x86_64\mariadb\libmariadb.dll
# Upload artifact linked to the workflow run - only if the run is for a pull request, or for selected branches
- name: Upload artifact
if: contains(fromJson('["master", "main", "dev"]'), github.ref_name) || ${{ github.event_name == 'pull_request' }}
uses: actions/upload-artifact@v4
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
name: Build-win-x86_64
path: SphereSvrX-win-x86_64-nightly.zip
overwrite: true
upload_github_release:
needs: windows-x86_64
# Upload artifact linked to GitHub RELEASE we are creating - only if the run is for a pull request, or for selected branches
if: contains(fromJson('["master", "main"]'), github.ref_name)
runs-on: ubuntu-latest
steps:
- name: Download builds
uses: actions/download-artifact@v4
with:
name: Build-win-x86_64
merge-multiple: true
run-id: ${{ github.run_id }}
- name: Create release
uses: softprops/action-gh-release@v2
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
name: Nightly
tag_name: Nightly
prerelease: true
files: SphereSvrX-win-x86_64-nightly.zip
upload_selfhost_release:
needs: windows-x86_64
if: contains(fromJson('["master", "main"]'), github.ref_name) && (github.repository == 'SphereServer/Source-X')
runs-on: ubuntu-latest
steps:
- name: Download builds
uses: actions/download-artifact@v4
with:
name: Build-win-x86_64
merge-multiple: true
run-id: ${{ github.run_id }}
- name: Push release
run: |
curl -sST "{SphereSvrX-win-x86_64-nightly.zip}" -u ${{secrets.UP_USER}}:${{secrets.UP_PASS}} ${{secrets.UP_WHERE}}