15 Commits

Author SHA1 Message Date
5da087b391 Pack Version bump to 1.0.0-b3
All checks were successful
Build and Release / build-and-release (push) Successful in 9s
Generate Release Files / generate-releases (push) Successful in 40s
2026-02-22 23:12:44 +01:00
170759c063 Added mGBA to emulators
All checks were successful
Build and Release / build-and-release (push) Successful in 11s
2026-02-22 23:00:08 +01:00
GitHub Action
7984a41bda chore: update INI section versions [skip ci] 2026-02-22 00:00:39 +00:00
3a69140bd3 Fix Goldleaf and linkalho download formats in apps.ini
All checks were successful
Build and Release / build-and-release (push) Successful in 11s
Generate Release Files / generate-releases (push) Successful in 37s
2026-02-17 20:20:04 +01:00
GitHub Action
5e03eb3455 chore: update INI section versions [skip ci] 2026-02-17 00:00:39 +00:00
GitHub Action
fa4dd6f4de chore: update INI section versions [skip ci] 2026-02-15 00:00:39 +00:00
3aa1cd1b11 Updated workflow
All checks were successful
Build and Release / build-and-release (push) Successful in 9s
Generate Release Files / generate-releases (push) Successful in 38s
2026-02-15 00:27:19 +01:00
5229fa8274 Updated workflow
All checks were successful
Build and Release / build-and-release (push) Successful in 9s
2026-02-15 00:26:05 +01:00
1a7d03cb19 Updated workflow and current
All checks were successful
Build and Release / build-and-release (push) Successful in 11s
2026-02-15 00:24:38 +01:00
6c58601db8 Version bumped main 1.0.0-b2 2026-02-15 00:20:53 +01:00
f37cb9e23a Version bump to 1.0.0-b2 2026-02-15 00:19:29 +01:00
effe5c2dac Fixed emuiibo extraction
All checks were successful
Generate Release Files / generate-releases (push) Successful in 38s
2026-02-13 22:03:31 +01:00
GitHub Action
a643c9ca40 chore: update INI section versions [skip ci] 2026-02-11 15:26:23 +00:00
2f84cf11ea Updated NX-Activity-Log Repo 2026-02-11 16:25:26 +01:00
69d3107c26 Added NX in advanced section 2026-02-11 16:01:18 +01:00
9 changed files with 51 additions and 137 deletions

View File

