rcsoccersim / rcssserver

The RoboCup Soccer Simulator Server
GNU Lesser General Public License v3.0
137 stars 51 forks source link

pipeline - automatic appimage creation and add official docker container release #148

Open sadraiiali opened 6 months ago

sadraiiali commented 6 months ago

Overview

This merge request aims to enhance the usability and standardization of the rcssserver by introducing the automatic build and release of its latest AppImage and DockerImage versions on GitHub. This will simplify the process for RoboCup users to download and run the rcssserver, while also providing an official version to standardize tournament runs on Docker.

AppImage Release Details

https://github.com/rcsoccersim/rcssserver/assets/23504332/13e02c5f-b671-4ef0-8d1f-23a99a00884e

This merge request includes the following files for the automatic AppImage release:

Docker Release Details

https://github.com/rcsoccersim/rcssserver/assets/23504332/fb3506eb-af36-4dbe-b239-fab95495f179

This merge request also includes the following files for the automatic Docker release:

Release Pipeline Usage

The automatic pipeline will skip creating a release if the release name already exists in the GitHub releases. To create a new release:

You can use the AppImage after each push to the registry to verify the correctness of your proposed changes.

Prerequisites for Pipeline Functionality

Manual Docker Image Build Instructions

  1. Clone the project and navigate to the project directory.
  2. Run the following command to build the Docker image:
docker build -f utils/docker/Dockerfile -t rcssserver:latest .
# You can replace `rcssserver:latest` with your preferred image name.
# For example, to publish it on my own Docker Hub, I can change it to `sadraiiali/rcssserver:latest`.
  1. After building the image, you can publish it to Docker Hub using the following commands:
# First, login to Docker Hub.
docker login
# Then, push the image to Docker Hub.
docker push sadraiiali/rcssserver:latest
  1. If you want to run the Docker image, use the following command:
docker run -it --rm --network host rcssserver:latest

Manual AppImage Build Instructions

  1. Clone the project and navigate to the project directory.
  2. Run the following command to build the code:
bash utils/appimage/build_code.sh
  1. Run the following command to build the AppImage:
bash utils/appimage/build_appimage.sh
  1. The AppImage will be created in the build folder.

Additional Resources