random fixes #5522
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # Run checks required for a PR to merge and verify if post-merge commit is valid. | |
| # This workflow only call other workflows. | |
| name: PR/push | |
| on: | |
| push: | |
| branches-ignore: | |
| - 'dependabot/**' | |
| pull_request: | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} | |
| cancel-in-progress: true | |
| permissions: | |
| contents: read | |
| packages: read | |
| jobs: | |
| CodeChecks: | |
| uses: ./.github/workflows/reusable_checks.yml | |
| DocsBuild: | |
| uses: ./.github/workflows/reusable_docs_build.yml | |
| DetectChanges: | |
| runs-on: ubuntu-latest | |
| outputs: | |
| changed_files: ${{ steps.get-changes.outputs.all_changed_files }} | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 | |
| with: | |
| fetch-depth: 2 | |
| - name: List all changed files | |
| id: get-changes | |
| run: | | |
| git diff --name-only HEAD^ HEAD > all_changed_files.txt | |
| changed_files=$(cat all_changed_files.txt | tr '\n' ' ') | |
| echo "changed_files=$changed_files" >> $GITHUB_ENV | |
| echo "::set-output name=all_changed_files::$changed_files" | |
| - name: all changed files | |
| run: | | |
| echo "changed files: ${{ needs.DetectChanges.outputs.changed_files }}" | |
| Check: | |
| runs-on: ubuntu-latest | |
| needs: [DetectChanges] | |
| steps: | |
| - name: check changed files | |
| run: | | |
| echo "all_changed_files: ${{ needs.DetectChanges.outputs.changed_files }}" | |
| echo "all_changed_files: ${{ contains(join(needs.DetectChanges.outputs.changed_files, ' '), '.github/docker/') }}" | |
| BuildDockers: | |
| if: ${{ contains(join(needs.DetectChanges.outputs.changed_files, ' '), '.github/docker/') }} | |
| needs: [DetectChanges] | |
| permissions: | |
| contents: read | |
| packages: write | |
| secrets: inherit | |
| uses: ./.github/workflows/build_dockers.yml | |
| FastBuild: | |
| if: always() && (needs.BuildDockers.result == 'skipped' || needs.BuildDockers.result == 'success') | |
| needs: [ CodeChecks, DocsBuild, BuildDockers] | |
| uses: ./.github/workflows/reusable_fast.yml | |
| Build: | |
| name: Basic builds | |
| if: always() && (needs.FastBuild.result == 'success') | |
| needs: [FastBuild] | |
| uses: ./.github/workflows/reusable_basic.yml | |
| DevDax: | |
| if: always() && (needs.FastBuild.result == 'success') | |
| needs: [FastBuild] | |
| uses: ./.github/workflows/reusable_dax.yml | |
| MultiNuma: | |
| if: always() && (needs.FastBuild.result == 'success') | |
| needs: [FastBuild] | |
| uses: ./.github/workflows/reusable_multi_numa.yml | |
| L0: | |
| if: always() && (needs.Build.result == 'success') | |
| needs: [Build] | |
| uses: ./.github/workflows/reusable_gpu.yml | |
| with: | |
| name: "LEVEL_ZERO" | |
| shared_lib: "['ON']" | |
| CUDA: | |
| if: always() && (needs.Build.result == 'success') | |
| needs: [Build] | |
| uses: ./.github/workflows/reusable_gpu.yml | |
| with: | |
| name: "CUDA" | |
| shared_lib: "['ON']" | |
| Sanitizers: | |
| if: always() && (needs.FastBuild.result == 'success') | |
| needs: [FastBuild] | |
| uses: ./.github/workflows/reusable_sanitizers.yml | |
| QEMU: | |
| if: always() && (needs.FastBuild.result == 'success') | |
| needs: [FastBuild] | |
| uses: ./.github/workflows/reusable_qemu.yml | |
| with: | |
| short_run: true | |
| ProxyLib: | |
| if: always() && (needs.Build.result == 'success') | |
| needs: [Build] | |
| uses: ./.github/workflows/reusable_proxy_lib.yml | |
| Valgrind: | |
| if: always() && (needs.Build.result == 'success') | |
| needs: [Build] | |
| uses: ./.github/workflows/reusable_valgrind.yml | |
| Coverage: | |
| # total coverage (on upstream only) | |
| if: github.repository == 'oneapi-src/unified-memory-framework' | |
| needs: [Build, DevDax, L0, CUDA, MultiNuma, QEMU, ProxyLib] | |
| uses: ./.github/workflows/reusable_coverage.yml | |
| secrets: inherit | |
| with: | |
| trigger: "${{github.event_name}}" | |
| Coverage_partial: | |
| # partial coverage (on forks) | |
| if: github.repository != 'oneapi-src/unified-memory-framework' && always() && (needs.Build.result == 'success') | |
| needs: [Build, QEMU, ProxyLib] | |
| uses: ./.github/workflows/reusable_coverage.yml | |
| CodeQL: | |
| if: always() && (needs.Build.result == 'success') | |
| needs: [Build] | |
| permissions: | |
| contents: read | |
| security-events: write | |
| uses: ./.github/workflows/reusable_codeql.yml | |
| Trivy: | |
| if: always() && (needs.Build.result == 'success') | |
| needs: [Build] | |
| permissions: | |
| contents: read | |
| security-events: write | |
| uses: ./.github/workflows/reusable_trivy.yml |