@@ -2,138 +2,39 @@ name: Build and Release
on: on:
push: push:
tags:
- '[0-9]+.[0-9]+.[0-9]+*' # Trigger on version tags like 1.0.0
workflow_dispatch: # Allow manual trigger
inputs:
hotfix:
description: 'Hotfix mode - update latest release instead of creating new one'
required: false
type: boolean
default: false
jobs: jobs:
build-and-release: build-and-release:
runs-on: ubuntu-latest runs-on: ubuntu-latest
permissions: permissions:
contents: write # Required to create releases contents: write
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@v4 uses: actions/checkout@v4
- name: Set up Make - name: Set up build tools
run: | run: |
# Make is pre-installed on Ubuntu, but ensure zip is available
sudo apt-get update sudo apt-get update
sudo apt-get install -y zip rsync sudo apt-get install -y zip rsync
- name: Verify GitHub CLI
if: steps.get_version.outputs.hotfix == 'true'
run: |
gh --version || echo "GitHub CLI not available"
- name: Build zip package - name: Build zip package
run: make zip run: make zip
- name: Get version from tag or use default - name: Get version
id: get_version id: version
run: | run: echo "tag_name=dev-$(date +'%Y%m%d-%H%M%S')-${GITHUB_SHA::8}" >> $GITHUB_OUTPUT
if [ "${{ inputs.hotfix }}" = "true" ]; then
echo "mode=hotfix" >> $GITHUB_OUTPUT - name: Create dev release
echo "hotfix=true" >> $GITHUB_OUTPUT
elif [ "${{ github.ref_type }}" = "tag" ]; then
VERSION="${{ github.ref_name }}"
IS_PRERELEASE="false"
echo "version=$VERSION" >> $GITHUB_OUTPUT
echo "tag_name=$VERSION" >> $GITHUB_OUTPUT
echo "prerelease=$IS_PRERELEASE" >> $GITHUB_OUTPUT
echo "hotfix=false" >> $GITHUB_OUTPUT
else
VERSION="dev-$(date +'%Y%m%d-%H%M%S')-${GITHUB_SHA::8}"
IS_PRERELEASE="true"
echo "version=$VERSION" >> $GITHUB_OUTPUT
echo "tag_name=$VERSION" >> $GITHUB_OUTPUT
echo "prerelease=$IS_PRERELEASE" >> $GITHUB_OUTPUT
echo "hotfix=false" >> $GITHUB_OUTPUT
fi
- name: Get latest release for hotfix
if: steps.get_version.outputs.hotfix == 'true'
id: get_latest_release
run: |
# Get the latest release (non-draft, non-prerelease)
LATEST_RELEASE=$(gh api repos/${{ github.repository }}/releases/latest --jq '.tag_name' 2>/dev/null || echo "")
if [ -z "$LATEST_RELEASE" ]; then
echo "Error: No latest release found. Cannot perform hotfix."
exit 1
fi
RELEASE_ID=$(gh api repos/${{ github.repository }}/releases/latest --jq '.id')
echo "tag_name=$LATEST_RELEASE" >> $GITHUB_OUTPUT
echo "release_id=$RELEASE_ID" >> $GITHUB_OUTPUT
echo "Latest release: $LATEST_RELEASE (ID: $RELEASE_ID)"
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Delete existing asset if hotfix
if: steps.get_version.outputs.hotfix == 'true'
run: |
ASSET_ID=$(gh api repos/${{ github.repository }}/releases/${{ steps.get_latest_release.outputs.release_id }}/assets --jq '.[] | select(.name == "OmniNX Downloader.zip") | .id' || echo "")
if [ -n "$ASSET_ID" ]; then
echo "Deleting existing asset (ID: $ASSET_ID)"
gh api repos/${{ github.repository }}/releases/assets/$ASSET_ID -X DELETE
echo "Waiting for asset deletion to complete..."
sleep 2
else
echo "No existing asset found"
fi
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Prepare release info
id: release_info
run: |
if [ "${{ inputs.hotfix }}" = "true" ]; then
echo "release_name=Release ${{ steps.get_latest_release.outputs.tag_name }} (Hotfix Update)" >> $GITHUB_OUTPUT
RELEASE_BODY="**HOTFIX UPDATE** - Updated existing release"
echo "release_body<<EOF" >> $GITHUB_OUTPUT
echo "$RELEASE_BODY" >> $GITHUB_OUTPUT
echo "EOF" >> $GITHUB_OUTPUT
echo "release_tag=${{ steps.get_latest_release.outputs.tag_name }}" >> $GITHUB_OUTPUT
echo "is_prerelease=false" >> $GITHUB_OUTPUT
else
echo "release_name=Release ${{ steps.get_version.outputs.version }}" >> $GITHUB_OUTPUT
RELEASE_BODY="Automated build of OmniNX Downloader"
echo "release_body<<EOF" >> $GITHUB_OUTPUT
echo "$RELEASE_BODY" >> $GITHUB_OUTPUT
echo "EOF" >> $GITHUB_OUTPUT
echo "release_tag=${{ steps.get_version.outputs.tag_name }}" >> $GITHUB_OUTPUT
echo "is_prerelease=${{ steps.get_version.outputs.prerelease }}" >> $GITHUB_OUTPUT
fi
- name: Create or Update Release (Normal Mode)
if: steps.get_version.outputs.hotfix != 'true'
uses: softprops/action-gh-release@v1 uses: softprops/action-gh-release@v1
with: with:
tag_name: ${{ steps.release_info.outputs.release_tag }} tag_name: ${{ steps.version.outputs.tag_name }}
name: ${{ steps.release_info.outputs.release_name }} name: Release ${{ steps.version.outputs.tag_name }}
body: ${{ steps.release_info.outputs.release_body }} body: |
Automated dev build of OmniNX Downloader
Commit: ${{ github.sha }}
Branch: ${{ github.ref_name }}
draft: false draft: false
prerelease: ${{ steps.release_info.outputs.is_prerelease == 'true' }} prerelease: true
files: ./output/OmniNX Downloader.zip files: ./output/OmniNX Downloader.zip
- name: Update Release (Hotfix Mode)
if: steps.get_version.outputs.hotfix == 'true'
run: |
# Update release body
gh release edit ${{ steps.get_latest_release.outputs.tag_name }} \
--title "${{ steps.release_info.outputs.release_name }}" \
--notes "${{ steps.release_info.outputs.release_body }}"
# Upload new asset
gh release upload ${{ steps.get_latest_release.outputs.tag_name }} \
"./output/OmniNX Downloader.zip" \
--clobber
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -62,18 +62,21 @@ delete /config/ultrahand/downloads/dns-tester-api.json
try: try:
download https://api.github.com/repos/XorTroll/emuiibo/releases?per_page=1 /config/ultrahand/downloads/emuiibo-api.json download https://api.github.com/repos/XorTroll/emuiibo/releases?per_page=1 /config/ultrahand/downloads/emuiibo-api.json
json_file /config/ultrahand/downloads/emuiibo-api.json json_file /config/ultrahand/downloads/emuiibo-api.json
download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/downloads/emuiibo.nro download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/downloads/emuiibo.zip
mv /config/ultrahand/downloads/emuiibo.nro /switch/emuiibo/ unzip /config/ultrahand/downloads/emuiibo.zip /config/ultrahand/downloads
mv /config/ultrahand/downloads/SdOut/* /
delete /config/ultrahand/downloads/emuiibo.zip
delete /config/ultrahand/downloads/SdOut/
delete /config/ultrahand/downloads/emuiibo-api.json delete /config/ultrahand/downloads/emuiibo-api.json
[Goldleaf - 1.2.0] [Goldleaf - 1.2.0]
try: try:
download https://api.github.com/repos/XorTroll/Goldleaf/releases?per_page=1 /config/ultrahand/downloads/goldleaf-api.json download https://api.github.com/repos/XorTroll/Goldleaf/releases?per_page=1 /config/ultrahand/downloads/goldleaf-api.json
json_file /config/ultrahand/downloads/goldleaf-api.json json_file /config/ultrahand/downloads/goldleaf-api.json
download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/downloads/goldleaf.zip download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/downloads/goldleaf.nro
unzip /config/ultrahand/downloads/goldleaf.zip / mv /config/ultrahand/downloads/goldleaf.nro /switch/Goldleaf/
delete /config/ultrahand/downloads/goldleaf.nro
delete /config/ultrahand/downloads/goldleaf-api.json delete /config/ultrahand/downloads/goldleaf-api.json
delete /config/ultrahand/downloads/goldleaf.zip
[Hekate-Toolbox - 4.0.4] [Hekate-Toolbox - 4.0.4]
try: try:
@@ -95,8 +98,9 @@ delete /config/ultrahand/downloads/jksv-api.json
try: try:
download https://api.github.com/repos/impeeza/linkalho/releases?per_page=1 /config/ultrahand/downloads/linkalho-api.json download https://api.github.com/repos/impeeza/linkalho/releases?per_page=1 /config/ultrahand/downloads/linkalho-api.json
json_file /config/ultrahand/downloads/linkalho-api.json json_file /config/ultrahand/downloads/linkalho-api.json
download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/downloads/linkalho.nro download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/downloads/linkalho.zip
mv /config/ultrahand/downloads/linkalho.nro /switch/linkalho/ unzip /config/ultrahand/downloads/linkalho.zip /
delete /config/ultrahand/downloads/linkalho.zip
delete /config/ultrahand/downloads/linkalho-api.json delete /config/ultrahand/downloads/linkalho-api.json
[Moonlight Switch - 1.3.4] [Moonlight Switch - 1.3.4]
@@ -123,9 +127,9 @@ download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/download
mv /config/ultrahand/downloads/nxmp.nro /switch/nxmp/ mv /config/ultrahand/downloads/nxmp.nro /switch/nxmp/
delete /config/ultrahand/downloads/nxmp-api.json delete /config/ultrahand/downloads/nxmp-api.json
[NX-Activity-Log - 1.4.0] [NX-Activity-Log - 1.5.8]
try: try:
download https://api.github.com/repos/tallbl0nde/NX-Activity-Log/releases?per_page=1 /config/ultrahand/downloads/nx-activity-log-api.json download https://api.github.com/repos/zdm65477730/NX-Activity-Log/releases?per_page=1 /config/ultrahand/downloads/nx-activity-log-api.json
json_file /config/ultrahand/downloads/nx-activity-log-api.json json_file /config/ultrahand/downloads/nx-activity-log-api.json
download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/downloads/nx-activity-log.nro download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/downloads/nx-activity-log.nro
mv /config/ultrahand/downloads/nx-activity-log.nro /switch/NX-Activity-Log/ mv /config/ultrahand/downloads/nx-activity-log.nro /switch/NX-Activity-Log/

View File

@@ -17,6 +17,15 @@ download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/download
mv /config/ultrahand/downloads/melonds.nro /switch/melonDS/ mv /config/ultrahand/downloads/melonds.nro /switch/melonDS/
delete /config/ultrahand/downloads/melonds-api.json delete /config/ultrahand/downloads/melonds-api.json
[mGBA - 0.10.5]
try:
download https://git.niklascfw.de/api/v1/repos/omninx/mGBA/releases?limit=1 /config/ultrahand/downloads/mgba-api.json
json_file /config/ultrahand/downloads/mgba-api.json
download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/downloads/mgba.zip
unzip '/config/ultrahand/downloads/mgba.zip' /
delete /config/ultrahand/downloads/mgba-api.json
delete /config/ultrahand/downloads/mgba.zip
[PPSSPP-NX - 1.19.3] [PPSSPP-NX - 1.19.3]
try: try:
download https://git.niklascfw.de/api/v1/repos/OmniNX/PPSSPP-NX/releases?limit=1 /config/ultrahand/downloads/ppsspp-nx-api.json download https://git.niklascfw.de/api/v1/repos/OmniNX/PPSSPP-NX/releases?limit=1 /config/ultrahand/downloads/ppsspp-nx-api.json

View File

@@ -17,7 +17,7 @@ download {json_file(0,assets,1,browser_download_url)} /config/ultrahand/download
move /config/ultrahand/downloads/edizon.ovl /switch/.overlays/ move /config/ultrahand/downloads/edizon.ovl /switch/.overlays/
delete /config/ultrahand/downloads/edizon-api.json delete /config/ultrahand/downloads/edizon-api.json
[FPSLocker - 3.2.4] [FPSLocker - 3.3.0]
try: try:
download https://api.github.com/repos/masagrator/FPSLocker/releases?per_page=1 /config/ultrahand/downloads/fpslocker-api.json download https://api.github.com/repos/masagrator/FPSLocker/releases?per_page=1 /config/ultrahand/downloads/fpslocker-api.json
json_file /config/ultrahand/downloads/fpslocker-api.json json_file /config/ultrahand/downloads/fpslocker-api.json

View File

@@ -25,7 +25,7 @@ download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/download
mv /config/ultrahand/downloads/fizeau.ovl /switch/.overlays/ mv /config/ultrahand/downloads/fizeau.ovl /switch/.overlays/
delete /config/ultrahand/downloads/fizeau-api.json delete /config/ultrahand/downloads/fizeau-api.json
[FPSLocker - 3.2.3+r1] [FPSLocker - 3.3.0+]
try: try:
download https://api.github.com/repos/ppkantorski/FPSLocker/releases?per_page=1 /config/ultrahand/downloads/fpslocker-api.json download https://api.github.com/repos/ppkantorski/FPSLocker/releases?per_page=1 /config/ultrahand/downloads/fpslocker-api.json
json_file /config/ultrahand/downloads/fpslocker-api.json json_file /config/ultrahand/downloads/fpslocker-api.json
@@ -85,7 +85,7 @@ download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/download
mv /config/ultrahand/downloads/quickntp.ovl /switch/.overlays/ mv /config/ultrahand/downloads/quickntp.ovl /switch/.overlays/
delete /config/ultrahand/downloads/quickntp-api.json delete /config/ultrahand/downloads/quickntp-api.json
[SaltyNX - 1.7.3] [SaltyNX - 1.7.4]
try: try:
download https://api.github.com/repos/masagrator/SaltyNX/releases?per_page=1 /config/ultrahand/downloads/saltynx-api.json download https://api.github.com/repos/masagrator/SaltyNX/releases?per_page=1 /config/ultrahand/downloads/saltynx-api.json
json_file /config/ultrahand/downloads/saltynx-api.json json_file /config/ultrahand/downloads/saltynx-api.json

View File

@@ -1,2 +1,2 @@
[Current] [Current]
omninx_downloader=1.0.0 omninx_downloader=1.0.0-b2

View File

@@ -1,4 +1,4 @@
[Release Info] [Release Info]
omninx_pack=1.0.0 omninx_pack=1.0.0-b3
omninx_downloader=1.0.0 omninx_downloader=1.0.0-b2
firmware_version=21.2.0 firmware_version=21.2.0

View File

@@ -2,7 +2,7 @@
make /config/omninx/manifest.ini make /config/omninx/manifest.ini
set-ini-val ./include/updater/config.ini 'OmniNX' footer '' set-ini-val ./include/updater/config.ini 'OmniNX' footer ''
set-ini-val ./include/updater/config.ini 'Switch Firmware' footer '' set-ini-val ./include/updater/config.ini 'Switch Firmware' footer ''
set-ini-val ./include/updater/config.ini 'Omni Downloader' footer '' set-ini-val ./include/updater/config.ini 'OmniNX Downloader' footer ''
try: try:
download https://git.niklascfw.de/OmniNX/OmniNX-Downloader/raw/branch/main/include/updater/RELEASE.ini ./include/updater/RELEASE.ini download https://git.niklascfw.de/OmniNX/OmniNX-Downloader/raw/branch/main/include/updater/RELEASE.ini ./include/updater/RELEASE.ini
@@ -18,11 +18,11 @@ set-ini-val ./include/updater/config.ini 'Switch Firmware' footer '{ini_file(Rel
json '{"null":"true","{hos_version}":"false"}' json '{"null":"true","{hos_version}":"false"}'
set-ini-val ./include/updater/config.ini 'Switch Firmware' footer_highlight '{json({ini_file(Release Info,firmware_version)})}' set-ini-val ./include/updater/config.ini 'Switch Firmware' footer_highlight '{json({ini_file(Release Info,firmware_version)})}'
set-ini-val ./include/updater/config.ini 'Omni Downloader' footer '{ini_file(Release Info,omninx_downloader)}' set-ini-val ./include/updater/config.ini 'OmniNX Downloader' footer '{ini_file(Release Info,omninx_downloader)}'
ini_file ./include/updater/CURRENT.ini ini_file ./include/updater/CURRENT.ini
json '{"null":"true","{ini_file(Current,omninx_downloader)}":"false"}' json '{"null":"true","{ini_file(Current,omninx_downloader)}":"false"}'
ini_file ./include/updater/RELEASE.ini ini_file ./include/updater/RELEASE.ini
set-ini-val ./include/updater/config.ini 'Omni Downloader' footer_highlight '{json({ini_file(Release Info,omninx_downloader)})}' set-ini-val ./include/updater/config.ini 'OmniNX Downloader' footer_highlight '{json({ini_file(Release Info,omninx_downloader)})}'
ini_file /config/omninx/manifest.ini ini_file /config/omninx/manifest.ini
json '{"null":"notify","{ini_file(OmniNX,version)}":""}' json '{"null":"notify","{ini_file(OmniNX,version)}":""}'

View File

@@ -70,7 +70,7 @@ notify '{WARNING_SYMBOL} Führe in Daybreak fort' 24
ini_file './CURRENT.ini' ini_file './CURRENT.ini'
'Zurzeit installiert' = '{ini_file(Current,omninx_downloader)}' 'Zurzeit installiert' = '{ini_file(Current,omninx_downloader)}'
[Omni Downloader] [OmniNX Downloader]
try: try:
download https://git.niklascfw.de/api/v1/repos/OmniNX/OmniNX-Downloader/releases?limit=1 /config/ultrahand/downloads/omni-downloader-api.json download https://git.niklascfw.de/api/v1/repos/OmniNX/OmniNX-Downloader/releases?limit=1 /config/ultrahand/downloads/omni-downloader-api.json
json_file /config/ultrahand/downloads/omni-downloader-api.json json_file /config/ultrahand/downloads/omni-downloader-api.json