# SPDX-License-Identifier: GPL-2.0-or-later # Copyright (C) 2021-present 351ELEC # Copyright (C) 2022-present Fewtarius ### Based on work by @pkegg name: build-main on: repository_dispatch: types: [release-main] concurrency: group: main jobs: build: timeout-minutes: 1440 runs-on: main steps: - uses: hmarr/debug-action@v2 name: debug - name: get current branch as it may not be 'default branch; id: branch run: | branch_arg="${{ github.event.client_payload.branch }}" if [[ -z "$branch_arg" ]]; then branch_arg="$GITHUB_REF_NAME" fi echo "branch=$branch_arg" >> $GITHUB_OUTPUT - uses: actions/checkout@v3 name: checkout with: clean: false ref: "${{ steps.branch.outputs.branch }}" - name: Get date for artifacts id: date run: echo "date=$(date +'%Y%m%d')" >> $GITHUB_OUTPUT - name: Get short SHA for artifacts id: sha run: echo "sha=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT - name: Get version id: version run: | set -e echo "full name: ${{ github.event.repository.full_name }}" if [[ "${{ github.event.client_payload.release_tag }}" != "" ]]; then echo "version=${{ github.event.client_payload.release_tag }}" >> $GITHUB_OUTPUT else echo "version=${{ steps.date.outputs.date }}-${{ steps.sha.outputs.sha }}" >> $GITHUB_OUTPUT fi - name: Build World run: | set -e CUSTOM_VERSION="${{ steps.version.outputs.version }}" DOCKER_WORK_DIR="/work" DOCKER_EXTRA_OPTS="-v /buildroot:/buildroot" make docker-world - name: Create release as draft at first to hide during uploads if: github.event.action == 'release-main' uses: ncipollo/release-action@v1 with: tag: "${{ steps.version.outputs.version }}" body: |         [![Latest Version](https://img.shields.io/github/release/JustEnoughLinuxOS/distribution.svg?color=5998FF&label=latest%20version&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/releases/latest) [![Activity](https://img.shields.io/github/commit-activity/m/JustEnoughLinuxOS/distribution?color=5998FF&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/commits) [![Pull Requests](https://img.shields.io/github/issues-pr-closed/JustEnoughLinuxOS/distribution?color=5998FF&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/pulls) [![Discord Server](https://img.shields.io/discord/948029830325235753?color=5998FF&label=chat&style=flat-square)](https://discord.gg/seTxckZjJy) # Just Enough Linux Operating System (JELOS) is a community developed Linux distribution for handheld gaming devices. Our goal is to produce an operating system that has the features and capabilities that we need, and to have fun as we develop it. ## Licenses JELOS is a Linux distribution that is made up of many open-source components. Components are provided under their respective licenses. This distribution includes components licensed for non-commercial use only. ### JELOS Branding JELOS branding and images are licensed under a [Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License](https://creativecommons.org/licenses/by-nc-sa/4.0/). #### You are free to * Share — copy and redistribute the material in any medium or format * Adapt — remix, transform, and build upon the material #### Under the following terms * Attribution — You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use. * NonCommercial — You may not use the material for commercial purposes. * ShareAlike — If you remix, transform, or build upon the material, you must distribute your contributions under the same license as the original. ### JELOS Software Copyright 2021-present Fewtarius Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ## Installation * Download the latest version of JELOS. * Decompress the image. * Write the image to an SDCARD using an imaging tool. Common imaging tools include [Balena Etcher](https://www.balena.io/etcher/), [Raspberry Pi Imager](https://www.raspberrypi.com/software/), and [Win32 Disk Imager](https://sourceforge.net/projects/win32diskimager/). If you're skilled with the command line, dd works fine too. ### Installation Package Downloads |**Device/Platform**|**Download Package**|**Documentation**| |----|----|----| |**Anbernic RG351P/M, ODROID Go Advance, ODROID Go Super**|[JELOS-RK3326.aarch64-${{ steps.version.outputs.version }}.img.gz](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-RK3326.aarch64-${{ steps.version.outputs.version }}.img.gz)|[documentation](/documentation/RK3326/)| |**Anbernic RG353P/M/V/VS, RG503, and Powkiddy RK2023**|[JELOS-RK3566.aarch64-${{ steps.version.outputs.version }}.img.gz](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-RK3566.aarch64-${{ steps.version.outputs.version }}.img.gz)|[documentation](/documentation/RK3566/)| |**Anbernic RG552**|[JELOS-RK3399.aarch64-${{ steps.version.outputs.version }}.img.gz](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-RK3399.aarch64-${{ steps.version.outputs.version }}.img.gz)|[documentation](/documentation/RK3399/)| |**Atari VCS, AOKZOE, Ayaneo, GPD, and other x86_64 devices**|[JELOS-AMD64.x86_64-${{ steps.version.outputs.version }}.img.gz](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-AMD64.x86_64-${{ steps.version.outputs.version }}.img.gz)|[documentation](/documentation/AMD64/)| |**Hardkernel ODROID Go Ultra, Powkiddy RGB10 Max 3 Pro**|[JELOS-S922X.aarch64-${{ steps.version.outputs.version }}.img.gz](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-S922X.aarch64-${{ steps.version.outputs.version }}.img.gz)|[documentation](/documentation/S922X/)| |**Orange Pi 5, and Indiedroid Nova**|[JELOS-RK3588.aarch64-${{ steps.version.outputs.version }}.img.gz](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-RK3588.aarch64-${{ steps.version.outputs.version }}.img.gz)|[documentation](/documentation/RK3588/)| |**Powkiddy x55**|[JELOS-RK3566-X55.aarch64-${{ steps.version.outputs.version }}.img.gz](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-RK3566-X55.aarch64-${{ steps.version.outputs.version }}.img.gz)|[documentation](/documentation/RK3566-X55/)| ## Upgrading * Download and install the update online via the System Settings menu. * If you are unable to update online * Download the latest version of JELOS from Github * Copy the update to your device over the network to your device's update share. * Reboot the device, and the update will begin automatically. ### Update Package Downloads |**Device/Platform**|**Download Package**| |----|----| |**Anbernic RG351P/M, ODROID Go Advance, ODROID Go Super**|[JELOS-RK3326.aarch64-${{ steps.version.outputs.version }}.tar](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-RK3326.aarch64-${{ steps.version.outputs.version }}.tar)| |**Anbernic RG353P/M/V/VS, RG503, and Powkiddy RK2023**|[JELOS-RK3566.aarch64-${{ steps.version.outputs.version }}.tar](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-RK3566.aarch64-${{ steps.version.outputs.version }}.tar)| |**Anbernic RG552**|[JELOS-RK3399.aarch64-${{ steps.version.outputs.version }}.tar](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-RK3399.aarch64-${{ steps.version.outputs.version }}.tar)| |****Atari VCS, AOKZOE, Ayaneo, GPD, and other x86_64 devices****|[JELOS-AMD64.x86_64-${{ steps.version.outputs.version }}.tar](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-AMD64.x86_64-${{ steps.version.outputs.version }}.tar)| |**Hardkernel ODROID Go Ultra, Powkiddy RGB10 Max 3 Pro**|[JELOS-S922X.aarch64-${{ steps.version.outputs.version }}.tar](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-S922X.aarch64-${{ steps.version.outputs.version }}.tar)| |**Orange Pi 5, and Indiedroid Nova**|[JELOS-RK3588.aarch64-${{ steps.version.outputs.version }}.tar](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-RK3588.aarch64-${{ steps.version.outputs.version }}.tar)| |**Powkiddy x55**|[JELOS-RK3566-X55.aarch64-${{ steps.version.outputs.version }}.tar](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-RK3566-X55.aarch64-${{ steps.version.outputs.version }}.tar)| ## Documentation ### Documentation For Developers * [Building The Distribution](/documentation/DEVEL_BUILDING_JELOS.md) * [Contributor Code of Conduct](/CODE_OF_CONDUCT.md) * [Contributing to JELOS](/CONTRIBUTING.md) * [Adding Hardware Quirks](/documentation/DEVEL_ADD_HARDWARE_QUIRKS.md) * [Creating Packages](/documentation/DEVEL_CREATING_PACKAGES.md) * [Pull Request Template](/PULL_REQUEST_TEMPLATE.md) ### Documentation For Everyone * [Installation and Device Support](https://github.com/JustEnoughLinuxOS/distribution/tree/main#readme) * [Device Specific Documentation](/documentation/PER_DEVICE_DOCUMENTATION) * [Donating to JELOS](/documentation/GENERAL_DONATING_TO_JELOS.md) * [Frequently Asked Questions](/documentation/GENERAL_FREQUENTLY_ASKED_QUESTIONS.md) * [Hotkeys and Button Codes](/documentation/GENERAL_HOTKEYS_AND_BUTTON_CODES.md) * [Optimizing Performance and Battery Life](/documentation/GENERAL_PERFORMANCE_AND_BATTERY.md) * [Network Play](/documentation/GENERAL_NETWORK_PLAY.md) ### Using JELOS * [Setting Up Cloud Drives](/documentation/SETUP_CLOUD_DRIVES.md) * [Setting Up Syncthing](/documentation/SETUP_SYNCTHING.md) * [Game Engines and Launch Files](/documentation/SETUP_GAME_ENGINES_AND_LAUNCH_FILES.md) * [Configuring Moonlight Streaming](/documentation/SETUP_MOONLIGHT_STREAMING.md) * [Setting Up P2P Networking With ZeroTier](/documentation/SETUP_P2P_ZEROTIER.md) * [Configure TailScale VPN](/documentation/SETUP_VPN_TAILSCALE.md) * [Setting Up Wireguard VPN](/documentation/SETUP_VPN_WIREGUARD.md) * [Creating Custom Shader Presets for Per Game / Per System Use](https://github.com/JustEnoughLinuxOS/distribution/blob/main/documentation/GENERAL_CUSTOM_SHADERS.md) artifacts: "release/*" prerelease: false draft: true token: ${{ secrets.REPO_ACCESS }} owner: JustEnoughLinuxOS repo: distribution