Closed sadraiiali closed 3 months ago
Builds will takes around ~2min right now. but with caching the docker image it can be cut in half :)
Process of creating release note can be automatize with using semantic-release
change the version of appimage in .desktop by CmakeLists.txt version
Thanks for providing an automated release procedure. I am concerned about whether we can maintain it if GitHub's specifications change. I will suspend this system if maintenance cannot continue or if something works incorrectly. Is it okay? Generating and releasing AppImage is a good idea. Is it possible to put in place a procedure to do this manually?
Yes, for sure it is ok.
I will try my best to provide support for this automatic build system.
Right now the system is working as expected on my demo repository [LINK TO DEMO REPO].
If there were any bugs or any kind of problem just simply tell me, then I will fix it on my demo project and create a pull request like right now for the main project :)
you can also create the appimage using the scripts manually.
build
bash utils/appimage/build_code.sh
bash utils/appimage/build_appimage.sh
Then the app image must be available at build
folder.
Just keep in mind if you want to use the appimage in the linux distro with older version of glibc (like ubuntu 20.04) you must build the code with those operating system.
for example : if you build the code on ubuntu 24.04 it will not work on ubuntu 20.04 but if you build the code with ubuntu 20.04 it will also work on ubuntu 24.04
please let me know if this process works for you :) thanks.
ps. also as a maintainer you can download artifact of each build on the build page. this will help to see output of each commit and eather if it did built correctly or not. like :
unfortunately, libfuse [link] is one of the few requirements for running appimages. so we can not include it on the app image it self.
by the way, it seems like the new distros they are migrating fuse 3 maybe in future we will also add support for that too.
https://github.com/rcsoccersim/rcssmonitor/assets/23504332/c6b4736d-8b57-4ccf-bf21-cd36d30a6333
Overview
This merge request introduces the capability to automatically build and release the latest version of rcsssmonitor to GitHub. It enables the creation of the application's AppImage within the GitHub action pipeline, which is subsequently saved to the release on GitHub. This enhancement simplifies the download and execution process of the rcssmonitor for RoboCup users.
Technical Implementation
The merge request involves the addition of the following files to the repository:
.github/workflows/main.yml
: This is the GitHub action pipeline responsible for building the AppImage and publishing the release.utils/appimage/*
: This directory contains all files related to the building of the AppImage, including:.gitignore
- for ignoring build materialsIn the event that the release name already exists in the GitHub releases, the creation process will be bypassed.
How to use
To create a new release, the following steps must be undertaken:
CMakeLists.txt
file.NEWS
file, adhering to the existing format. Upon pushing these changes, the release will be automatically created.Furthermore, after each push to the registry, the AppImage can be utilized to validate the correctness of the proposed changes.
External Resources Utilized
Additional Resources