aboutsummaryrefslogtreecommitdiff
path: root/.github/workflows/validate.yml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/validate.yml')
-rw-r--r--.github/workflows/validate.yml97
1 files changed, 68 insertions, 29 deletions
diff --git a/.github/workflows/validate.yml b/.github/workflows/validate.yml
index 17e031ba0..d96645ac9 100644
--- a/.github/workflows/validate.yml
+++ b/.github/workflows/validate.yml
@@ -4,6 +4,10 @@ env:
WINDOWS_SDK_VERSION: 22621
XMAKE_GLOBALDIR: ${{ github.workspace }}/../.xmake_shared
+concurrency:
+ group: ${{ github.workflow }}-${{ github.ref }}
+ cancel-in-progress: ${{ github.ref_name != 'main' }}
+
on:
pull_request:
types:
@@ -13,8 +17,11 @@ on:
branches:
- 'main'
paths-ignore:
+ - '*.md'
+ - 'LICENSE'
+ - '.gitignore'
+ - 'docs/**'
- 'VERSION.txt'
- - 'CHANGELOG.md'
- '.github/workflows/create_release.yml'
- '.github/workflows/mirror_releases.yml'
- '.github/workflows/mirror.yml'
@@ -22,31 +29,22 @@ on:
branches:
- 'main'
paths-ignore:
+ - '*.md'
+ - 'LICENSE'
+ - '.gitignore'
+ - 'docs/**'
- 'VERSION.txt'
- - 'CHANGELOG.md'
- '.github/workflows/create_release.yml'
- '.github/workflows/mirror_releases.yml'
- '.github/workflows/mirror.yml'
jobs:
- cancel-old-build:
- name: Cancel previous builds
- runs-on: [linux, x64, zen]
-
- steps:
- - name: Cancel Previous Runs
- if: ${{ github.ref_name != 'main'}}
- uses: ue-foundation/[email protected]
- with:
- access_token: ${{ github.token }}
-
clang-format:
- needs: cancel-old-build
name: Check clang-format
runs-on: [linux, x64, zen]
steps:
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v4
- name: clang-format
uses: ue-foundation/clang-format-action@epic-batching-v1
@@ -55,7 +53,6 @@ jobs:
check-path: 'src'
windows-build:
- needs: cancel-old-build
name: Build & Test Windows
runs-on: [windows, x64, zen]
timeout-minutes: 25
@@ -69,10 +66,13 @@ jobs:
steps:
- name: Checkout
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
+
+ - name: Trust workspace
+ run: git config --global --add safe.directory "${{ github.workspace }}"
- name: Setup xmake
- uses: ue-foundation/[email protected]
+ uses: ue-foundation/[email protected]
with:
xmake-version: ${{env.XMAKE_VERSION}}
@@ -80,6 +80,10 @@ jobs:
run: |
xmake config -vD -y -m ${{ matrix.config }} --arch=${{ matrix.arch }} --zensentry=yes
+ - name: Clean reports
+ if: ${{ matrix.config == 'debug' }}
+ run: if (Test-Path build/reports) { Remove-Item -Recurse -Force build/reports }
+
- name: Build & Test
if: ${{ matrix.config == 'debug' }}
run: |
@@ -92,9 +96,18 @@ jobs:
name: reports-win64
path: build/reports/*.xml
+ - name: Test Report
+ if: ${{ (failure() || success()) && (matrix.config == 'debug') }}
+ uses: ue-foundation/test-reporter@v2
+ with:
+ name: Test Results (win64)
+ path: build/reports/*.xml
+ reporter: java-junit
+ list-tests: 'failed'
+
- name: Bundle
if: ${{ matrix.config == 'release' }}
- run: |
+ run: |
xmake bundle -v -y --codesignidentity="Epic Games"
- name: Upload zenserver-win64
@@ -105,7 +118,6 @@ jobs:
path: build/zenserver-win64.zip
linux-build:
- needs: cancel-old-build
name: Build & Test Linux
runs-on: [linux, x64, zen]
timeout-minutes: 25
@@ -119,7 +131,7 @@ jobs:
steps:
- name: Checkout
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Install UE Toolchain
run: |
@@ -127,18 +139,23 @@ jobs:
./scripts/ue_build_linux/get_ue_toolchain.sh ./.tmp-ue-toolchain
- name: Setup xmake
- uses: ue-foundation/[email protected]
+ uses: ue-foundation/[email protected]
with:
xmake-version: ${{env.XMAKE_VERSION}}
- name: Config
run: |
- ./scripts/ue_build_linux/ue_build.sh ./.tmp-ue-toolchain xmake config -v -y -m ${{ matrix.config }} --arch=${{ matrix.arch }} --zensentry=yes
+ xmake config -v -y -m ${{ matrix.config }} --arch=${{ matrix.arch }} --zensentry=yes --toolchain=ue-clang --sdk=${{ github.workspace }}/.tmp-ue-toolchain
+
+ - name: Clean reports
+ if: ${{ matrix.config == 'debug' }}
+ shell: bash
+ run: rm -rf build/reports
- name: Build & Test
if: ${{ matrix.config == 'debug' }}
run: |
- ./scripts/ue_build_linux/ue_build.sh ./.tmp-ue-toolchain xmake test -v -y --junit
+ xmake test -v -y --junit
- name: Upload report
if: ${{ (failure() || success()) && (matrix.config == 'debug') }}
@@ -147,10 +164,19 @@ jobs:
name: reports-linux
path: build/reports/*.xml
+ - name: Test Report
+ if: ${{ (failure() || success()) && (matrix.config == 'debug') }}
+ uses: ue-foundation/test-reporter@v2
+ with:
+ name: Test Results (linux)
+ path: build/reports/*.xml
+ reporter: java-junit
+ list-tests: 'failed'
+
- name: Bundle
if: ${{ matrix.config == 'release' }}
run: |
- ./scripts/ue_build_linux/ue_build.sh ./.tmp-ue-toolchain xmake bundle -v -y
+ xmake bundle -v -y
- name: Upload zenserver-linux
if: ${{ github.ref_name == 'main' && matrix.config == 'release' }}
@@ -160,7 +186,6 @@ jobs:
path: build/zenserver-linux.zip
macos-build:
- needs: cancel-old-build
name: Build & Test MacOS
runs-on: [macos, x64, zen]
timeout-minutes: 25
@@ -174,10 +199,10 @@ jobs:
steps:
- name: Checkout
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Setup xmake
- uses: ue-foundation/[email protected]
+ uses: ue-foundation/[email protected]
with:
xmake-version: ${{env.XMAKE_VERSION}}
@@ -185,6 +210,11 @@ jobs:
run: |
xmake config -v -y -m ${{ matrix.config }} --arch=${{ matrix.arch }} --zensentry=yes
+ - name: Clean reports
+ if: ${{ matrix.config == 'debug' }}
+ shell: bash
+ run: rm -rf build/reports
+
- name: Build & Test
if: ${{ matrix.config == 'debug' }}
run: |
@@ -197,9 +227,18 @@ jobs:
name: reports-macos
path: build/reports/*.xml
+ - name: Test Report
+ if: ${{ (failure() || success()) && (matrix.config == 'debug') }}
+ uses: ue-foundation/test-reporter@v2
+ with:
+ name: Test Results (macos)
+ path: build/reports/*.xml
+ reporter: java-junit
+ list-tests: 'failed'
+
- name: Bundle
if: ${{ matrix.config == 'release' }}
- run: |
+ run: |
xmake bundle -v -y --codesignidentity="Developer ID Application"
- name: Upload zenserver-macos