From 9dad8b13e37e7598e31f6c91a0c14661cbd4c8a9 Mon Sep 17 00:00:00 2001 From: Andrei Elovikov Date: Fri, 17 Jan 2025 09:48:40 -0800 Subject: [PATCH] [CI] Simplify nightly docker images Have a single docker image created with all the dependencies pre-installed so that it could be used for all internal CI needs for every target. Other workflows should be changed after this is merged and new image is uploaded to the registry. --- .github/workflows/sycl-nightly.yml | 38 +++---------------- ...nstalled.Dockerfile => nightly.Dockerfile} | 4 +- sycl/doc/developer/DockerBKMs.md | 9 ++--- 3 files changed, 11 insertions(+), 40 deletions(-) rename devops/containers/{ubuntu2204_preinstalled.Dockerfile => nightly.Dockerfile} (79%) diff --git a/.github/workflows/sycl-nightly.yml b/.github/workflows/sycl-nightly.yml index 0c3ff68b27efd..01831b428088c 100644 --- a/.github/workflows/sycl-nightly.yml +++ b/.github/workflows/sycl-nightly.yml @@ -242,7 +242,7 @@ jobs: body: "Daily build ${{ steps.tag.outputs.TAG }}" target_commitish: ${{ github.sha }} - ubuntu2204_docker_build_push: + docker_build_push: if: github.repository == 'intel/llvm' runs-on: [Linux, build] permissions: @@ -254,42 +254,16 @@ jobs: with: name: sycl_linux_default path: devops/ - - name: Build and Push Container (with drivers) + - name: Build and Push Container uses: ./devops/actions/build_container with: push: ${{ github.ref_name == 'sycl' }} - file: ubuntu2204_preinstalled + file: nightly username: ${{ github.repository_owner }} password: ${{ secrets.GITHUB_TOKEN }} build-args: | base_image=ghcr.io/intel/llvm/ubuntu2404_intel_drivers - base_tag=latest + base_tag=alldeps tags: | - ghcr.io/${{ github.repository }}/sycl_ubuntu2204_nightly:${{ github.sha }} - ghcr.io/${{ github.repository }}/sycl_ubuntu2204_nightly:latest - - name: Build and Push Container (no drivers) - uses: ./devops/actions/build_container - with: - push: ${{ github.ref_name == 'sycl' }} - file: ubuntu2204_preinstalled - username: ${{ github.repository_owner }} - password: ${{ secrets.GITHUB_TOKEN }} - build-args: | - base_image=ghcr.io/intel/llvm/ubuntu2204_base - base_tag=latest - tags: | - ghcr.io/${{ github.repository }}/sycl_ubuntu2204_nightly:no-drivers-${{ github.sha }} - ghcr.io/${{ github.repository }}/sycl_ubuntu2204_nightly:no-drivers - - name: Build and Push Container (Build image) - uses: ./devops/actions/build_container - with: - push: ${{ github.ref_name == 'sycl' }} - file: ubuntu2204_preinstalled - username: ${{ github.repository_owner }} - password: ${{ secrets.GITHUB_TOKEN }} - build-args: | - base_image=ghcr.io/intel/llvm/ubuntu2204_build - base_tag=latest - tags: | - ghcr.io/${{ github.repository }}/sycl_ubuntu2204_nightly:build-${{ github.sha }} - ghcr.io/${{ github.repository }}/sycl_ubuntu2204_nightly:build + ghcr.io/${{ github.repository }}/sycl_ubuntu2404_nightly:${{ github.sha }} + ghcr.io/${{ github.repository }}/sycl_ubuntu2404_nightly:latest diff --git a/devops/containers/ubuntu2204_preinstalled.Dockerfile b/devops/containers/nightly.Dockerfile similarity index 79% rename from devops/containers/ubuntu2204_preinstalled.Dockerfile rename to devops/containers/nightly.Dockerfile index 18ec7de01acb3..4c62f2668b2b8 100644 --- a/devops/containers/ubuntu2204_preinstalled.Dockerfile +++ b/devops/containers/nightly.Dockerfile @@ -1,5 +1,5 @@ -ARG base_tag=latest -ARG base_image=ghcr.io/intel/llvm/ubuntu2204_intel_drivers +ARG base_tag=alldeps +ARG base_image=ghcr.io/intel/llvm/ubuntu2404_intel_drivers FROM $base_image:$base_tag diff --git a/sycl/doc/developer/DockerBKMs.md b/sycl/doc/developer/DockerBKMs.md index 4b761c4075a2b..6f1db70e37ffa 100644 --- a/sycl/doc/developer/DockerBKMs.md +++ b/sycl/doc/developer/DockerBKMs.md @@ -53,10 +53,6 @@ development containers: NVidia/AMD and can be used for building DPC++ compiler from source with all backends enabled or for end-to-end testing with HIP/CUDA on machines with corresponding GPUs available. - - `devops/containers/sycl_ubuntu2204_nightly`: contains the latest successfully - built nightly build of DPC++ compiler. The Dockerfile comes in three flavors: - with pre-installed Intel drivers (`latest`), without them (`no-drivers`) and - with development kits installed (`build`). ### Ubuntu 24.04-based Dockerfiles @@ -78,7 +74,8 @@ development containers: NVidia/AMD and can be used for building DPC++ compiler from source with all backends enabled or for end-to-end testing with HIP/CUDA on machines with corresponding GPUs available. - + - `devops/containers/nightly`: contains the latest successfully + built nightly build of DPC++ compiler. ## Running Docker container interactively @@ -199,7 +196,7 @@ Docker containers can be built with the following command: docker build -f path/to/devops/containers/file.Dockerfile path/to/devops/ ``` -The `ubuntu2204_preinstalled.Dockerfile` script expects `llvm_sycl.tar.xz` file +The `nightly.Dockerfile` script expects `llvm_sycl.tar.xz` file to be present in `devops/` directory. Containers other than base provide several configurable arguments, the most