cgru icon indicating copy to clipboard operation
cgru copied to clipboard

cgru build pipeline

Open sebastianelsner opened this issue 2 years ago • 3 comments

Hello, I made a build pipeline based on github actions. What it does:

  • when a git tag, e.g. a version 3.1.1 is pushed
  • it will build full afanasy on github workers
  • it will package the release files, e.g. debian deb and tar archive
  • it will create a new release and upload the packaged files, e.g. https://github.com/sebastianelsner/cgru/releases

This is currently only done for ubuntu and debian, you can see it here: https://github.com/sebastianelsner/cgru/actions This will make releases go in seconds. The question is, if you are interested in merging this, should other Linux OSes also be compiled? I have no experience with windows, tho...

sebastianelsner avatar Feb 28 '23 12:02 sebastianelsner

I am not familiar with with github actions and workers. But making releases automatic it good! I usually create releases for 2 latest versions Ubuntu LTS, Debian stable, RedHat compatible (CentOS, now Rocky). This is what users need and ask for. Also there is always no problem to create it for the latest OpenSUSE and Fedora. https://cgru.readthedocs.io/en/latest/downloads/downloads.html (I use kvm virtual machines)

It much harder to do it for MS Widows. There is much lesser automation. Just a cmd script that run cmake with a needed environment. All needed depends need to be installed manually. Then you should manually open cmake generated project in Visual Studio.

But some brave man trying to automate windows too: https://github.com/CGRU/cgru/issues/552

timurhai avatar Feb 28 '23 16:02 timurhai

I see, the linuxes would not be a problem to create. I dont have much experience with windows. if #552 is solved we can add the build as well since github build pipelines allow for building on a windows vm. I will check to make the linuxes possible, so you can merge that and then later update the github release manually with windows.

sebastianelsner avatar Mar 25 '23 10:03 sebastianelsner

Can I use VCPKG package management? This is my attempt

-DCMAKE_TOOLCHAIN_FILE=E:/vcpkg/scripts/buildsystems/vcpkg.cmake

{
    "name": "cgru",
    "description": [
        "CGRU is the Computer Graphics Tools Pack."
    ],
    "version": "3.4.0",
    "$default-features-explanation": "Users using this library transitively will get all backends automatically",
    "default-features": [],
    "features": {},
    "builtin-baseline": "a42af01b72c28a8e1d7b48107b33e4f286a55ef6",
    "dependencies": [
        "python3",
        "qt5"
    ],
    "overrides": [
        {
            "name": "python3",
            "version": "3.10.7#7"
        },
        {
            "name": "qt5",
            "version": "5.15.2#1"
        },
        {
            "name": "libffi",
            "version": "3.4.4#2"
        }
    ]
}

uuiid avatar Mar 27 '24 01:03 uuiid