Skip to content

Commit

Permalink
Merge pull request #147 from MethanePowered/develop
Browse files Browse the repository at this point in the history
Methane Kit v0.8.0: enhance program bindings configuration, performance and simplified shader buffer arguments setup with root constants
  • Loading branch information
egorodet authored Dec 31, 2024
2 parents 4c66c85 + b5222a5 commit 51d56c3
Show file tree
Hide file tree
Showing 418 changed files with 9,783 additions and 4,712 deletions.
21 changes: 11 additions & 10 deletions .github/workflows/ci-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
name: '🏗️ CI Build'

on:
workflow_dispatch:
push:
branches: [ master, develop ]
paths:
Expand Down Expand Up @@ -32,11 +33,11 @@ on:

env:
METHANE_VERSION_MAJOR: 0
METHANE_VERSION_MINOR: 7
METHANE_VERSION_PATCH: 3
METHANE_VERSION_MINOR: 8
METHANE_VERSION_PATCH: 0
METHANE_VERSION_BUILD: ${{ github.run_number }}
TRACY_RELEASE_VERSION: "0.9.1"
VULKAN_SDK_VERSION: "1.3.250.1"
TRACY_RELEASE_VERSION: "0.11.2.1"
VULKAN_SDK_VERSION: "1.3.290.0"
ORIGIN_REPOSITORY: 'MethanePowered/MethaneKit'

jobs:
Expand Down Expand Up @@ -189,7 +190,7 @@ jobs:

steps:
- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
fetch-depth: 0

Expand All @@ -208,7 +209,7 @@ jobs:
run: ./Build/Unix/CI/InstallVulkanSdk.sh "${{ env.VULKAN_SDK_VERSION }}" "${{ runner.tool_cache }}/VulkanSDK"

- name: Initialize Externals Cache
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: Build/Output/ExternalsCache
key: ExternalsCache-${{ matrix.config_preset }}-${{ hashFiles('Externals/*.cmake') }}
Expand All @@ -234,7 +235,7 @@ jobs:
run: ${{ github.workspace }}\Build\Windows\CI\RunUnitTests.bat junit

- name: Upload Test Results Artifact
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
if: ${{ matrix.run_tests && (success() || failure()) }}
with:
name: MethaneKit_${{ matrix.name }}_TestResults_${{ env.METHANE_VERSION_MAJOR }}.${{ env.METHANE_VERSION_MINOR }}.${{ env.METHANE_VERSION_PATCH }}.${{ env.METHANE_VERSION_BUILD }}
Expand Down Expand Up @@ -277,7 +278,7 @@ jobs:

- name: Upload Archived Build Artifacts
if: ${{ success() || failure() }}
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: MethaneKit_${{ matrix.name }}_${{ env.METHANE_VERSION_MAJOR }}.${{ env.METHANE_VERSION_MINOR }}.${{ env.METHANE_VERSION_PATCH }}.${{ env.METHANE_VERSION_BUILD }}
path: ${{ env.INSTALL_DIR }}/MethaneKit_${{ matrix.name }}.7z
Expand All @@ -290,7 +291,7 @@ jobs:

- name: Update Badge JSON
if: ${{ github.repository == env.ORIGIN_REPOSITORY && github.event_name != 'pull_request' && always() }}
uses: schneegans/dynamic-badges-action@v1.6.0
uses: schneegans/dynamic-badges-action@v1.7.0
with:
auth: ${{ secrets.GIST_TOKEN }}
gistID: 96d788046ccd52b45b3354a99f8569c3
Expand All @@ -311,7 +312,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Upload Event File
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: EventFile
path: ${{ github.event_path }}
14 changes: 7 additions & 7 deletions .github/workflows/ci-codeql-scan.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
name: "🔮 CI CodeQL Scan"

