CI Containers #4
This file contains 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/containers/**' | |
- 'devops/dependencies.json' | |
- 'devops/scripts/install_drivers.sh' | |
- 'devops/scripts/install_build_tools.sh' | |
- '.github/workflows/sycl_containers.yaml' | |
pull_request: | |
paths: | |
- 'devops/containers/**' | |
- 'devops/dependencies.json' | |
- 'devops/scripts/install_drivers.sh' | |
- 'devops/scripts/install_build_tools.sh' | |
- '.github/workflows/sycl_containers.yaml' | |
jobs: | |
base_image_ubuntu2204: | |
if: github.repository == 'intel/llvm' | |
name: Base Ubuntu 22.04 Docker image | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 2 | |
- name: Build and Push Container | |
uses: ./devops/actions/build_container | |
with: | |
push: ${{ github.event_name != 'pull_request' }} | |
file: ubuntu2204_base | |
username: ${{ github.repository_owner }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
tags: | | |
ghcr.io/${{ github.repository }}/ubuntu2204_base:${{ github.sha }} | |
ghcr.io/${{ github.repository }}/ubuntu2204_base:latest | |
build_image_ubuntu2204: | |
if: github.repository == 'intel/llvm' | |
name: Build Ubuntu Docker image | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 2 | |
- name: Build and Push Container | |
uses: ./devops/actions/build_container | |
with: | |
push: ${{ github.event_name != 'pull_request' }} | |
file: ubuntu2204_build | |
username: ${{ github.repository_owner }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
tags: | | |
ghcr.io/${{ github.repository }}/ubuntu2204_build:${{ github.sha }} | |
ghcr.io/${{ github.repository }}/ubuntu2204_build:latest | |
# This job produces a Docker container with the latest versions of Intel | |
# drivers, that can be found on GitHub. | |
drivers_image_ubuntu2204: | |
if: github.repository == 'intel/llvm' | |
name: Intel Drivers Ubuntu 22.04 Docker image | |
runs-on: ubuntu-22.04 | |
needs: base_image_ubuntu2204 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 2 | |
- name: Get dependencies configuration | |
id: deps | |
run: | | |
DEPS=`cat devops/dependencies.json` | |
DEPS="${DEPS//$'\r'/''}" | |
DEPS="${DEPS//$'\n'/' '}" | |
echo $DEPS | |
echo "deps=$DEPS" >>$GITHUB_OUTPUT | |
- name: Build and Push Container | |
uses: ./devops/actions/build_container | |
with: | |
push: ${{ github.event_name != 'pull_request' }} | |
file: ubuntu2204_intel_drivers | |
username: ${{ github.repository_owner }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
tags: | | |
ghcr.io/${{ github.repository }}/ubuntu2204_intel_drivers:latest-${{ github.sha }} | |
ghcr.io/${{ github.repository }}/ubuntu2204_intel_drivers:latest | |
build-args: | | |
compute_runtime_tag=${{fromJson(steps.deps.outputs.deps).linux.compute_runtime.github_tag}} | |
igc_tag=${{fromJson(steps.deps.outputs.deps).linux.igc.github_tag}} | |
cm_tag=${{fromJson(steps.deps.outputs.deps).linux.cm.github_tag}} | |
level_zero_tag=${{fromJson(steps.deps.outputs.deps).linux.level_zero.github_tag}} | |
tbb_tag=${{fromJson(steps.deps.outputs.deps).linux.tbb.github_tag}} | |
fpgaemu_tag=${{fromJson(steps.deps.outputs.deps).linux.fpgaemu.github_tag}} | |
cpu_tag=${{fromJson(steps.deps.outputs.deps).linux.oclcpu.github_tag}} | |
# This job produces a Docker container with the latest versions of Intel | |
# drivers, that can be found on GitHub. | |
drivers_image_ubuntu2204_unstable: | |
if: github.repository == 'intel/llvm' | |
name: Intel Drivers (unstable) Ubuntu 22.04 Docker image | |
runs-on: ubuntu-22.04 | |
needs: base_image_ubuntu2204 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 2 | |
- name: Get dependencies configuration | |
id: deps | |
run: | | |
DEPS=`cat devops/dependencies.json` | |
DEPS="${DEPS//$'\r'/''}" | |
DEPS="${DEPS//$'\n'/' '}" | |
echo $DEPS | |
echo "deps=$DEPS" >>$GITHUB_OUTPUT | |
- name: Build and Push Container | |
uses: ./devops/actions/build_container | |
with: | |
push: ${{ github.event_name != 'pull_request' }} | |
file: ubuntu2204_intel_drivers | |
username: ${{ github.repository_owner }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
tags: | | |
ghcr.io/${{ github.repository }}/ubuntu2204_intel_drivers:unstable-${{ github.sha }} | |
ghcr.io/${{ github.repository }}/ubuntu2204_intel_drivers:unstable | |
# build-args:empty, so we automatically take the "latest" tags as | |
# unstable |