Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Publishing CI artifacts #374

Merged
merged 35 commits into from
Aug 21, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
6f6ff7a
published windows artifact
JeanPhilippeKernel Aug 18, 2024
8957ba2
fixed typo
JeanPhilippeKernel Aug 18, 2024
a40b810
fixed engine path
JeanPhilippeKernel Aug 18, 2024
80b11ac
Merge branch 'user/kernel/assemble-executables' into user/kernel/publ…
JeanPhilippeKernel Aug 19, 2024
4278f29
templating CI build
JeanPhilippeKernel Aug 19, 2024
adc1445
Merge branch 'develop' of https://github.com/JeanPhilippeKernel/Rende…
JeanPhilippeKernel Aug 19, 2024
4950a06
fixed CI
JeanPhilippeKernel Aug 19, 2024
5b69b0a
fixed workflow call
JeanPhilippeKernel Aug 19, 2024
efd3df4
fixed workflow name
JeanPhilippeKernel Aug 19, 2024
b814f2a
attempt to fix workflow path
JeanPhilippeKernel Aug 19, 2024
69aaf21
dummy linux build
JeanPhilippeKernel Aug 19, 2024
92256d6
fixed window workflow path
JeanPhilippeKernel Aug 19, 2024
646abf6
added version
JeanPhilippeKernel Aug 19, 2024
5cba53b
added version
JeanPhilippeKernel Aug 19, 2024
c48740e
reworked files
JeanPhilippeKernel Aug 19, 2024
4d95913
updated refs
JeanPhilippeKernel Aug 19, 2024
0bf6e11
fixed versions
JeanPhilippeKernel Aug 19, 2024
df75fb9
removed versions
JeanPhilippeKernel Aug 19, 2024
2c1681d
fixed typo
JeanPhilippeKernel Aug 19, 2024
a7557d9
fixed job name
JeanPhilippeKernel Aug 19, 2024
404edd0
fixed publish artifacts
JeanPhilippeKernel Aug 19, 2024
6b67b06
fixed job name
JeanPhilippeKernel Aug 19, 2024
0a7d3bf
fixed format
JeanPhilippeKernel Aug 19, 2024
b98705f
fixed name
JeanPhilippeKernel Aug 19, 2024
ff2c504
fixed jobs
JeanPhilippeKernel Aug 19, 2024
4f9ebf6
updated published artefacts
JeanPhilippeKernel Aug 20, 2024
8c3db42
connected deploy windows
JeanPhilippeKernel Aug 20, 2024
f231baa
added macos build ci
JeanPhilippeKernel Aug 20, 2024
3b3c873
fixed macOS CI
JeanPhilippeKernel Aug 20, 2024
2656971
updated run tests
JeanPhilippeKernel Aug 20, 2024
a3110b7
fixed memory test case
JeanPhilippeKernel Aug 20, 2024
bfcdf27
make test executable
JeanPhilippeKernel Aug 20, 2024
0ef3de3
updated action version
JeanPhilippeKernel Aug 20, 2024
9b510d9
fixed pipeline macOS CI
JeanPhilippeKernel Aug 20, 2024
abc4c8d
fixed failure
JeanPhilippeKernel Aug 20, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions .github/workflows/Engine-CI.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
on:
push:
branches: [ master, develop ]
pull_request:
branches: [ master, develop ]

jobs:
windows:
uses: ./.github/workflows/windows-build.yml

macOS:
uses: ./.github/workflows/macOS-build.yml

# linux:
# uses: ./.github/workflows/linux-build.yml
38 changes: 38 additions & 0 deletions .github/workflows/job-cmakebuild-macOS.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# CMake build of ZEngine for macOS
#
name: ZEngine macOS Workflow

on:
workflow_call:
inputs:
configuration:
type: string
default: 'Debug'
architecture:
type: string
default: 'x64'

jobs:
cmake-build:
name: cmake-build-macOS-${{ inputs.architecture }}-${{ inputs.configuration }}
runs-on: ${{ inputs.architecture == 'x64' && 'macos-13' || 'macos-latest' }}
steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: CMake Build
run: .\Scripts\BuildEngine.ps1 -Configurations ${{inputs.configuration}}
shell: pwsh

