OpenCL-SDK icon indicating copy to clipboard operation
OpenCL-SDK copied to clipboard

Update CI, CD

Open mfep opened this issue 1 year ago • 2 comments

  • Updated format enforcing script.
  • Minor changes to source files to avoid warnings on all compilers tested in CI.
    • -Werror//WX is enabled in CI, however a list of warnings had to be enabled, since their resolution was deemed out-of-scope.
  • Added clinfo as a dependency, that is built with the project.
  • Refactored the CMakeLists.txt to be able to produce binary Debian packages using cpack.
    • CMake minimum version is bumped to 3.16.
  • Updated the CI (pre-release) script.
    • 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
      • CMake versions: 3.26 and 3.16 on Ubuntu 20.04
      • CMake generators: Ninja Multi-Config, Unix Makefiles
      • Added test execution
      • Added the generation of the Debian package and testing the consumption of the package, as well as the installed tree
    • 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
      • 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
      • Added test execution
      • Added build and test steps checking the consumption of the installed tree
    • Updated MacOS CI, which runs on MacOS 13
      • Compiler: Apple-Clang 14
      • Binary target: x86-64
      • CMake: system installed, currently 3.27
      • CMake generators: Ninja Multi-Config, XCode
      • Added test execution
      • Added build and test steps checking the consumption of the installed 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
  • Updated the release workflow
    • Added DebSourcePkg.cmake which is intended to run in CMake script mode. This script generates the debian/control, debian/changelog and 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.
    • clinfo is not part of the aforementioned Debian source package, since the Debian package build on Launchpad cannot access the Internet. A potential solution would be forking clinfo and referencing it as a submodule, but this was decided to be out-of-scope for now.
    • Detailed instruction regarding the release procedure is added to RELEASE.md.

A ToDo item is to revert the referenced submodule commits to the KhronosGroup repos, once the respective PRs have been merged.

This PR is considered to be complete, albeit review remarks and/or changes to related PRs might warrant minor updates.

mfep avatar Oct 17 '23 14:10 mfep

CLA assistant check
All committers have signed the CLA.

CLAassistant avatar Oct 17 '23 14:10 CLAassistant

Latest commits:

  • update Docker images so that the ones from the khronosgroup Docker Hub are used

  • fix MSVC compiler toolset version due to breaking change in the MSVC versioning (see cppblog)

    We have incremented the minor version number of the MSVC toolset from 19.39 (VS 2022 v17.9) to 19.40 (VS 2022 v17.10)

Beanavil avatar Jun 18 '24 12:06 Beanavil

@bashbaug so should we merge?

Beanavil avatar Sep 27 '24 09:09 Beanavil

Merging as discussed in the October 1st teleconference.

We'll check that the install directories are working as we intend after merging. Specifically, with a non-multi-config generator (e.g. Makefiles), does the install go into per-config directories, or into a single lib or bin directory?

bashbaug avatar Oct 01 '24 16:10 bashbaug