on:
workflow_dispatch:
push:
branches: [ master ]
paths:
Expand Down Expand Up @@ -37,11 +38,10 @@ jobs:
fail-fast: false
matrix:
include:
# FIXME: Windows CodeQL analysis is DISABLED because it fails with compiler "error C1060: compiler is out of heap space"
#- os: windows-latest
# name: "Win64_DX_CodeQL-Scan"
# config_preset: "VS2022-Win64-DX-Scan"
# build_preset: "VS2022-Win64-DX-Scan"
- os: windows-latest
name: "Win64_DX_CodeQL-Scan"
config_preset: "VS2022-Win64-DX-Scan"
build_preset: "VS2022-Win64-DX-Scan"

- os: ubuntu-latest
name: "Ubuntu_VK_CodeQL-Scan"
Expand All @@ -67,7 +67,7 @@ jobs:
sudo apt install xcb libx11-dev libx11-xcb-dev libxcb-sync-dev libxcb-randr0-dev
- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Initialize CodeQL
uses: github/codeql-action/init@v2
Expand All @@ -77,7 +77,7 @@ jobs:

- name: Initialize Externals Cache
id: cache-externals
uses: actions/cache@v3
uses: actions/cache@v4
env:
cache-name: cache-externals
with:
Expand Down
53 changes: 38 additions & 15 deletions .github/workflows/ci-sonar-scan.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
name: '🎯 CI Sonar Scan'

on:
workflow_dispatch:
push:
branches: [ master, develop ]
paths:
Expand Down Expand Up @@ -57,8 +58,8 @@ on:

env:
METHANE_VERSION_MAJOR: 0
METHANE_VERSION_MINOR: 7
METHANE_VERSION_PATCH: 3
METHANE_VERSION_MINOR: 8
METHANE_VERSION_PATCH: 0
METHANE_VERSION_BUILD: ${{ github.run_number }}

jobs:
Expand Down Expand Up @@ -118,16 +119,16 @@ jobs:
steps:
- name: Checkout pull-request merge commit from origin
if: ${{ github.event_name != 'pull_request_target' }}
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
fetch-depth: 2 # 2 commits are necessary for CodeCov diff
fetch-depth: 0 # checkout all history for all branches, as required by Sonar scanner

- name: Checkout pull-request merge commit from fork
if: ${{ github.event_name == 'pull_request_target' }}
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
ref: "${{ github.event.pull_request.merge_commit_sha }}"
fetch-depth: 2 # 2 commits are necessary for CodeCov diff
fetch-depth: 0 # checkout all history for all branches, as required by Sonar scanner

- name: Install Linux prerequisites
if: ${{ runner.os == 'Linux' }}
Expand All @@ -141,7 +142,7 @@ jobs:

# .NET Core is required by ReportGenerator
- name: Install .NET Core
uses: actions/setup-dotnet@v3
uses: actions/setup-dotnet@v4
with:
dotnet-version: 6.0.400

Expand All @@ -150,12 +151,12 @@ jobs:

# Ninja build is required to generate compile commands file used by Sonar-Scanner
- name: Install Ninja
uses: MethanePowered/gha-setup-ninja@master
uses: seanmiddleditch/gha-setup-ninja@v5
with:
version: 1.11.1

- name: Initialize Externals Cache
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: Build/Output/ExternalsCache
key: ExternalsCache-${{ matrix.config_preset }}-${{ hashFiles('Externals/*.cmake') }}
Expand Down Expand Up @@ -214,7 +215,7 @@ jobs:

- name: Generate Code Coverage Reports
if: ${{ success() || failure() }}
uses: danielpalme/ReportGenerator-GitHub-Action@5.1.13
uses: danielpalme/ReportGenerator-GitHub-Action@5
with:
reports: ${{ matrix.tests_coverage_reports }}
targetdir: 'Build/Output/${{ matrix.config_preset }}/Install/Tests/Coverage/Report'
Expand All @@ -224,7 +225,7 @@ jobs:

