From 14b9b28bf96136e94e0545b245e0b4568cd6c544 Mon Sep 17 00:00:00 2001 From: Kbz-8 Date: Sun, 19 Jan 2025 18:17:08 +0100 Subject: [PATCH] nevermind --- .github/workflows/linux-base.yml | 84 ---------------------------- .github/workflows/linux-build.yml | 85 +++++++++++++++++++++++++++-- .github/workflows/macos-build.yml | 2 +- .github/workflows/msys2-build.yml | 2 +- .github/workflows/windows-build.yml | 2 +- 5 files changed, 83 insertions(+), 92 deletions(-) delete mode 100644 .github/workflows/linux-base.yml diff --git a/.github/workflows/linux-base.yml b/.github/workflows/linux-base.yml deleted file mode 100644 index 95ec618..0000000 --- a/.github/workflows/linux-base.yml +++ /dev/null @@ -1,84 +0,0 @@ -name: Linux Base - -on: - workflow_call: - -jobs: - build: - runs-on: ${{ matrix.os }} - if: ${{ !contains(github.event.head_commit.message, 'ci skip') }} - - steps: - - name: Get current date as package key - id: cache_key - run: echo "key=$(date +'%W')" >> $GITHUB_OUTPUT - - - name: Checkout repository - uses: actions/checkout@v4 - - - uses: NcStudios/VulkanCI@v1.0 - - # Install system dependencies - - name: Install system dependencies - run: | - sudo apt-get update - sudo apt-get -y install mesa-common-dev - - # Force xmake to a specific folder (for cache) - - name: Set xmake env - run: echo "XMAKE_GLOBALDIR=${{ runner.workspace }}/xmake-global" >> $GITHUB_ENV - - # Install xmake - - name: Setup xmake - uses: xmake-io/github-action-setup-xmake@v1 - with: - xmake-version: branch@dev - actions-cache-folder: .xmake-cache-W${{ steps.cache_key.outputs.key }} - - # Update xmake repository (in order to have the file that will be cached) - - name: Update xmake repository - run: xmake repo --update - - # Fetch xmake dephash - - name: Retrieve dependencies hash - id: dep_hash - run: echo "hash=$(xmake l utils.ci.packageskey)" >> $GITHUB_OUTPUT - - # Cache xmake dependencies - - name: Restore cached xmake dependencies - id: restore-depcache - uses: actions/cache/restore@v4 - with: - path: ${{ env.XMAKE_GLOBALDIR }}/.xmake/packages - key: Linux-${{ matrix.arch }}-${{ matrix.confs.mode }}${{ matrix.confs.cache_key }}-${{ steps.dep_hash.outputs.hash }}-W${{ steps.cache_key.outputs.key }} - - # Setup compilation mode and install project dependencies - - name: Configure xmake and install dependencies - run: xmake config --arch=${{ matrix.arch }} --mode=${{ matrix.confs.mode }} ${{ matrix.confs.config }} --ccache=n --unitybuild=y --yes - - # Save dependencies - - name: Save cached xmake dependencies - if: ${{ !steps.restore-depcache.outputs.cache-hit }} - uses: actions/cache/save@v4 - with: - path: ${{ env.XMAKE_GLOBALDIR }}/.xmake/packages - key: ${{ steps.restore-depcache.outputs.cache-primary-key }} - - # Cache assets downloading - - name: Restore cached assets - id: restore-assets - uses: actions/cache/restore@v4 - with: - path: assets - key: assets-${{ hashFiles('assets/examples_version.txt', 'assets/unittests_version.txt') }} - - # Build the engine - - name: Build Pulse - run: xmake --yes - - # Test the engine - - name: Test Vulkan - run: | - xmake config --vulkan-tests=y --yes - xmake build --yes VulkanUnitTests - xmake run --yes VulkanUnitTests diff --git a/.github/workflows/linux-build.yml b/.github/workflows/linux-build.yml index 74ea7be..0e91509 100644 --- a/.github/workflows/linux-build.yml +++ b/.github/workflows/linux-build.yml @@ -1,4 +1,4 @@ -name: Linux Build +name: Linux on: pull_request: @@ -13,7 +13,7 @@ on: - 'README.md' jobs: - Build: + build: strategy: fail-fast: false matrix: @@ -22,6 +22,81 @@ jobs: confs: - { mode: debug, archive: yes } - { mode: release, archive: yes } - uses: ./.github/workflows/linux-base.yml - with: - target: ${{ matrix.target }} + + runs-on: ${{ matrix.os }} + if: ${{ !contains(github.event.head_commit.message, 'ci skip') }} + + steps: + - name: Get current date as package key + id: cache_key + run: echo "key=$(date +'%W')" >> $GITHUB_OUTPUT + + - name: Checkout repository + uses: actions/checkout@v4 + + - uses: NcStudios/VulkanCI@v1.0 + + # Install system dependencies + - name: Install system dependencies + run: | + sudo apt-get update + sudo apt-get -y install mesa-common-dev + + # Force xmake to a specific folder (for cache) + - name: Set xmake env + run: echo "XMAKE_GLOBALDIR=${{ runner.workspace }}/xmake-global" >> $GITHUB_ENV + + # Install xmake + - name: Setup xmake + uses: xmake-io/github-action-setup-xmake@v1 + with: + xmake-version: branch@dev + actions-cache-folder: .xmake-cache-W${{ steps.cache_key.outputs.key }} + + # Update xmake repository (in order to have the file that will be cached) + - name: Update xmake repository + run: xmake repo --update + + # Fetch xmake dephash + - name: Retrieve dependencies hash + id: dep_hash + run: echo "hash=$(xmake l utils.ci.packageskey)" >> $GITHUB_OUTPUT + + # Cache xmake dependencies + - name: Restore cached xmake dependencies + id: restore-depcache + uses: actions/cache/restore@v4 + with: + path: ${{ env.XMAKE_GLOBALDIR }}/.xmake/packages + key: Linux-${{ matrix.arch }}-${{ matrix.confs.mode }}${{ matrix.confs.cache_key }}-${{ steps.dep_hash.outputs.hash }}-W${{ steps.cache_key.outputs.key }} + + # Setup compilation mode and install project dependencies + - name: Configure xmake and install dependencies + run: xmake config --arch=${{ matrix.arch }} --mode=${{ matrix.confs.mode }} ${{ matrix.confs.config }} --ccache=n --unitybuild=y --yes + + # Save dependencies + - name: Save cached xmake dependencies + if: ${{ !steps.restore-depcache.outputs.cache-hit }} + uses: actions/cache/save@v4 + with: + path: ${{ env.XMAKE_GLOBALDIR }}/.xmake/packages + key: ${{ steps.restore-depcache.outputs.cache-primary-key }} + + # Cache assets downloading + - name: Restore cached assets + id: restore-assets + uses: actions/cache/restore@v4 + with: + path: assets + key: assets-${{ hashFiles('assets/examples_version.txt', 'assets/unittests_version.txt') }} + + # Build the engine + - name: Build Pulse + run: xmake --yes + + # Test the engine + - name: Test Vulkan + run: | + xmake config --vulkan-tests=y --yes + xmake build --yes VulkanUnitTests + xmake run --yes VulkanUnitTests diff --git a/.github/workflows/macos-build.yml b/.github/workflows/macos-build.yml index 068fdbd..bff183b 100644 --- a/.github/workflows/macos-build.yml +++ b/.github/workflows/macos-build.yml @@ -1,4 +1,4 @@ -name: macOS build +name: macOS on: pull_request: diff --git a/.github/workflows/msys2-build.yml b/.github/workflows/msys2-build.yml index 0297cc6..56d391c 100644 --- a/.github/workflows/msys2-build.yml +++ b/.github/workflows/msys2-build.yml @@ -1,4 +1,4 @@ -name: MSYS2 build (MinGW-w64) +name: MSYS2 (MinGW-w64) on: pull_request: diff --git a/.github/workflows/windows-build.yml b/.github/workflows/windows-build.yml index 73e1017..cb5595f 100644 --- a/.github/workflows/windows-build.yml +++ b/.github/workflows/windows-build.yml @@ -1,4 +1,4 @@ -name: Windows build +name: Windows on: pull_request: