From 26fff0d2d9465132fd651bc6a866fd4d644f4d1f Mon Sep 17 00:00:00 2001 From: Xargon Date: Thu, 26 May 2022 17:59:06 +0900 Subject: [PATCH] VERSION: 0.4.0b checklist done --- .github/workflows/main.yml | 191 ++++++++++++++++++++++------ net.retrodeck.retrodeck.appdata.xml | 64 ++++++++++ net.retrodeck.retrodeck.yml | 6 +- 3 files changed, 222 insertions(+), 39 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 58e348f6..ce74a3c7 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,34 +1,63 @@ -# Due to the changes to the build systems actually on the branch integrated, this script will fail on main until merged - name: main -# Controls when the workflow will run on: - # Triggers the workflow on push or pull request events but only for the main branch push: - branches: - - main - pull_request: branches: - - main + - main + pull_request: + branches: + - main - # Allows you to run this workflow manually from the Actions tab workflow_dispatch: -# A workflow run is made up of one or more jobs that can run sequentially or in parallel -jobs: - # This workflow contains a single job called "build" - build_main: - # The type of runner that the job will run on - runs-on: ubuntu-latest - # Steps represent a sequence of tasks that will be executed as part of the job +jobs: + + Job1_-_Building_P1: + runs-on: ubuntu-latest steps: - # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it + + - name: Get date for artifacts + id: date + run: echo "::set-output name=date::$(date +'%Y%m%d_%H%M%S')" + + - name: Extract branch name + shell: bash + run: echo "##[set-output name=branch;]$(echo ${GITHUB_REF#refs/heads/})" + id: extract_branch + + - name: Generate build ID + id: generating_buildid + run: echo "##[set-output name=build-id;]$(echo "${{ steps.extract_branch.outputs.branch }}-${{ steps.date.outputs.date }}")" + - uses: actions/checkout@v3 - - name: Prepearing enviornment + - name: Download global cache + uses: dawidd6/action-download-artifact@v2 + with: + workflow: main.yml + name: global-cache + search_artifacts: true + skip_unpack: true + continue-on-error: true + + - name: Extract global cache run: | + tar --skip-old-files -xzvf retrodeck-main.tar.gz + rm -f retrodeck-main.tar.gz + continue-on-error: true + + - name: DEBUG + run: | + echo "Listing folder $PWD contents" + ls -lna + echo "Checking for version file" + find ~ -iname version + cat $(find ~ -iname version) + + - name: Initialize enviornment + run: | + git pull git submodule init git submodule update sudo add-apt-repository ppa:alexlarsson/flatpak @@ -36,33 +65,123 @@ jobs: sudo apt install flatpak flatpak-builder p7zip-full sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo sudo flatpak install -y org.kde.Sdk//5.15-21.08 org.kde.Platform//5.15-21.08 io.qt.qtwebengine.BaseApp/x86_64/5.15-21.08 org.freedesktop.Sdk.Extension.llvm13 - - # Runs a set of commands using the runners shell - - name: Building flatpak + + - name: Buld part 1 - Until melonds run: | - sudo flatpak-builder --user --install --force-clean retrodeck-flatpak net.retrodeck.retrodeck.yml - sudo flatpak-builder --repo=local --force-clean localrepo net.retrodeck.retrodeck.yml - sudo flatpak build-bundle local RetroDECK.flatpak net.retrodeck.retrodeck + sudo flatpak-builder --build-only --stop-at=melonds --user --force-clean --repo=${GITHUB_WORKSPACE}/local retrodeck-flatpak-main net.retrodeck.retrodeck.yml - - name: Get date for artifacts - id: date - run: echo "::set-output name=date::$(date +'%Y%m%d_%H%M')" + - name: Compress cache + run: | + touch retrodeck-main.tar.gz + rm -rf .flatpak-builder/build/*-{2,3,4,5,6} + find .flatpak-builder/build -xtype l -exec rm {} \; # removing dead symlinks + tar --ignore-failed-read -czvf retrodeck-main.tar.gz retrodeck-flatpak-main .flatpak-builder/build - - name: Publish the flatpak in a new main draft release + - name: Upload build specific cache + uses: actions/upload-artifact@v3 + with: + name: "${{ steps.generating_buildid.outputs.build-id }}" + path: retrodeck-main.tar.gz + + # this is done to speed up the things now, it may be removed later + - name: Compress global cache + run: | + touch retrodeck-main.tar.gz + rm -rf .flatpak-builder/build/*-{2,3,4,5,6} + find .flatpak-builder/build -xtype l -exec rm {} \; # removing dead symlinks + tar --ignore-failed-read -czvf retrodeck-main.tar.gz retrodeck-flatpak-main .flatpak-builder/build + continue-on-error: true + + - name: Upload global cache + uses: actions/upload-artifact@v3 + with: + name: global-cache + path: retrodeck-main.tar.gz RetroDECK.flatpak + continue-on-error: true + + outputs: + buildID: "${{ steps.generating_buildid.outputs.build-id }}" + + Job2_-_Build_P2_and_publish: + runs-on: ubuntu-latest + needs: [Job1_-_Building_P1] + steps: + + - uses: actions/checkout@v3 + + - name: Download build specific cache + uses: actions/download-artifact@v2 + with: + name: ${{ needs.Job1_-_Building_P1.outputs.buildID }} + + - name: Extract cache + run: | + tar --skip-old-files -xzvf retrodeck-main.tar.gz + rm -f retrodeck-main.tar.gz + + - name: DEBUG + run: | + echo "Listing folder $PWD contents" + ls -lna + echo "Checking for version file" + find ~ -iname version + cat $(find ~ -iname version) + + - name: Initialize enviornment + run: | + git pull + git submodule init + git submodule update + sudo add-apt-repository ppa:alexlarsson/flatpak + sudo apt-get update + sudo apt install flatpak flatpak-builder p7zip-full + sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo + sudo flatpak install -y org.kde.Sdk//5.15-21.08 org.kde.Platform//5.15-21.08 io.qt.qtwebengine.BaseApp/x86_64/5.15-21.08 org.freedesktop.Sdk.Extension.llvm13 + + - name: Create Bundle + run: | + sudo flatpak-builder --user --force-clean --repo=${GITHUB_WORKSPACE}/local retrodeck-flatpak-main net.retrodeck.retrodeck.yml + sudo flatpak build-bundle $GITHUB_WORKSPACE/local RetroDECK.flatpak net.retrodeck.retrodeck + + - name: Read version from version file + id: version + run: echo "##[set-output name=version;]$(cat $(find . -name version))" + + - name: Publish the flatpak in a new main release uses: ncipollo/release-action@v1 with: - tag: "${{ steps.date.outputs.date }}" + #tag: "${{ steps.version.outputs.version }}" + #tag: "${{ steps.extract_branch.outputs.branch }}-${{ steps.date.outputs.date }}" + tag: "0.4.0b" body: | - # Release Notes - - General installation instructions can be found in the [Wiki](https://github.com/XargonWan/RetroDECK/wiki#installation-instructions). - - ## Changelog resume: - - + # Release Notes (main) artifacts: "RetroDECK.flatpak" allowUpdates: true prerelease: true draft: true token: ${{ secrets.TRIGGER_BUILD_TOKEN }} - repo: RetroDECK \ No newline at end of file + repo: RetroDECK-main + continue-on-error: true + + - name: Compress global cache + run: | + touch retrodeck-main.tar.gz + rm -rf .flatpak-builder/build/*-{2,3,4,5,6} + find .flatpak-builder/build -xtype l -exec rm {} \; # removing dead symlinks + tar --ignore-failed-read -czvf retrodeck-main.tar.gz retrodeck-flatpak-main .flatpak-builder/build + continue-on-error: true + + - name: Upload global cache + uses: actions/upload-artifact@v3 + with: + name: global-cache + path: retrodeck-main.tar.gz RetroDECK.flatpak + continue-on-error: true + + - name: Upload RetroDECK.flatpak + uses: actions/upload-artifact@v3 + with: + name: retrodeck-flatpak + path: RetroDECK.flatpak + continue-on-error: true \ No newline at end of file diff --git a/net.retrodeck.retrodeck.appdata.xml b/net.retrodeck.retrodeck.appdata.xml index ce77df9a..bb19e462 100644 --- a/net.retrodeck.retrodeck.appdata.xml +++ b/net.retrodeck.retrodeck.appdata.xml @@ -40,6 +40,70 @@ GPL-3.0 CC0-1.0 + + + https://github.com/XargonWan/RetroDECK/releases/tag/0.4.0b + + Emulators: +
    +
  • Yuzu was broken: fixed +
  • Dolphin-libretro is now the default emulator as Dolphin (Standalone) seems to be broken +
