This repo contains sample Public/Cloud CI configurations that demonstrate installing Intel® oneAPI toolkit components and building applications:
Compilers | icc, ifort, dpcpp |
OS platforms | Linux, Windows, MacOS |
Install methods | Intel® installer, apt, dnf, docker container |
The config files show examples of all supported configurations. Delete the ones you do not want.
For a complete list of components available for installation,
see
.
CI | Config | Status |
---|---|---|
GitHub Actions | .github/workflows/build_all.yml | |
Circle CI | .circleci/config.yml | |
AppVeyor | .appveyor.yml | |
GitLab CI | .gitlab-ci.yml | |
Azure Pipelines | .azure-pipelines.yml |
C++/Fortran/DPC++ | C++/Fortran | |||||
---|---|---|---|---|---|---|
CI | Linux APT | Linux DNF | Linux Docker | Linux | Windows | MacOS |
GitHub | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
Circle | ✔ | ✔ | ✔ | ✔ | ✔ | ✗ |
AppVeyor | ✔ | ✗ | ✗ | ✔ | ✔ | ✔ |
GitLab | ✔ | ✔ | ✗ | ✔ | ✔ | ✗ |
Azure | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
Jenkins | ✗ | ✗ | ✔ | ✗ | ✗ | ✗ |
There are multiple ways to add oneAPI tools to a Jenkins pipeline:
setup the tools on Jenkins agent directly, or create custom container with the tools you need
- refer to Intel® oneAPI Toolkits Installation Guides for details
- explore installation scripts in this repo for examples
use optimized containers from Intel oneContainer Portal
The Jenkinsfile in this repo demonstrates building DPC++, C++ and Fortran samples in intel/oneapi-hpckit container in Jenkins.
To give it a try:
- Follow Jenkins Install Guide to setup Jenkins, or use your existing setup.
- Install Docker and Docker Pipeline plugins.
- Create new pipeline for this repository using New Item -> Pipeline.
- Build the pipeline.
- The result will look like this in Blue Ocean.
The repo contains scripts that can be used in CI configurations to collect detailed installation logs in case of installation issues. Replace calls to "install" scripts with calls to "install_debug" or "install_debug_hang" scripts to use this functionality.
See licenses
See contributing.
See security guidelines.