When saving bots, write to temp file first instead of writing directl… #148
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build latest | |
# trigger via either push to selected branches or on manual run | |
on: | |
push: | |
branches: | |
- master | |
- ConsoleDriver | |
workflow_dispatch: | |
concurrency: | |
group: ${{ github.ref }}-latest | |
cancel-in-progress: true | |
jobs: | |
#============================================ | |
# ============== .NET 2.0 BUILD ============= | |
# =========================================== | |
build-mono2: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Compile MCGalaxy using mono | |
shell: bash | |
id: compile | |
run: | | |
msbuild MCGalaxy.sln /p:Configuration=Release /p:TargetFrameworkVersion=v2.0 /p:DefineConstants="NET_20" | |
- uses: ./.github/actions/notify_failure | |
if: ${{ always() && steps.compile.outcome == 'failure' }} | |
with: | |
NOTIFY_MESSAGE: 'Failed to compile MCGalaxy .NET 2.0 build' | |
WEBHOOK_URL: '${{ secrets.WEBHOOK_URL }}' | |
- uses: ./.github/actions/upload_build | |
if: ${{ always() && steps.compile.outcome == 'success' }} | |
with: | |
SOURCE_FILE: 'bin/Release' | |
DEST_NAME: 'MCGalaxy-net2.0' | |
- uses: ./.github/actions/notify_success | |
if: ${{ always() && steps.compile.outcome == 'success' }} | |
with: | |
DESTINATION_URL: '${{ secrets.NOTIFY_URL }}' | |
WORKFLOW_NAME: 'net20' | |
#============================================ | |
# ============== .NET 4.0 BUILD ============= | |
# =========================================== | |
build-mono4: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Compile MCGalaxy using mono | |
shell: bash | |
id: compile | |
run: | | |
msbuild MCGalaxy.sln /p:Configuration=Release | |
cp -R bin/Release bin/Release_normal | |
rm bin/Release/MCGalaxy_.dll bin/Release/MCGalaxy_.pdb | |
msbuild MCGalaxy/MCGalaxy_.csproj /p:Configuration=Release /t:Rebuild /p:DefineConstants="TEN_BIT_BLOCKS" | |
- uses: ./.github/actions/notify_failure | |
if: ${{ always() && steps.compile.outcome == 'failure' }} | |
with: | |
NOTIFY_MESSAGE: 'Failed to compile MCGalaxy .NET build' | |
WEBHOOK_URL: '${{ secrets.WEBHOOK_URL }}' | |
- uses: ./.github/actions/upload_build | |
if: ${{ always() && steps.compile.outcome == 'success' }} | |
with: | |
SOURCE_FILE: 'bin/Release_normal' | |
DEST_NAME: 'MCGalaxy-net40' | |
- uses: ./.github/actions/upload_build | |
if: ${{ always() && steps.compile.outcome == 'success' }} | |
with: | |
SOURCE_FILE: 'bin/Release' | |
DEST_NAME: 'MCGalaxy-net40-infid' | |
- uses: ./.github/actions/notify_success | |
if: ${{ always() && steps.compile.outcome == 'success' }} | |
with: | |
DESTINATION_URL: '${{ secrets.NOTIFY_URL }}' | |
WORKFLOW_NAME: 'net40' | |
#============================================ | |
# ============== .NET 6.0 BUILD ============= | |
# =========================================== | |
build-dotnet6: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup .NET | |
uses: actions/setup-dotnet@v4 | |
with: | |
dotnet-version: 6.0.x | |
- name: Restore dependencies | |
run: dotnet restore CLI/MCGalaxyCLI_dotnet6.csproj | |
- name: Build | |
id: compile | |
run: | | |
dotnet build CLI/MCGalaxyCLI_dotnet6.csproj --no-restore | |
- uses: ./.github/actions/notify_failure | |
if: ${{ always() && steps.compile.outcome == 'failure' }} | |
with: | |
NOTIFY_MESSAGE: 'Failed to compile MCGalaxy dotnet build' | |
WEBHOOK_URL: '${{ secrets.WEBHOOK_URL }}' | |
- uses: ./.github/actions/upload_build | |
if: ${{ always() && steps.compile.outcome == 'success' }} | |
with: | |
SOURCE_FILE: 'CLI/bin/Debug/net6.0' | |
DEST_NAME: 'MCGalaxy-net6.0' | |
# publish standalone windows binaries | |
- name: Publish-win64 | |
run: dotnet publish CLI/MCGalaxyCLI_standalone6.csproj -r win-x64 --self-contained | |
- uses: ./.github/actions/upload_build | |
if: ${{ always() && steps.compile.outcome == 'success' }} | |
with: | |
SOURCE_FILE: 'CLI/bin/Debug/net6.0/win-x64/publish' | |
DEST_NAME: 'MCGalaxy-win64-standalone' | |
# publish standalone linux binaries | |
- name: Publish-linux64 | |
run: dotnet publish CLI/MCGalaxyCLI_standalone6.csproj -r linux-x64 --self-contained | |
- uses: ./.github/actions/upload_build | |
if: ${{ always() && steps.compile.outcome == 'success' }} | |
with: | |
SOURCE_FILE: 'CLI/bin/Debug/net6.0/linux-x64/publish' | |
DEST_NAME: 'MCGalaxy-linux64-standalone' | |
# publish standalone macOS binaries | |
- name: Publish-mac64 | |
run: dotnet publish CLI/MCGalaxyCLI_standalone6.csproj -r osx-x64 --self-contained | |
- uses: ./.github/actions/upload_build | |
if: ${{ always() && steps.compile.outcome == 'success' }} | |
with: | |
SOURCE_FILE: 'CLI/bin/Debug/net6.0/osx-x64/publish' | |
DEST_NAME: 'MCGalaxy-mac64-standalone' | |
- uses: ./.github/actions/notify_success | |
if: ${{ always() && steps.compile.outcome == 'success' }} | |
with: | |
DESTINATION_URL: '${{ secrets.NOTIFY_URL }}' | |
WORKFLOW_NAME: 'net60' | |
#============================================ | |
# ============== .NET 8.0 BUILD ============= | |
# =========================================== | |
build-dotnet8: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup .NET | |
uses: actions/setup-dotnet@v4 | |
with: | |
dotnet-version: 8.0.x | |
- name: Restore dependencies | |
run: dotnet restore CLI/MCGalaxyCLI_dotnet8.csproj | |
- name: Build | |
id: compile | |
run: | | |
dotnet build CLI/MCGalaxyCLI_dotnet8.csproj --no-restore | |
- uses: ./.github/actions/notify_failure | |
if: ${{ always() && steps.compile.outcome == 'failure' }} | |
with: | |
NOTIFY_MESSAGE: 'Failed to compile MCGalaxy dotnet build' | |
WEBHOOK_URL: '${{ secrets.WEBHOOK_URL }}' | |
- uses: ./.github/actions/upload_build | |
if: ${{ always() && steps.compile.outcome == 'success' }} | |
with: | |
SOURCE_FILE: 'CLI/bin/Debug/net8.0' | |
DEST_NAME: 'MCGalaxy-net8.0' | |
- uses: ./.github/actions/notify_success | |
if: ${{ always() && steps.compile.outcome == 'success' }} | |
with: | |
DESTINATION_URL: '${{ secrets.NOTIFY_URL }}' | |
WORKFLOW_NAME: 'net80' |