- name: Publish Build Artifacts
uses: actions/upload-artifact@v4
with:
name: Build-macOS-${{ inputs.architecture }}-${{inputs.configuration}}
path: |
Result.Darwin.x64.${{inputs.configuration}}/Panzerfaust/${{inputs.configuration}}/net6.0/osx-${{ inputs.architecture }}/publish/
Result.Darwin.x64.${{inputs.configuration}}/__externals/Vulkan-Loader/loader/${{ inputs.configuration }}/
Result.Darwin.x64.${{inputs.configuration}}/ZEngine/tests/${{inputs.configuration}}/
!Result.Darwin.x64.${{inputs.configuration}}/Panzerfaust/${{inputs.configuration}}/net6.0/**/Microsoft.CodeAnalysis.CSharp.resources.dll
!Result.Darwin.x64.${{inputs.configuration}}/Panzerfaust/${{inputs.configuration}}/net6.0/**/Microsoft.CodeAnalysis.CSharp.Scripting.resources.dll
!Result.Darwin.x64.${{inputs.configuration}}/Panzerfaust/${{inputs.configuration}}/net6.0/**/Microsoft.CodeAnalysis.resources.dll
!Result.Darwin.x64.${{inputs.configuration}}/Panzerfaust/${{inputs.configuration}}/net6.0/**/Microsoft.CodeAnalysis.Scripting.resources.dll
35 changes: 35 additions & 0 deletions .github/workflows/job-cmakebuild-windows.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# CMake build of ZEngine for Windows
#
name: Windows Build Workflow

on:
workflow_call:
inputs:
configuration:
type: string
default: 'Debug'

jobs:
cmake-build:
name: cmake-build-windows-${{ inputs.configuration }}
runs-on: windows-2022
steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: CMake Build
run: .\Scripts\BuildEngine.ps1 -Configurations ${{inputs.configuration}}
shell: pwsh

- name: Publish Build Artifacts
uses: actions/upload-artifact@v4
with:
name: Build-Windows-x64-${{inputs.configuration}}
path: |
Result.Windows.x64.MultiConfig/Panzerfaust/${{inputs.configuration}}/net6.0/win-x64/publish/
Result.Windows.x64.MultiConfig/ZEngine/tests/${{inputs.configuration}}/
!Result.Windows.x64.MultiConfig/Panzerfaust/${{inputs.configuration}}/net6.0/**/Microsoft.CodeAnalysis.CSharp.resources.dll
!Result.Windows.x64.MultiConfig/Panzerfaust/${{inputs.configuration}}/net6.0/**/Microsoft.CodeAnalysis.CSharp.Scripting.resources.dll
!Result.Windows.x64.MultiConfig/Panzerfaust/${{inputs.configuration}}/net6.0/**/Microsoft.CodeAnalysis.resources.dll
!Result.Windows.x64.MultiConfig/Panzerfaust/${{inputs.configuration}}/net6.0/**/Microsoft.CodeAnalysis.Scripting.resources.dll
!Result.Windows.x64.MultiConfig/Panzerfaust/${{inputs.configuration}}/net6.0/**/createdump.exe
29 changes: 29 additions & 0 deletions .github/workflows/job-deploy-macOS.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# Deploy for macOS
#
name: macOS Deploy Workflow

on:
workflow_call:
inputs:
configuration:
type: string
default: 'Release'
architecture:
type: string
default: 'x64'

jobs:
deploy:
name: deploy-macOS-${{ inputs.architecture }}-${{ inputs.configuration }}
runs-on: ${{ inputs.architecture == 'x64' && 'macos-13' || 'macos-latest' }}
steps:
- uses: actions/download-artifact@v4
with:
path: Result.Darwin.x64.${{ inputs.configuration }}
name: Build-macOS-${{ inputs.architecture }}-Release

- name: Publish Artifacts
uses: actions/upload-artifact@v4
with:
name: macOS-${{ inputs.architecture }}-${{ inputs.configuration }}
path: Result.Darwin.x64.${{ inputs.configuration }}/Panzerfaust/${{ inputs.configuration }}/net6.0/osx-${{ inputs.architecture }}/publish/
26 changes: 26 additions & 0 deletions .github/workflows/job-deploy-windows.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Deploy for Windows
#
name: Windows Deploy Workflow

on:
workflow_call:
inputs:
configuration:
type: string
default: 'Release'

jobs:
deploy:
name: deploy-windows-x64-${{ inputs.configuration }}
runs-on: windows-2022
steps:
- uses: actions/download-artifact@v4
with:
path: Result.Windows.x64.MultiConfig
name: Build-Windows-x64-Release

- name: Publish Artifacts
uses: actions/upload-artifact@v4
with:
name: Windows-x64-${{ inputs.configuration }}
path: Result.Windows.x64.MultiConfig/Panzerfaust/${{ inputs.configuration }}/net6.0/win-x64/publish/
34 changes: 34 additions & 0 deletions .github/workflows/job-test-macOS.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# Run tests for macOS
#
name: macOS Test Workflow

on:
workflow_call:
inputs:
configuration:
type: string
default: 'Debug'
architecture:
type: string
default: 'x64'

jobs:
test:
name: test-macOS-${{ inputs.architecture }}-${{ inputs.configuration }}
runs-on: ${{ inputs.architecture == 'x64' && 'macos-13' || 'macos-latest' }}
steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Download Artifacts
uses: actions/download-artifact@v4
with:
name: Build-macOS-${{ inputs.architecture }}-${{ inputs.configuration }}
path: Result.Darwin.x64.${{ inputs.configuration }}

