diff options
Diffstat (limited to '.github/workflows/validate.yml')
| -rw-r--r-- | .github/workflows/validate.yml | 97 |
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 |