diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index a1d8ca1..fa02103 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -11,7 +11,7 @@ on: type: string default: master test-build: - description: Should we perform only a limited number of test builds? + description: Limit to pre-defined test builds type: boolean default: false @@ -26,7 +26,7 @@ on: type: string default: master test-build: - description: Should we perform only a limited number of test builds? + description: Limit to pre-defined test builds type: boolean default: false diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 88a4ddb..a737c41 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -11,7 +11,7 @@ on: type: string default: master test-build: - description: Should we perform only a limited number of test builds? + description: Limit to pre-defined test builds type: boolean default: false @@ -26,7 +26,7 @@ on: type: string default: master test-build: - description: Should we perform only a limited number of test builds? + description: Limit to pre-defined test builds type: boolean default: false diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 4313cd6..c4cff4e 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -11,7 +11,7 @@ on: type: string default: master test-build: - description: Should we perform only a limited number of test builds? + description: Limit to pre-defined test builds type: boolean default: false @@ -26,7 +26,7 @@ on: type: string default: master test-build: - description: Should we perform only a limited number of test builds? + description: Limit to pre-defined test builds type: boolean default: false @@ -40,6 +40,8 @@ jobs: windows-builds: runs-on: "ubuntu-24.04" name: ${{ matrix.opts.name }} + outputs: + built-dotnet-editor: ${{ steps.mark-dotnet-editor.outputs.dotnet-editor }} strategy: fail-fast: false matrix: @@ -209,7 +211,7 @@ jobs: - uses: ./modules/limboai/.github/actions/init-version - name: Set up scons cache - if: inputs.test-build # ! Only cache test (aka PR) builds + if: inputs.test-build # ! Only cache test/PR builds uses: actions/cache@v4 with: path: ${{github.workspace}}/.scons_cache/ @@ -275,28 +277,26 @@ jobs: name: ${{env.NAME_PREFIX}}${{matrix.opts.dotnet == true && '.dotnet' || ''}}.${{matrix.opts.target}}.windows.${{matrix.opts.arch}} path: out/* + - name: Mark .NET editor as built + if: matrix.opts.dotnet && matrix.opts.target == 'editor' + id: mark-dotnet-editor + run: | + echo "built-dotnet-editor=true" >> $GITHUB_OUTPUT + + dotnet-assemblies: - name: Build .NET assemblies - if: ${{ !inputs.test-build }} # ! Don't run in test builds - runs-on: "windows-latest" + name: .NET assembly for ${{matrix.opts.arch}} needs: windows-builds + if: always() && needs.windows-builds.outputs.built-dotnet-editor == 'true' + runs-on: "windows-latest" strategy: fail-fast: false matrix: opts: - - name: Editor .NET (x86_64, release) - target: editor - arch: x86_64 + - arch: x86_64 llvm: false - dotnet: true - should-build: true - - exclude: - - { opts: { should-build: false } } - env: - BIN: godot.windows.${{matrix.opts.target}}.${{matrix.opts.arch}}${{matrix.opts.llvm && '.llvm' || ''}}${{matrix.opts.dotnet == true && '.mono' || ''}} - + BIN: godot.windows.editor.${{matrix.opts.arch}}${{matrix.opts.llvm && '.llvm' || ''}}.mono steps: - name: Clone Godot uses: actions/checkout@v4