Skip to content

Commit f08dfdf

Browse files
authored
Merge pull request #1106 from UE4SS-RE/4000+cmwf
CI: swap to cmake CI; bump versioning to 4
2 parents 1356e04 + a3177f8 commit f08dfdf

File tree

10 files changed

+45
-96
lines changed

10 files changed

+45
-96
lines changed

.github/workflows/cmake-ci.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
# This workflow automates the build process for all modes of the UE4SS project using CMake whenever a pull request is made.
1+
# This workflow automates the build process for all modes of the UE4SS project whenever a pull request is made.
22
# It reports artifacts to the PR comments.
33

4-
name: CMake Build All Modes
4+
name: Build All Modes
55
permissions:
66
contents: write
77
pull-requests: write # For adding comments to PR.

.github/workflows/cmake-experimental.yml

Lines changed: 12 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,4 @@
1-
name: CMake Experimental Release
2-
3-
# NOTE: This workflow creates CMake-specific experimental releases (cmake-experimental, cmake-experimental-latest)
4-
# These are separate from the xmake experimental releases to allow parallel testing
5-
# This is intentional during the CMake transition period
1+
name: Make Experimental Release
62

73
on:
84
workflow_dispatch:
@@ -25,7 +21,7 @@ permissions:
2521
contents: read
2622

2723
concurrency:
28-
group: cmake-experimental-release
24+
group: experimental-release
2925
cancel-in-progress: true
3026

3127
jobs:
@@ -124,9 +120,9 @@ jobs:
124120
run: |
125121
mkdir -p build_output
126122
127-
# Download the dev zip from cmake-experimental-latest release
128-
echo "Downloading from cmake-experimental-latest release..."
129-
gh release download cmake-experimental-latest \
123+
# Download the dev zip from experimental-latest release
124+
echo "Downloading from experimental-latest release..."
125+
gh release download experimental-latest \
130126
--repo ${{ github.repository }} \
131127
--pattern "zDEV-UE4SS_*.zip" \
132128
--dir ./temp_download || {
@@ -213,38 +209,32 @@ jobs:
213209
- name: Package
214210
run: python tools/buildscripts/release.py package -e
215211

216-
- name: Make Archival Experimental Release (CMake)
212+
- name: Make Archival Experimental Release
217213
uses: softprops/action-gh-release@v1
218214
with:
219215
prerelease: true
220-
tag_name: cmake-experimental
221-
name: "CMake Experimental Build"
216+
tag_name: experimental
222217
body_path: release/release_notes.md
223218
files: |
224219
release/UE4SS_v*.zip
225220
release/zDEV-UE4SS_v*.zip
226221
release/zCustomGameConfigs.zip
227222
release/zMapGenBP.zip
228223
229-
- name: Delete old release assets (CMake Latest)
224+
- name: Delete old release assets
230225
uses: mknejp/delete-release-assets@v1
231226
with:
232227
token: ${{ github.token }}
233-
tag: cmake-experimental-latest
228+
tag: experimental-latest
234229
fail-if-no-release: false
235230
fail-if-no-assets: false
236-
assets: |
237-
UE4SS_v*.zip
238-
zDEV-UE4SS_v*.zip
239-
zCustomGameConfigs.zip
240-
zMapGenBP.zip
231+
assets: '*'
241232

242-
- name: Make Permanent Latest Release (CMake)
233+
- name: Make Permanent Latest Release
243234
uses: softprops/action-gh-release@v1
244235
with:
245236
prerelease: true
246-
tag_name: cmake-experimental-latest
247-
name: "CMake Experimental Latest"
237+
tag_name: experimental-latest
248238
body_path: release/release_notes.md
249239
files: |
250240
release/UE4SS_v*.zip

.github/workflows/cmake-release.yml

Lines changed: 27 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -1,70 +1,42 @@
1-
name: CMake Release (Testing)
2-
on: workflow_dispatch
1+
name: Make Release
2+
on:
3+
workflow_dispatch:
4+
inputs:
5+
prerelease:
6+
description: 'Mark as pre-release (e.g., for beta/RC releases)'
7+
type: boolean
8+
default: false
39

410
permissions:
511
contents: read
612

713
concurrency:
8-
group: cmake-test-release
14+
group: stable-release
915
cancel-in-progress: true
1016

1117
jobs:
1218
prepare-release:
1319
permissions:
14-
contents: write # Required for creating releases
20+
contents: write # Required for creating tags
1521
runs-on: ubuntu-latest
1622
outputs:
17-
release_tag: ${{ steps.release_tag.outputs.release_tag }}
23+
release_tag: ${{ steps.release_commit.outputs.release_tag }}
1824
steps:
1925
- name: Checkout
2026
uses: actions/checkout@v4
2127
with:
2228
fetch-depth: 0
2329
token: ${{ secrets.UEPSEUDO_PAT }}
2430

25-
# NOTE: We intentionally do NOT call `release.py release_commit` here
26-
# This is a TEST workflow for validating CMake builds, not for production releases
27-
# Production releases should continue using the xmake-based release.yml workflow
28-
# This creates timestamped test tags (cmake-test-YYYYMMDD-HHMMSS) instead of version tags
29-
#
30-
# When ready for production, replace the "Create Test Release Tag" step below with:
31-
# - name: Setup Python
32-
# uses: actions/setup-python@v4
33-
# with:
34-
# python-version: '3.9'
35-
#
36-
# - name: Release Commit
37-
# id: release_commit
38-
# run: python release.py release_commit ${{ github.actor }}
39-
# working-directory: ./tools/buildscripts
40-
#
41-
# And replace the "Create Test Release" step with:
42-
# - name: Release
43-
# uses: softprops/action-gh-release@v1
44-
# with:
45-
# tag_name: ${{ steps.release_commit.outputs.release_tag }}
46-
# body_path: release/release_notes.md
47-
# files: |
48-
# release/UE4SS_v*.zip
49-
# release/zDEV-UE4SS_v*.zip
50-
# release/zCustomGameConfigs.zip
51-
# release/zMapGenBP.zip
52-
#
53-
# And add a git push step:
54-
# - name: Push changes
55-
# uses: ad-m/github-push-action@master
56-
# with:
57-
# github_token: ${{ secrets.GITHUB_TOKEN }}
58-
# branch: ${{ github.ref }}
59-
# tags: true
31+
- name: Setup Python
32+
uses: actions/setup-python@v4
33+
with:
34+
python-version: '3.9'
6035

61-
- name: Create Test Release Tag
62-
id: release_tag
63-
run: |
64-
timestamp=$(date +'%Y%m%d-%H%M%S')
65-
testTag="cmake-test-$timestamp"
66-
echo "release_tag=$testTag" >> $GITHUB_OUTPUT
67-
echo "Test release tag: $testTag"
36+
- name: Release Commit
37+
id: release_commit
38+
run: python release.py release_commit ${{ github.actor }}
39+
working-directory: ./tools/buildscripts
6840

6941
build:
7042
needs: prepare-release
@@ -123,29 +95,19 @@ jobs:
12395
id: package
12496
run: python tools/buildscripts/release.py package
12597

126-
- name: Create Test Release Notes
127-
run: |
128-
@"
129-
# CMake Test Release
130-
131-
This is a test release built with CMake instead of xmake.
132-
133-
**Build Configuration:**
134-
- Build Mode: Game__Shipping__Win64
135-
- Compiler: MSVC
136-
- Generator: Ninja
137-
138-
**Note:** This is for testing purposes only and should not be used in production.
139-
"@ | Out-File -FilePath release/release_notes.md -Encoding utf8
98+
- name: Push changes
99+
uses: ad-m/github-push-action@master
100+
with:
101+
github_token: ${{ secrets.GITHUB_TOKEN }}
102+
branch: ${{ github.ref }}
103+
tags: true
140104

141-
- name: Create Test Release
105+
- name: Release
142106
uses: softprops/action-gh-release@v1
143107
with:
144108
tag_name: ${{ needs.prepare-release.outputs.release_tag }}
145-
name: "CMake Test Release - ${{ needs.prepare-release.outputs.release_tag }}"
109+
prerelease: ${{ inputs.prerelease }}
146110
body_path: release/release_notes.md
147-
draft: true
148-
prerelease: true
149111
files: |
150112
release/UE4SS_v*.zip
151113
release/zDEV-UE4SS_v*.zip
File renamed without changes.
File renamed without changes.

assets/Changelog.md

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,8 @@
1-
v3.1.0
1+
v4.0.0-rc1
22
==============
33
TBD
44

5-
some notes about most important changes such as:
6-
- changing of default ue4ss install location, overriding and its backwards compatibility
7-
- new build system
8-
- linux port
5+
**Important:** The default installation layout has changed. All UE4SS files (including UE4SS.dll, settings, and mods) now reside in a `ue4ss` subfolder next to your game executable. Only the proxy DLL (dwmapi.dll) remains in the game's Win64 directory. This keeps your game folder cleaner and makes it easier to manage UE4SS installations. Existing installations in the old location will continue to work for backwards compatibility if the UE4SS dll is replaced directly.
96

107
## New
118

docs/cpp-api.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,6 @@ You are expected to have a basic understanding of C++ and Unreal Engine's C++ AP
66

77
You may need to read code in the [UEPsuedo](https://github.com/Re-UE4SS/UEPseudo) repository (more specifically, the `include/Unreal` directory) to understand how to use these functions.
88

9-
For version: **3.1.0**
9+
For version: **4.0.0**
1010

1111
Current status: **incomplete**

docs/lua-api.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
These are the Lua API functions available in UE4SS, on top of the standard libraries that Lua comes with by defualt.
44

5-
For version: **3.1.0**
5+
For version: **4.0.0**
66

77
Current status: **mostly complete**
88

0 commit comments

Comments
 (0)