Welcome to our new forum
All users of the legacy CODESYS Forums, please create a new account at account.codesys.com. But make sure to use the same E-Mail address as in the old Forum. Then your posts will be matched. Close

Github Actions CI/CD tasks - development topic

  • kevinrn - 2024-03-28

    Hello community,

    I just want to inform you about our plans and the current status of automating the build process for CODESYS libraries. So it might be helpful for some people who are in the same situation.

    Background story:
    I am a software engineer at powerIO GmbH, normally I use high level languages for the products we develop and offer. Sometimes I work with my team on CODESYS libraries, which can also be found in the CODESYS store. Most of the time I spend with them on architecture tasks and tasks that are not directly related to our products.

    Every time I see the manual processes for releasing a library etc., I am very surprised about this time intensive process.

    Current situation:
    I know there has been a scripting interface for years. CODESYS Git was released a few years ago, but the scripting interface was only released a few months (weeks?) ago. We developed a pseudo-automated solution a few months ago, but it was all very hacky.

    So now there is a better Git implementation and also more modularization and installation options. For example, the CODESYS installer has a full CLI, which makes it very convenient to install CODESYS installations headless.

    I think it's the right time to develop a better automation solution.

    Most of our software projects are hosted on Github and we use Github actions very intensively for other software projects. Therefore, we have decided to use Github for our CODESYS library projects as well.

    Following tasks should be implemented in automation for CI/CD tasks:
    - Automated setup of CODESYS installation (Already released: https://github.com/marketplace/actions/setup-codesys-installation)
    - Checkout CODESYS libraries
    - Execute tests scripts
    - Sign CODESYS libraries
    - Extract Library documentation
    - Create CODESYS package
    - Sign CODESYS package

    Side Note:
    - This is mainly a side project, and we do not provide support for the CI/CD part.
    - This topic is here to help and also to get help from other software engineers.
    - This project and idea is not prioritized as I am currently the only one working on it and I hope it will help us and also others and increase productivity.
    - We are putting this out there as an organization, but priorities can change quickly and the CI/CD tasks I am developing are mostly done in my spare time. So please don't expect this to happen in a short time or even be fully completed.

    I would be very happy if some ppl will join the development process and might be open to discuss some technical details for this.

    I hope this topic is not to off-topic, but I think the CI/CD part is very important today and it can increase a lot of quality and push productivity.

    Thanks :)

  • kevinrn - 2024-03-28

    @eschwellinger can this be moved to the engineering section (forum) ?


Log in to post a comment.