aboutsummaryrefslogtreecommitdiff
path: root/.github/workflows/nightly.yml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/nightly.yml')
-rw-r--r--.github/workflows/nightly.yml95
1 files changed, 65 insertions, 30 deletions
diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml
index 5af23fe6..19f6e138 100644
--- a/.github/workflows/nightly.yml
+++ b/.github/workflows/nightly.yml
@@ -1,41 +1,84 @@
-name: Nightly Releases
+name: Nightly Release
on:
workflow_dispatch:
push:
branches:
- 'main'
- - 'feature/dedicated-server'
paths-ignore:
- '.gitignore'
- '*.md'
- - '.github/*.md'
+ - '.github/**'
+ - '!.github/workflows/nightly.yml'
permissions:
contents: write
+concurrency:
+ group: nightly
+ cancel-in-progress: true
+
jobs:
build:
- name: Build Windows64
runs-on: windows-latest
+ strategy:
+ matrix:
+ platform: [Windows64]
+
steps:
- name: Checkout
uses: actions/checkout@v6
- - name: Setup msbuild
- uses: microsoft/setup-msbuild@v2
+ - name: Set platform lowercase
+ run: echo "MATRIX_PLATFORM=$('${{ matrix.platform }}'.ToLower())" >> $env:GITHUB_ENV
+
+ - name: Setup MSVC
+ uses: ilammy/msvc-dev-cmd@v1
- - name: Build
- run: MSBuild.exe MinecraftConsoles.sln /p:Configuration=Release /p:Platform="Windows64"
+ - name: Setup CMake
+ uses: lukka/get-cmake@latest
+
+ - name: Run CMake
+ uses: lukka/run-cmake@v10
+ env:
+ VCPKG_ROOT: "" # Disable vcpkg for CI builds
+ with:
+ configurePreset: ${{ env.MATRIX_PLATFORM }}
+ buildPreset: ${{ env.MATRIX_PLATFORM }}-release
+ buildPresetAdditionalArgs: "['--target', 'Minecraft.Client']"
- name: Zip Build
- run: 7z a -r LCEWindows64.zip ./x64/Release/*
+ run: 7z a -r LCE${{ matrix.platform }}.zip ./build/${{ env.MATRIX_PLATFORM }}/Minecraft.Client/Release/* -x!*.ipdb -x!*.iobj
- - name: Zip Dedicated Server Build
- run: 7z a -r LCEServerWindows64.zip ./x64/Minecraft.Server/Release/*
+ - name: Stage artifacts
+ run: |
+ New-Item -ItemType Directory -Force -Path staging
+ Copy-Item LCE${{ matrix.platform }}.zip staging/
- - name: Update Client release
+ - name: Stage exe and pdb
+ if: matrix.platform == 'Windows64'
+ run: |
+ Copy-Item ./build/${{ env.MATRIX_PLATFORM }}/Minecraft.Client/Release/Minecraft.Client.exe staging/
+
+ - name: Upload artifacts
+ uses: actions/upload-artifact@v6
+ with:
+ name: build-${{ matrix.platform }}
+ path: staging/*
+
+ release:
+ needs: build
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Download all artifacts
+ uses: actions/download-artifact@v7
+ with:
+ path: artifacts
+ merge-multiple: true
+
+ - name: Update release
uses: andelf/nightly-release@main
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -43,27 +86,19 @@ jobs:
tag_name: nightly
name: Nightly Client Release
body: |
- Requires at least Windows 7 and DirectX 11 compatible GPU to run. Compiled with MSVC v14.44.35207 in Release mode with Whole Program Optimization, as well as `/O2 /Ot /Oi /Ob3 /GF /fp:precise`.
+ Requires at least Windows 7 and DirectX 11 compatible GPU to run.
# 🚨 First time here? 🚨
If you've never downloaded the game before, you need to download `LCEWindows64.zip` and extract it to the folder where you'd like to keep the game. The other files are included in this `.zip` file!
files: |
- LCEWindows64.zip
- ./x64/Release/Minecraft.Client.exe
- ./x64/Release/Minecraft.Client.pdb
+ artifacts/*
- - name: Update Dedicated Server release
- uses: andelf/nightly-release@main
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ cleanup:
+ needs: [build, release]
+ if: always()
+ runs-on: ubuntu-latest
+ steps:
+ - name: Cleanup artifacts
+ uses: geekyeggo/delete-artifact@v5
with:
- tag_name: nightly-dedicated-server
- name: Nightly Dedicated Server Release
- body: |
- Dedicated Server runtime for Windows64.
-
- Download `LCEServerWindows64.zip` and extract it to a folder where you'd like to keep the server runtime.
- files: |
- LCEServerWindows64.zip
- ./x64/Minecraft.Server/Release/Minecraft.Server.exe
- ./x64/Minecraft.Server/Release/Minecraft.Server.pdb
+ name: build-*