OpenCL-Headers
OpenCL-Headers copied to clipboard
Updated CI, added CD
- Added .gitignore file,
- Added .clang-format (based on OpenCL-SDK's corresponding file) and format enforcing script.
- Minor changes to source files to avoid warnings on all compilers tested in CI.
-
-Werror//WXis enabled in CI
-
- Refactored the
CMakeLists.txtto be able to produce a binary Debian package usingcpack.- CMake minimum version is bumped to 3.16.
- Updated the CI (pre-release) script.
- Removed the previous separate workflows for Windows, MacOS and Linux. All CI scripts reside in the
presubmitworkflow now. - Added a job that checks the changed code for formatting conformance via
git-clang-format. - Updated Linux CI to use a new container image
- Most jobs in the matrix are based on Ubuntu 22.04
- Compilers gcc-11, gcc-13, clang-14, clang-16 and gcc-9 on Ubuntu 20.04
- Binary targets: x86-64 and x86 on Ubuntu 20.04
- C standards: 99, 11, 17
- CMake versions: 3.26 and 3.16 on Ubuntu 20.04
- CMake generators: Ninja Multi-Config, Unix Makefiles
- Added the generation of the Debian package, testing the package, and testing the install tree to the workflow
- Updated Windows CI, which runs on Windows Server 2022
- MSVC toolsets: v141, v142, v143, clang-cl (this latter with msbuild only)
- Binary targets: x86-64, x86
- C standards: 99, 11, 17
- CMake: system installed, currently 3.27
- CMake generators: Ninja Multi-Config, Visual Studio 17 2022
- Added the result checking of the external command invocations in the PowerShell snippets
- Updated MacOS CI, which runs on MacOS 13
- Compilers: Apple-Clang 14, gcc-11, gcc-13 (gcc with Ninja Multi-Config only)
- Binary target: x86-64
- C standards: 99, 11, 17
- CMake: system installed, currently 3.27
- CMake generators: Ninja Multi-Config, XCode
- Added test checking the consumption of the install tree
- Added Android CI, which is build only (virtualization is not available with the default GitHub runners)
- Binary targets: x86-64, arm64
- Android API levels: 19, 33
- Removed the previous separate workflows for Windows, MacOS and Linux. All CI scripts reside in the
- Added a release workflow which triggers on the push of a
v*tag- Added
DebSourcePkg.cmakewhich is intended to run in CMake script mode. This script generates thedebian/control,debian/changelogand ``debian/rules` files which are required to build a Debian source package. - The release workflow generates the Debian source package and pushes it to a prescribed Launchpad PPA. The details of the release (e.g. maintainer, signing key) has to be set up as repository variables.
- Detailed instruction regarding the release procedure is going to be added to the OpenCL SDK repository.
- Added
This PR is considered to be complete, albeit review remarks and/or changes to related PRs might warrant minor updates.
The commits are authored by me, however a significant part of the work has been done by @Beanavil.