Cache preheating #1142
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
| name: Cache preheating | |
| on: | |
| workflow_dispatch: | |
| inputs: | |
| repo: | |
| description: "Repository to build caches from" | |
| required: true | |
| branch: | |
| description: "Branch of repository to build caches from" | |
| required: true | |
| jobs: | |
| #---------------------------------------------------------------------------- | |
| # Cache preheating all dependencies | |
| #---------------------------------------------------------------------------- | |
| cache_preheating_dependencies: | |
| name: Preheat dependency caches | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [ubuntu-24.04, windows-2022, macos-15, macos-15-intel] | |
| build_type: [standard] | |
| include: | |
| - mindeps_label: no-mindeps | |
| - build_type: mindeps | |
| os: ubuntu-24.04 | |
| mindeps_label: mindeps | |
| runs-on: ${{matrix.os}} | |
| container: ${{ matrix.os == 'ubuntu-24.04' && 'ghcr.io/f3d-app/f3d-ci' || null }} | |
| env: | |
| CMAKE_POLICY_VERSION_MINIMUM: 3.5 | |
| steps: | |
| - uses: actions/checkout@v7 | |
| with: | |
| ref: ${{ github.event.inputs.branch }} | |
| repository: ${{ github.event.inputs.repo }} | |
| path: "source" | |
| fetch-depth: 1 | |
| lfs: false | |
| - name: Generic Dependencies | |
| uses: ./source/.github/actions/generic-dependencies | |
| with: | |
| versions_file: ./source/.github/workflows/versions.json | |
| mindeps_label: ${{matrix.mindeps_label}} | |
| cpu: ${{ matrix.os == 'macos-15' && 'arm64' || 'x86_64' }} | |
| #---------------------------------------------------------------------------- | |
| # Recover vtk matrix | |
| #---------------------------------------------------------------------------- | |
| recover_vtk_matrix: | |
| name: Recover VTK matrix | |
| runs-on: ubuntu-24.04 | |
| outputs: | |
| vtk_matrix: ${{steps.vtk_matrix.outputs.extract}} | |
| steps: | |
| - uses: actions/checkout@v7 | |
| with: | |
| ref: ${{ github.event.inputs.branch }} | |
| repository: ${{ github.event.inputs.repo }} | |
| path: "source" | |
| fetch-depth: 1 | |
| lfs: false | |
| - name: Extract VTK matrix | |
| id: vtk_matrix | |
| uses: f3d-app/extract-version-action@main | |
| with: | |
| file: ./source/.github/workflows/versions.json | |
| special_name: vtk_matrix | |
| #---------------------------------------------------------------------------- | |
| # Cache preheating VTK | |
| #---------------------------------------------------------------------------- | |
| cache_preheating_vtk: | |
| needs: [cache_preheating_dependencies, recover_vtk_matrix] | |
| name: Preheat VTK dependency caches | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [ubuntu-24.04, windows-2022, macos-15, macos-15-intel] | |
| vtk_version: ${{fromJSON(needs.recover_vtk_matrix.outputs.vtk_matrix)}} | |
| build_type: [standard] | |
| include: | |
| - optdeps_label: optdeps | |
| - mindeps_label: no-mindeps | |
| - gles_label: no-gles | |
| - build_type: mindeps | |
| os: ubuntu-24.04 | |
| vtk_version: commit | |
| gles_label: no-gles | |
| optdeps_label: optdeps | |
| mindeps_label: mindeps | |
| - build_type: no-optdeps | |
| os: ubuntu-24.04 | |
| vtk_version: commit | |
| gles_label: no-gles | |
| optdeps_label: no-optdeps | |
| mindeps_label: no-mindeps | |
| - build_type: gles | |
| os: ubuntu-24.04 | |
| vtk_version: commit | |
| gles_label: gles | |
| optdeps_label: optdeps | |
| mindeps_label: no-mindeps | |
| runs-on: ${{matrix.os}} | |
| container: ${{ matrix.os == 'ubuntu-24.04' && 'ghcr.io/f3d-app/f3d-ci' || null }} | |
| env: | |
| CMAKE_POLICY_VERSION_MINIMUM: 3.5 | |
| steps: | |
| - uses: actions/checkout@v7 | |
| with: | |
| ref: ${{ github.event.inputs.branch }} | |
| repository: ${{ github.event.inputs.repo }} | |
| path: "source" | |
| fetch-depth: 1 | |
| lfs: false | |
| - name: VTK Dependencies (already cached) | |
| uses: ./source/.github/actions/vtk-dependencies | |
| with: | |
| versions_file: ./source/.github/workflows/versions.json | |
| optdeps_label: ${{matrix.optdeps_label}} | |
| mindeps_label: ${{matrix.mindeps_label}} | |
| cpu: ${{ matrix.os == 'macos-15' && 'arm64' || 'x86_64' }} | |
| - name: Cache VTK | |
| uses: ./source/.github/actions/vtk-install-dep | |
| with: | |
| versions_file: ./source/.github/workflows/versions.json | |
| optdeps_label: ${{matrix.optdeps_label}} | |
| mindeps_label: ${{matrix.mindeps_label}} | |
| gles_label: ${{matrix.gles_label}} | |
| cpu: ${{ matrix.os == 'macos-15' && 'arm64' || 'x86_64' }} | |
| vtk_version: ${{matrix.vtk_version}} |