Skip to content

CI Containers

CI Containers #984

name: Release E2E binaries
on:
workflow_dispatch:
permissions: read-all
jobs:
build_e2e_binaries:
name: Build E2E Binaries with release
runs-on: [Linux, build]
container:
image: ghcr.io/intel/llvm/ubuntu2404_intel_drivers:alldeps
options: -u 1001:1001
permissions:
packages: write
steps:
- uses: actions/checkout@v4
with:
sparse-checkout: |
devops/actions
- name: Download release
shell: bash
run: |
wget https://github.com/intel/llvm/releases/download/v6.1.0/linux-sycl-6.1.0.tar.gz
mkdir -p toolchain
tar xf linux-sycl-6.1.0.tar.gz -C toolchain
if [ -e /runtimes/oneapi-tbb/env/vars.sh ]; then
source /runtimes/oneapi-tbb/env/vars.sh;
elif [ -e /opt/runtimes/oneapi-tbb/env/vars.sh ]; then
source /opt/runtimes/oneapi-tbb/env/vars.sh;
else
echo "no TBB vars in /opt/runtimes or /runtimes";
fi
- name: Build e2e
uses: ./devops/actions/run-tests/e2e
with:
ref: v6.1.0
testing_mode: build-only
target_devices: all
sycl_compiler: $GITHUB_WORKSPACE/toolchain/bin/clang++
extra_lit_opts: --param sycl_build_targets="spir;nvidia;amd"
- name: Pack E2E
run: |
tar -czf e2e_tests.tar.gz build-e2e llvm
- name: Upload E2E
uses: actions/upload-artifact@v4
with:
name: e2e_tests
path: e2e_tests.tar.gz
# Couldn't make it work from inside the container, so have to use an extra job
# and pass an artifact.
docker_build_push:
runs-on: [Linux, build]
needs: build_e2e_binaries
permissions:
packages: write
if: always()
steps:
- uses: actions/checkout@v4
with:
sparse-checkout: |
devops/
- uses: actions/download-artifact@v4
with:
name: e2e_tests
path: devops/
- name: Build container
uses: ./devops/actions/build_container
with:
push: true
file: release_e2e_binaries
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
build-args: |
"github_workspace=${{ github.workspace }}"
tags: |
ghcr.io/${{ github.repository }}/sycl_e2e_binaries_6.1.0:latest