This repository contains the and automation tools for building and managing RetroDECK components.
This repo is generating artifacts and publish them in new releases.
main
are labeled as latest
while cooker
(dev branch) ones will be not as they are intended for the cooker builds, hence the development channel.
Each component directory contains:
recipe.sh
: Script to fetch and prepare the component.manifest.json
: A manifest with all the features of the emulator to be read by the RetroDECK Frameworkartifacts/
: Directory for storing downloaded or built artifacts, this directory is gitignored and cannot be pushed due to the big amount of data it will contain. The products of this folder are available as releases.
The automation-tools/
directory contains scripts to automate tasks such as:
- Fetching the latest releases of components.
- Managing artifacts.
- Building Flatpak packages.
utils.sh
: Contains utility functions for managing components.grab_releases.sh
: Automates the process of fetching and updating components.
The .github/workflows/
directory contains GitHub Actions workflows for:
- Building RetroDECK.
- Running automated tests.
- Publishing releases.
NOTE: during the process the recipes with type flatpak_id
will actually install flatpaks and then they should remove them, but if something error happens those might not be uninstalled. Be aware of this before runningthe script: in some circumistances the installed flatpak will be retained on your system, and the ones already present will be updated.
Run the following command to fetch the latest releases for all components:
bash ./automation_tools/grab_releases.sh
- Create a new directory for the component.
- Add a
recipe.sh
script to define how to fetch and prepare the component. - Add a
manifest.json
file with metadata for the component.
The GitHub Actions workflow automatically builds RetroDECK Components when changes are pushed to the repository. You can also trigger the workflow manually using the workflow_dispatch
event.
Contributions are welcome! Please follow these steps:
- Fork the repository.
- Create a new branch for your changes.
- Submit a pull request.
Name | Description |
---|---|
RetroDECK/RetroDECK | RetroDECK Repo: Main repo of the RetroDECK Project |
RetroDECK/Cooker | Cooker Repo: Cooker Build publication repo |
RetroDECK/Components | Components Repo: All Components live here |
RetroDECK/Wiki | Wiki Repo: RetroDECK mkdocs-material Wiki source code |
RetroDECK/RetroDECK-website | Website Repo: Retrodeck.net source code |
RetroDECK/ES-DE | ES-DE Repo: RetroDECK's light fork of ES-DE |
RetroDECK/RetroDECK-theme | Theme Repo: RetroDECK's ES-DE Theme |
flathub/net.retrodeck.retrodeck | Flathub Repo: net.retrodeck.retrodeck |
RetroDECK/repositories | Full Org Repo : All other repos in RetroDECK |
This project is licensed under the GNU General Public License v3.0.
For questions or support, please visit the RetroDECK Documentation.