- name: Update access permission of ZEngineTests
run: chmod +x ./Result.Darwin.x64.${{ inputs.configuration }}/ZEngine/tests/${{ inputs.configuration }}/ZEngineTests

- name: Run Tests
run: .\Scripts\RunTests.ps1 -Configurations ${{ inputs.configuration }}
shell: pwsh
36 changes: 36 additions & 0 deletions .github/workflows/job-test-windows.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# Run tests for Windows
#
name: Windows Test Workflow

on:
workflow_call:
inputs:
configuration:
type: string
default: 'Debug'

jobs:
test:
name: test-windows-${{ inputs.configuration }}
runs-on: windows-2022
steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Download All Artifacts
uses: actions/download-artifact@v4
with:
path: Result.Windows.x64.MultiConfig
pattern: Build-Windows-x64-*
merge-multiple: true

- name: Install Vulkan SDK
uses: humbletim/[email protected]
with:
vulkan-query-version: 1.3.204.0
vulkan-components: Vulkan-Headers, Vulkan-Loader
vulkan-use-cache: true

- name: Run Tests
run: .\Scripts\RunTests.ps1 -Configurations ${{inputs.configuration}}
shell: pwsh
38 changes: 19 additions & 19 deletions .github/workflows/linux-build.yml
Original file line number Diff line number Diff line change
@@ -1,24 +1,24 @@
# @JeanPhilippeKernel : Disabled because we only support Windows as platform for now
#
# name: ZEngine Linux Build

# on:
# push:
# branches: [ master, develop ]
# pull_request:
# branches: [ master, develop ]
# jobs:
# Linux-Build:
# runs-on: ubuntu-latest
# strategy:
# matrix:
# buildConfiguration: [Debug, Release]

# steps:
# - name: Checkout repository
# uses: actions/checkout@v2
name: ZEngine Linux Build

on:
push:
branches: [ master ]
pull_request:
branches: [ master ]

jobs:
Linux-Build:
runs-on: ubuntu-latest
strategy:
matrix:
buildConfiguration: [Debug, Release]

steps:
- name: Checkout repository
uses: actions/checkout@v2

# - name: Checkout submodules
# run: git submodule update --init --recursive

Expand Down
51 changes: 25 additions & 26 deletions .github/workflows/macOS-build.yml
Original file line number Diff line number Diff line change
@@ -1,36 +1,35 @@
name: ZEngine macOS Build

on:
push:
branches: [ master, develop ]
pull_request:
branches: [ master, develop ]
on: workflow_call

jobs:
macOS-Intel-Build:
runs-on: macos-13
cmake-build:
strategy:
matrix:
buildConfiguration: [Debug, Release]
buildConfiguration: [Debug, Release]
architecture: [x64, arm64]
uses: ./.github/workflows/job-cmakebuild-macOS.yml
with:
configuration: ${{matrix.buildConfiguration}}
architecture: ${{ matrix.architecture }}

steps:
- name: Checkout repository
uses: actions/checkout@v2

- name: CMake Build
run: .\Scripts\BuildEngine.ps1 -Configurations ${{matrix.buildConfiguration}}
shell: pwsh

macOS-Silicon-Build:
runs-on: macos-latest
test:
needs: cmake-build
strategy:
matrix:
buildConfiguration: [Debug, Release]

steps:
- name: Checkout repository
uses: actions/checkout@v2
testConfiguration: [Debug, Release]
architecture: [x64, arm64]
uses: ./.github/workflows/job-test-macOS.yml
with:
configuration: ${{matrix.testConfiguration}}
architecture: ${{ matrix.architecture }}

- name: CMake Build
run: .\Scripts\BuildEngine.ps1 -Configurations ${{matrix.buildConfiguration}}
shell: pwsh
deploy:
needs: test
strategy:
matrix:
architecture: [x64, arm64]
uses: ./.github/workflows/job-deploy-macOS.yml
with:
configuration: Release
architecture: ${{ matrix.architecture }}
38 changes: 0 additions & 38 deletions .github/workflows/window-build.yml

This file was deleted.

27 changes: 27 additions & 0 deletions .github/workflows/windows-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: ZEngine Window Build

on: workflow_call

jobs:
cmake-build:
strategy:
matrix:
buildConfiguration: [Debug, Release]
uses: ./.github/workflows/job-cmakebuild-windows.yml
with:
configuration: ${{matrix.buildConfiguration}}

test:
needs: cmake-build
strategy:
matrix:
testConfiguration: [Debug, Release]
uses: ./.github/workflows/job-test-windows.yml
with:
configuration: ${{matrix.testConfiguration}}

deploy:
needs: test
uses: ./.github/workflows/job-deploy-windows.yml
with:
configuration: Release
Loading
Loading