diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 368cabf..df519f7 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -1,7 +1,7 @@ name: CodeQL on: pull_request: - branches: [ "master" ] + branches: [ 'master' ] jobs: codeql: @@ -10,7 +10,7 @@ jobs: security-events: write packages: read contents: read - + strategy: fail-fast: true matrix: @@ -22,10 +22,10 @@ jobs: -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_CXX_FLAGS="-O3 -Wall -std=c++23" cmake --build ./build --config Release - + - language: actions build-mode: none - + steps: - run: echo "Running CodeQL for ${{ matrix.language }}" - name: Run CodeQL @@ -34,11 +34,11 @@ jobs: language: ${{ matrix.language }} build-mode: ${{ matrix.build-mode }} manual-command-list: ${{ matrix.manual-command-list }} - - run-codeql: + + verify-codeql: permissions: contents: none - + if: always() runs-on: ubuntu-latest needs: codeql diff --git a/.github/workflows/pr-xplat-build-test-autocomplete.yml b/.github/workflows/pr-xplat-build-test-autocomplete.yml deleted file mode 100644 index ed52067..0000000 --- a/.github/workflows/pr-xplat-build-test-autocomplete.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: Cross-platform Builds Autocomplete -permissions: - contents: read - -on: - pull_request: - paths-ignore: - - 'libvlengine/**' - - 'toolchains/**' - - 'CMake**.**' - -jobs: - build-all: - if: always() - runs-on: ubuntu-latest - steps: - - run: echo "No builds needed!" \ No newline at end of file diff --git a/.github/workflows/pr-xplat-build-test.yml b/.github/workflows/pr-xplat-build-test.yml index 4001198..9ebf9cf 100644 --- a/.github/workflows/pr-xplat-build-test.yml +++ b/.github/workflows/pr-xplat-build-test.yml @@ -2,17 +2,36 @@ on: pull_request: branches: [ 'master' ] - paths: - - 'libvlengine/**' - - 'toolchains/**' - - 'CMake**.**' - + jobs: - build: + check-files: + runs-on: ubuntu-latest + permissions: + contents: read + outputs: + files_found: ${{ steps.found-files.outputs.files_found }} + + steps: + - uses: actions/checkout@v4 + - id: changed-files + uses: tj-actions/changed-files@v47.0.1 + with: + base_sha: ${{ github.base_ref }} + files: | + libvlengine/** + toolchains/** + CMake**.** + - shell: bash + id: found-files + run: echo "files_found=${{ steps.changed-files.outputs.any_modified }}" >> $GITHUB_OUTPUT + + compile: runs-on: ubuntu-latest + needs: check-files + if: ${{ needs.check-files.outputs.files_found == 'true' }} permissions: contents: read - + strategy: fail-fast: true matrix: @@ -26,23 +45,24 @@ jobs: compiler: gcc - target: linux compiler: mingw64 - + steps: - - uses: VolcanusLucis/.github/.github/actions/build-cmake-project-presets@master - with: - architecture: ${{ matrix.architecture }} - build-tool: ${{ matrix.build-tool }} - build-type: ${{ matrix.build-type }} - compiler: ${{ matrix.compiler }} - target: ${{ matrix.target }} + - uses: VolcanusLucis/.github/.github/actions/build-cmake-project-presets@master + with: + architecture: ${{ matrix.architecture }} + build-tool: ${{ matrix.build-tool }} + build-type: ${{ matrix.build-type }} + compiler: ${{ matrix.compiler }} + target: ${{ matrix.target }} - build-all: + verify-compilation-task: if: always() runs-on: ubuntu-latest - needs: build + needs: [check-files, compile] steps: # https://github.com/orgs/community/discussions/26822 - - if: ${{ contains(needs.*.result, 'failure') - || contains(needs.*.result, 'cancelled') - || contains(needs.*.result, 'skipped') }} - run: exit 1 \ No newline at end of file + - if: contains(needs.*.result, 'failure') + || contains(needs.*.result, 'cancelled') + || (needs.check-files.outputs.files_found && contains(needs.*.results, 'skipped')) + run: exit 1 + \ No newline at end of file