- name: Upload Code Coverage Cobertura Report
if: ${{ success() || failure() }}
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: MethaneKit_${{ matrix.name }}_CoverageResults
path: Build/Output/${{ matrix.config_preset }}/Install/Tests/Coverage/Report/Cobertura.xml
Expand All @@ -240,21 +241,43 @@ jobs:
- name: Publish Code Coverage to CodeCov server
if: ${{ github.event_name != 'pull_request_target' && (success() || failure()) }}
uses: codecov/codecov-action@v3
uses: codecov/codecov-action@v4
with:
files: Build/Output/${{ matrix.config_preset }}/Install/Tests/Coverage/Report/Cobertura.xml
flags: unittests,${{ runner.os }}
name: ${{ matrix.name }}
token: ${{ secrets.CODECOV_TOKEN }}

- name: Publish Code Coverage to CodeCov server (from PR target)
if: ${{ github.event_name == 'pull_request_target' && (success() || failure()) }}
uses: codecov/codecov-action@v3
uses: codecov/codecov-action@v4
with:
override_pr: ${{ github.event.pull_request.number }}
override_commit: ${{ github.event.pull_request.head.sha }}
files: Build/Output/${{ matrix.config_preset }}/Install/Tests/Coverage/Report/Cobertura.xml
flags: unittests,${{ runner.os }}
name: ${{ matrix.name }}
token: ${{ secrets.CODECOV_TOKEN }}

- name: Publish Test Results to Codecov server
if: ${{ github.event_name != 'pull_request_target' && (success() || failure()) }}
uses: codecov/test-results-action@v1
with:
files: Build/Output/${{ matrix.config_preset }}/Install/Tests/Results/junit/*Test.xml
flags: unittests,${{ runner.os }}
name: ${{ matrix.name }}
token: ${{ secrets.CODECOV_TOKEN }}

- name: Publish Test Results to Codecov server (from PR target)
if: ${{ github.event_name == 'pull_request_target' && (success() || failure()) }}
uses: codecov/test-results-action@v1
with:
override_pr: ${{ github.event.pull_request.number }}
override_commit: ${{ github.event.pull_request.head.sha }}
files: Build/Output/${{ matrix.config_preset }}/Install/Tests/Results/junit/*Test.xml
flags: unittests,${{ runner.os }}
name: ${{ matrix.name }}
token: ${{ secrets.CODECOV_TOKEN }}

- name: Publish Test Results to GitHub
if: ${{ success() || failure() }}
Expand Down Expand Up @@ -292,7 +315,7 @@ jobs:

- name: Upload Archived Scan Artifacts
if: ${{ success() || failure() }}
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: MethaneKit_${{ matrix.name }}_${{ env.METHANE_VERSION_MAJOR }}.${{ env.METHANE_VERSION_MINOR }}.${{ env.METHANE_VERSION_PATCH }}.${{ env.METHANE_VERSION_BUILD }}
path: Build/Output/${{ matrix.config_preset }}/Install/MethaneKit_${{ matrix.name }}.7z
Expand All @@ -304,7 +327,7 @@ jobs:

- name: Update Badge JSON
if: ${{ (github.event_name == 'push' || github.event_name == 'schedule') && always() }}
uses: schneegans/dynamic-badges-action@v1.6.0
uses: schneegans/dynamic-badges-action@v1.7.0
with:
auth: ${{ secrets.GIST_TOKEN }}
gistID: 96d788046ccd52b45b3354a99f8569c3
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/ci-tests-report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,14 +33,14 @@ jobs:

steps:
- name: Download Event File
uses: dawidd6/action-download-artifact@246dbf436b23d7c49e21a7ab8204ca9ecd1fe615
uses: dawidd6/action-download-artifact@v7
with:
run_id: ${{ github.event.workflow_run.id }}
name: EventFile
path: EventFile

- name: Download Test Results
uses: dawidd6/action-download-artifact@v3
uses: dawidd6/action-download-artifact@v7
with:
run_id: ${{ github.event.workflow_run.id }}
name: ^MethaneKit_${{ matrix.name }}_TestResults_.*$
Expand Down
Loading

0 comments on commit 51d56c3

Please sign in to comment.