[CI] Introduce driver and nightly containers#4777
Conversation
Can we employ Dependabot to update the dependencies? |
devops/dependencies.json
Outdated
| @@ -0,0 +1,10 @@ | |||
| { | |||
| "linux": { | |||
There was a problem hiding this comment.
Are you going to add Windows drivers support?
| check: | ||
| runs-on: ubuntu-20.04 | ||
| if: github.repository == 'intel/llvm' | ||
| strategy: |
There was a problem hiding this comment.
Hm... I thought we can re-use the workflow added by #4773. I see a lot of duplicated commands from .github/workflows/sycl_linux_build_and_test.yml.
There was a problem hiding this comment.
Yes, that's the intention. I'll fix that before moving PR to ready for review.
| - sycl | ||
| jobs: | ||
| check: | ||
| runs-on: ubuntu-20.04 |
There was a problem hiding this comment.
Can't we re-use of the containers to avoid configuring the system from scratch?
| runs-on: ubuntu-latest | ||
| needs: ubuntu2004_build_test | ||
| steps: | ||
| - uses: actions/checkout@v2 |
There was a problem hiding this comment.
Ideally, we should save the time on checking out sources by using an image where some old SHA is checked out already and we need just update it.
There was a problem hiding this comment.
I'm not sure saving 1 minute on a 1,5 hour build is a significant improvement.
There was a problem hiding this comment.
Maybe not significant, but still an improvement!
I'm okay to get back to this after we configure everything else.
No, it only support certain build tools. But we can still make some bot, that'll check for updates. |
What do you mean by "build tools"? |
Rust's cargo or npm as examples |
I think these are called "package managers" and as I can see there is a way to configure "github-actions" package manager, which should be able to update packages releases through GitHub, but haven't tried it myself. Does it make sense? |
It updates actions, used in workflow, published in https://github.com/marketplace. This isn’t what we need. |
devops/dependencies.json
Outdated
| "compute_runtime_tag": "21.37.20939", | ||
| "igc_tag": "igc-1.0.8517", | ||
| "tbb_tag": "v2021.4.0", | ||
| "fpgaemu_tag": "2021-07", | ||
| "cpu_tag": "2021-07" |
There was a problem hiding this comment.
we have duplicated version here. Is there a chance that this data will be read from https://github.com/intel/llvm/blob/sycl/buildbot/dependency.conf?
We can change the format of the dependency file to match expectations if needed.
There was a problem hiding this comment.
@vladimirlaz we can discuss this offline. As PR description says, this file specifies git tags, so that CI can download dependencies from public sources. I don't see a pattern in dependency.conf to construct a download URL, but it would be nice to avoid duplication (also it does not specify IGC version, but that's the least of my concerns with that file).
|
I suggest to proceed with latest drivers for now and figure out how to set preferred version later. |
…vm into add_more_sycl_containers
| dpkg -i *.deb && rm *.deb | ||
|
|
||
| # Install NEO | ||
| RUN python3 /get_release.py intel/compute-runtime $compute_runtime_tag \ |
There was a problem hiding this comment.
is ocloc installed as part of this installation?
There was a problem hiding this comment.
Yes, it's part of intel-opencl-icd_smth.deb
This pull request is a followup on #4754, that adds two more Docker containers: a container with Intel drivers installed and a container with pre-installed nightly build of DPC++ from this repository.
"Intel drivers" container includes all the latest version of low-level runtimes for Intel devices.
The "nightly" container is derived from "Intel drivers" container, and provides the latest nightly build of SYCL.
Requires: #4773
Documentation: #4778