You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Jiri Daněk (Jira)" <ji...@apache.org> on 2021/01/22 17:39:00 UTC
[jira] [Updated] (DISPATCH-1928) Design for a platform-independent
way of doing CI
[ https://issues.apache.org/jira/browse/DISPATCH-1928?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jiri Daněk updated DISPATCH-1928:
---------------------------------
Description:
Every CI system has its own format of a build script. Such as .travis.yml, or Jenkinsfile. It makes sense to minimize the amount of code in such file and call some external Bash script instead. This way, multiple CI systems can be supported, migration is easier, and the scripts can be used outside of CI as well.
Besides Bash scripts, it is also possible to write a meta-Makefile, or CMakeLists.txt to do the same job. That is, to accept some variables (like PROTON_CHECKOUT_BRANCH or EXTRA_PROTON_CMAKE_ARGUMENTS), do the git cloning, building, and test running.
I am imagining that Dispatch could contain a meta-CMakeLists.txt which would have tasks to install ubuntu packages, clone and build proton, and to run regular dispatch cmake build, and to run tests. This could then be used from CI.
I believe that using CMake for this is cleaner than Bash or make. Other tools would be possible, but they are unfamiliar to most people (including me) and that would deter contributors.
was:
Every CI system has its own format of a build script. Such as .travis.yml, or Jenkinsfile. It makes sense to minimize the amount of code in such file and call some external Bash script instead. This way, multiple CI systems can be supported, migration is easier, and the scripts can be used outside of CI as well.
Besides Bash scripts, it is also possible to write a meta-Makefile, or CMakeLists.txt to do the same job. That is, to accept some variables (like PROTON_CHECKOUT_BRANCH or EXTRA_PROTON_CMAKE_ARGUMENTS), do the git cloning, building, and test running.
I am imagining that Dispatch could contain a meta-CMakeLists.txt which would have tasks to install ubuntu packages, clone and build proton, and to run regular dispatch cmake build, and to run tests. This could then be used from CI.
I believe that using CMake for this is cleaner than Bash or make.
> Design for a platform-independent way of doing CI
> -------------------------------------------------
>
> Key: DISPATCH-1928
> URL: https://issues.apache.org/jira/browse/DISPATCH-1928
> Project: Qpid Dispatch
> Issue Type: Wish
> Affects Versions: 1.14.0
> Reporter: Jiri Daněk
> Assignee: Jiri Daněk
> Priority: Minor
>
> Every CI system has its own format of a build script. Such as .travis.yml, or Jenkinsfile. It makes sense to minimize the amount of code in such file and call some external Bash script instead. This way, multiple CI systems can be supported, migration is easier, and the scripts can be used outside of CI as well.
> Besides Bash scripts, it is also possible to write a meta-Makefile, or CMakeLists.txt to do the same job. That is, to accept some variables (like PROTON_CHECKOUT_BRANCH or EXTRA_PROTON_CMAKE_ARGUMENTS), do the git cloning, building, and test running.
> I am imagining that Dispatch could contain a meta-CMakeLists.txt which would have tasks to install ubuntu packages, clone and build proton, and to run regular dispatch cmake build, and to run tests. This could then be used from CI.
> I believe that using CMake for this is cleaner than Bash or make. Other tools would be possible, but they are unfamiliar to most people (including me) and that would deter contributors.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org