This repository contains sample Public/Cloud CI configurations that demonstrate installing Intel® oneAPI toolkit components and building applications. You may also find this repository useful for automating the install process on your own systems. The following configurations are supported:
Compilers | icc, icx, icpx, dpcpp, ifort, ifx |
OS platforms | Linux, Windows, MacOS |
Install methods | Intel installer, apt, dnf, docker container, CI cache |
The config files are intended to be samples that demonstrate a wide variety of use cases. For your own use, select the parts that you need. You may also want to customize the set of compilers and libraries that are installed. See component listings for the component names to use in the scripts.
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 | ✗ | ✗ | ✔ | ✗ | ✗ | ✗ |
Some of the oneAPI components are large and can take a few minutes to download install. To accelerate install, we demonstrate the use of caching.
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.
Enabling Performance Profiling in GitLab* CI
Detailed install logs are saved as artifacts in most CI jobs. Those logs can be helpful in case of installation issues.
The contents of this repository follows the SPDX standard for documenting license information. The Intel oneAPI compilers and libraries are distributed separately. They are free to use and are governed by the oneAPI EULA.
See contributing.
See security guidelines.