[ 
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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to