[CI] Add concurrency group for building dockers #1329
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
| name: CI Containers | |
| on: | |
| workflow_dispatch: | |
| schedule: | |
| # Every 1st and 15th day of month | |
| - cron: '0 0 1,15 * *' | |
| push: | |
| branches: | |
| - sycl | |
| paths: | |
| - 'devops/actions/build_container/**' | |
| - 'devops/containers/**' | |
| - 'devops/dependencies.json' | |
| - 'devops/scripts/install_drivers.sh' | |
| - 'devops/scripts/install_build_tools.sh' | |
| - '.github/workflows/sycl-containers.yaml' | |
| pull_request: | |
| paths: | |
| - 'devops/actions/build_container/**' | |
| - 'devops/containers/**' | |
| - 'devops/dependencies.json' | |
| - 'devops/scripts/install_drivers.sh' | |
| - 'devops/scripts/install_build_tools.sh' | |
| - '.github/workflows/sycl-containers.yaml' | |
| concurrency: | |
| # Cancel a currently running workflow from the same PR, branch or tag. | |
| group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }} | |
| cancel-in-progress: true | |
| permissions: read-all | |
| jobs: | |
| # First build "Base" and "Build" images | |
| build_and_push_non_driver_images: | |
| if: github.repository == 'intel/llvm' | |
| name: "Containers" | |
| runs-on: [Linux, docker-builder] | |
| permissions: | |
| packages: write | |
| strategy: | |
| matrix: | |
| include: | |
| - name: Base Ubuntu 22.04 Docker image | |
| file: ubuntu2204_base | |
| tag: latest | |
| build_args: "" | |
| - name: Base Ubuntu 24.04 Docker image | |
| file: ubuntu2404_base | |
| tag: latest | |
| build_args: "" | |
| - name: Build Ubuntu 22.04 Docker image | |
| file: ubuntu2204_build | |
| tag: latest | |
| build_args: "" | |
| - name: Build Ubuntu 24.04 Docker image | |
| file: ubuntu2404_build | |
| tag: latest | |
| build_args: "" | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v5 | |
| with: | |
| fetch-depth: 2 | |
| - name: Build and Push Container | |
| uses: ./devops/actions/build_container | |
| with: | |
| push: ${{ github.event_name != 'pull_request' }} | |
| file: ${{ matrix.file }} | |
| username: ${{ github.repository_owner }} | |
| password: ${{ secrets.GITHUB_TOKEN }} | |
| tags: | | |
| ghcr.io/${{ github.repository }}/${{ matrix.file }}:${{ matrix.tag }}-${{ github.sha }} | |
| ghcr.io/${{ github.repository }}/${{ matrix.file }}:${{ matrix.tag }} | |
| build-args: ${{ matrix.build_args }} | |
| # Then build "Intel Drivers" images that depend on previous images. | |
| # | |
| # Note: Building these images on PR means using old "Base" and "Build" images, | |
| # as the ones above were not yet pushed. | |
| build_and_push_driver_images: | |
| needs: build_and_push_non_driver_images | |
| name: "Containers" | |
| runs-on: [Linux, docker-builder] | |
| permissions: | |
| packages: write | |
| strategy: | |
| matrix: | |
| include: | |
| - name: Intel Drivers Ubuntu 22.04 Docker image | |
| file: ubuntu2204_intel_drivers | |
| tag: latest | |
| build_args: "" | |
| - name: Intel Drivers Ubuntu 24.04 Docker image | |
| file: ubuntu2404_intel_drivers | |
| tag: latest | |
| build_args: "" | |
| - name: Build + Intel Drivers Ubuntu 22.04 Docker image | |
| file: ubuntu2204_intel_drivers | |
| tag: alldeps | |
| build_args: | | |
| base_image=ghcr.io/intel/llvm/ubuntu2204_build | |
| base_tag=latest | |
| - name: Build + Intel Drivers Ubuntu 24.04 Docker image | |
| file: ubuntu2404_intel_drivers | |
| tag: alldeps | |
| build_args: | | |
| base_image=ghcr.io/intel/llvm/ubuntu2404_build | |
| base_tag=latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v5 | |
| with: | |
| fetch-depth: 2 | |
| - name: Build and Push Container | |
| uses: ./devops/actions/build_container | |
| with: | |
| push: ${{ github.event_name != 'pull_request' }} | |
| file: ${{ matrix.file }} | |
| username: ${{ github.repository_owner }} | |
| password: ${{ secrets.GITHUB_TOKEN }} | |
| tags: | | |
| ghcr.io/${{ github.repository }}/${{ matrix.file }}:${{ matrix.tag }}-${{ github.sha }} | |
| ghcr.io/${{ github.repository }}/${{ matrix.file }}:${{ matrix.tag }} | |
| build-args: ${{ matrix.build_args }} |