+ New Standalone emulators: +
    +
  • RPCS3 +
  • PPSSPP +
  • CITRA +
  • MelonDS +
  • PICO-8 +
+ + Tools: +
    +
  • Added tools to start each standalone emulator +
  • Added a tool to start PICO-8's SPLORE +
  • Fixed the Move ROMs tool (probably) +
+ + Frontend: +
    +
  • Updated ES-DE to 1.2.4 and redirected to the new repo +
  • Updated Art-Book theme to fix the mising images for n3ds and pico-8 +
  • Now The quit button is showing "Quit RetroDECK" +
  • Added RetroDECK version in the ES-DE main menu +
+ + Backend: +
    +
  • Wrapper complete rewrite, now it's faster, tidier, solid +
  • Wrapper: user data is now backup and moved when managing the internal folders +
  • Introduced versioning: now the version is visible by CLI or in the options menu +
  • Rewrote cooker.yml workflow as the old one was no more useful for the scope +
  • Removed the bios/bios folder that in some situations is mistakenly created +
  • Logs are now into ~/retrodeck/.logs however they must be improved +
  • Moved the scraped data folder into ~/retrodeck/.downloaded_data for backup purposes and to avoid data loss when resetting RetroDECK +
  • Moved themes folder in ~/retrodeck/.downloaded_data, same as above +
  • Updated es_find_rules.xml +
  • Updated es_systems.xml: some default emulators are changed, if you cannot load the game is maybe because of that, you can still choose the former emulator from the list +
  • Added post-install scripts, now deleting ~/retrodeck/.log or ~/.var/app/net.retrodeck.retrodeck is no more needed (hopefully) +
  • Added CLI arguments, run flatpak run net.retrodeck.retrodeck -h for more info +
  • Added a CLI option to reset RetroDECK --reset +
  • Replaced Kdialog with Zenity +
  • Added manifest: this should fix the Discover bug +
+ + Known Issues: +
    +
  • Controller is not configured for most of the standalone emulators, I will configure them when I will get my Steam Deck (ETA mid June) +
  • External controllers seems not to be working +
  • Yuzu makes RetroDECK freeze in some situations, like if the rom is a bad dump +
+

+ IMPORTANT NOTE: + At the moment the emulator configs are reset during every update, this was made because every version may bring new configurations, please back them up if you did some manual configs. +

+
+
https://github.com/XargonWan/RetroDECK/releases/tag/0.3.1b diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index c7701537..8030bc61 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -66,8 +66,8 @@ modules: # The version number is stored in /var/conf/retrodeck/version # # UPDATE STEPS FOR MAIN: - # [ ] Update the VERSION variable - # [ ] Update the appdata.xml with the version number and notes + # [X] Update the VERSION variable + # [X] Update the appdata.xml with the version number and notes # - name: version-initialization buildsystem: simple @@ -75,7 +75,7 @@ modules: - | git checkout ${GITHUB_REF_NAME} mkdir -p ${FLATPAK_DEST}/retrodeck/ - VERSION="cooker" + VERSION="0.4.0b" if [[ $VERSION == "cooker" ]]; then VERSION=$(git describe --tags | tr - .)