mirror of
https://github.com/RetroDECK/RetroDECK.git
synced 2025-04-10 19:15:12 +00:00
CLEANUP: old folder + rd_submodules
This commit is contained in:
parent
1cfe1a01ba
commit
12028d9ed4
1
.github/workflows/build_release.yml
vendored
1
.github/workflows/build_release.yml
vendored
|
@ -12,7 +12,6 @@ on:
|
|||
- 'automation_tools/**'
|
||||
- 'config/**'
|
||||
- 'functions/**'
|
||||
- 'rd-submodules/**'
|
||||
- '*.sh'
|
||||
- 'net.retrodeck.retrodeck.yml'
|
||||
- 'net.retrodeck.retrodeck.appdata.xml'
|
||||
|
|
1
.github/workflows/build_retrodeck.yml
vendored
1
.github/workflows/build_retrodeck.yml
vendored
|
@ -12,7 +12,6 @@ on:
|
|||
- 'automation_tools/**'
|
||||
- 'config/**'
|
||||
- 'functions/**'
|
||||
- 'rd-submodules/**'
|
||||
- '*.sh'
|
||||
- 'net.retrodeck.retrodeck.yml'
|
||||
- 'net.retrodeck.retrodeck.metainfo.xml'
|
||||
|
|
6
.github/workflows/flathub_push_main.yml
vendored
6
.github/workflows/flathub_push_main.yml
vendored
|
@ -33,12 +33,6 @@ jobs:
|
|||
relname="main-"$(git rev-parse --short HEAD)
|
||||
|
||||
git checkout $rd_branch
|
||||
git submodule init
|
||||
git submodule update
|
||||
# NOTE: the only linked submodules are: rd-submodules/retroarch
|
||||
# these must be included in the exclusion list as they must be redownloaded
|
||||
#sync -rav --progress --exclude={'res/screenshots/','shared-modules/','rd-submodules/retroarch','.git/','docs','retrodeck-flatpak/','retrodeck-flatpak-cooker/','.flatpak-builder/'} ~/RetroDECK/ ~/flathub/
|
||||
|
||||
cd $gits_folder/flathub
|
||||
|
||||
git checkout -b $relname
|
||||
|
|
8
.gitignore
vendored
8
.gitignore
vendored
|
@ -17,7 +17,6 @@ backup
|
|||
.old
|
||||
tmp
|
||||
.godot
|
||||
rd-submodules/es-de/patches-tmp*
|
||||
retrodeck-repo
|
||||
buildid
|
||||
*.bak
|
||||
|
@ -36,10 +35,3 @@ ruffle-*.tar.gz
|
|||
# Python #
|
||||
##########
|
||||
__pycache__
|
||||
|
||||
# Submodules #
|
||||
##############
|
||||
rd-submodules/retroarch*
|
||||
rd-submodules/ryujinx*
|
||||
rd-submodules/shared-modules*
|
||||
rd-submodules/es-de/patches-tmp*
|
||||
|
|
|
@ -1,28 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
# WARNING: DANGEROUS! Don't use this script lightly
|
||||
|
||||
git submodule deinit -f --all
|
||||
|
||||
rm -rf rd-submodules/retroarch
|
||||
git rm -rf --cached rd-submodules/retroarch
|
||||
rm -rf .git/modules/rd-submodules/retroarch
|
||||
|
||||
rm -rf rd-submodules/ryujinx
|
||||
git rm -rf --cached rd-submodules/ryujinx
|
||||
rm -rf .git/modules/rd-submodules/ryujinx
|
||||
|
||||
rm -rf rd-submodules/shared-modules
|
||||
git rm -rf --cached rd-submodules/shared-modules
|
||||
rm -rf .git/modules/rd-submodules/shared-modules
|
||||
|
||||
rm .gitmodules
|
||||
|
||||
# Do a commit here before giving the next commands
|
||||
|
||||
git submodule add https://github.com/flathub/shared-modules.git rd-submodules/shared-modules
|
||||
git submodule add https://github.com/flathub/org.libretro.RetroArch.git rd-submodules/retroarch
|
||||
git submodule add https://github.com/flathub/org.ryujinx.Ryujinx rd-submodules/ryujinx
|
||||
|
||||
git submodule init
|
||||
git submodule update --remote --merge --recursive
|
|
@ -1,12 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
# This is building the bundle RetroDECK.flatpak after the download and build steps are done
|
||||
|
||||
BUILD_DIR="$HOME/cooker-persistent"
|
||||
mkdir -p "$BUILD_DIR"
|
||||
|
||||
if [ "${GITHUB_REF##*/}" = "main" ]; then
|
||||
flatpak build-bundle "${BUILD_DIR}/.local" "$GITHUB_WORKSPACE/RetroDECK.flatpak" net.retrodeck.retrodeck
|
||||
else
|
||||
flatpak build-bundle "${BUILD_DIR}/.local" "$GITHUB_WORKSPACE/RetroDECK-cooker.flatpak" net.retrodeck.retrodeck
|
||||
fi
|
|
@ -1,26 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
# This script is downloading the needed files to prepare the manifest build
|
||||
|
||||
git config --global protocol.file.allow always
|
||||
|
||||
if [[ "${GITHUB_REF##*/}" == "main" ]]; then
|
||||
BUNDLE_NAME="RetroDECK.flatpak"
|
||||
FOLDER=retrodeck-flatpak
|
||||
else
|
||||
BUNDLE_NAME="RetroDECK-cooker.flatpak"
|
||||
FOLDER=retrodeck-flatpak-cooker
|
||||
fi
|
||||
|
||||
BUILD_DIR="$HOME/cooker-persistent"
|
||||
mkdir -p "$BUILD_DIR"
|
||||
mkdir -vp "${BUILD_DIR}"/{.local,retrodeck-flatpak-cooker}
|
||||
|
||||
flatpak-builder --user --force-clean \
|
||||
--install-deps-from=flathub \
|
||||
--install-deps-from=flathub-beta \
|
||||
--repo="${BUILD_DIR}/.local" \
|
||||
--download-only \
|
||||
"${BUILD_DIR}/${FOLDER}" \
|
||||
"${GITHUB_WORKSPACE}/net.retrodeck.retrodeck.yml"
|
||||
|
|
@ -1,27 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
# This script is downloading the needed files to prepare the manifest build
|
||||
|
||||
git config protocol.file.allow always
|
||||
|
||||
if [ "${GITHUB_REF##*/}" = "main" ]; then
|
||||
BUNDLE_NAME="RetroDECK.flatpak"
|
||||
FOLDER=retrodeck-flatpak-main
|
||||
else
|
||||
BUNDLE_NAME="RetroDECK-cooker.flatpak"
|
||||
FOLDER=retrodeck-flatpak-cooker
|
||||
fi
|
||||
|
||||
BUILD_DIR="$HOME/cooker-persistent"
|
||||
mkdir -vp ${$BUILD_DIR}/.local
|
||||
mkdir -vp ${$BUILD_DIR}/"$FOLDER"
|
||||
|
||||
flatpak-builder --user --force-clean \
|
||||
--install-deps-from=flathub \
|
||||
--install-deps-from=flathub-beta \
|
||||
--keep-build-dirs \
|
||||
--rebuild-on-sdk-change \
|
||||
--repo="${BUILD_DIR}/.local" \
|
||||
--disable-download \
|
||||
"${BUILD_DIR}/${FOLDER}" \
|
||||
"${GITHUB_WORKSPACE}/net.retrodeck.retrodeck.yml"
|
|
@ -1,62 +0,0 @@
|
|||
name: TEST_release_info
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
paths:
|
||||
- .github/workflows/TEST_release_info.yml
|
||||
pull_request:
|
||||
branches:
|
||||
- main
|
||||
|
||||
workflow_dispatch:
|
||||
|
||||
|
||||
jobs:
|
||||
|
||||
Building_RetroDECK:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
|
||||
- name: Generate build ID
|
||||
id: generating_buildid
|
||||
run: echo "##[set-output name=build-id;]$(echo "$( git rev-parse --short HEAD )")"
|
||||
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Initialize enviornment
|
||||
run: |
|
||||
git pull
|
||||
git submodule init
|
||||
git submodule update
|
||||
sudo apt install -y flatpak flatpak-builder p7zip-full xmlstarlet appstream-util
|
||||
|
||||
- name: Validating the metainfo
|
||||
run: appstream-util validate "net.retrodeck.retrodeck.metainfo.xml"
|
||||
continue-on-error: true
|
||||
|
||||
- name: Getting version info
|
||||
id: version
|
||||
run: |
|
||||
metainfo="https://raw.githubusercontent.com/RetroDECK/RetroDECK/main/net.retrodeck.retrodeck.metainfo.xml"
|
||||
REL_VER=$(curl -s $metainfo | xmlstarlet sel -t -v "//release/@version" | head -1)
|
||||
DES="$(curl -s $metainfo | xmlstarlet sel -t -m "//release[1]" -v "description" -n | sed '1,2d;$d;s/^ */- /;/^- $/d')"
|
||||
echo "REL_VER=$REL_VER" >> $GITHUB_ENV
|
||||
echo -e "# Release Notes\n" >> "body.md"
|
||||
echo "$DES" >> "body.md"
|
||||
|
||||
- name: Publish the flatpak in a new release
|
||||
uses: ncipollo/release-action@v1
|
||||
env:
|
||||
REL_VER: ${{ env.REL_VER }}
|
||||
with:
|
||||
tag: ${{ env.REL_VER }}
|
||||
name: "RetroDECK v${{ env.REL_VER }}"
|
||||
bodyFile: "body.md"
|
||||
#artifacts: "RetroDECK.flatpak,RetroDECK-Artifact.tar.gz"
|
||||
allowUpdates: true
|
||||
draft: true
|
||||
token: ${{ secrets.TRIGGER_BUILD_TOKEN }}
|
||||
repo: RetroDECK
|
||||
#continue-on-error: true
|
|
@ -1,210 +0,0 @@
|
|||
name: "Build cooker (persistent)"
|
||||
|
||||
env:
|
||||
PERSISTENCE: true
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- cooker*
|
||||
- feat*
|
||||
paths:
|
||||
- '.github/workflows/**'
|
||||
- 'automation_tools/**'
|
||||
- 'config/**'
|
||||
- 'config/es-de/**'
|
||||
- 'functions/**'
|
||||
- 'rd-submodules/**'
|
||||
- '*.sh'
|
||||
- 'net.retrodeck.retrodeck.yml'
|
||||
- 'net.retrodeck.retrodeck.metainfo.xml'
|
||||
pull_request:
|
||||
branches:
|
||||
- cooker*
|
||||
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
|
||||
Building_RetroDECK:
|
||||
runs-on: retrodeck
|
||||
steps:
|
||||
|
||||
# Circumventing this bug: https://github.com/flatpak/flatpak-builder/issues/317
|
||||
- name: Remove stuck mounts
|
||||
run: sudo umount -f /home/ubuntu/actions-runner/_work/RetroDECK/RetroDECK/.flatpak-builder/rofiles/*
|
||||
continue-on-error: true
|
||||
|
||||
- name: Clone RetroDECK repo
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
submodules: 'true'
|
||||
|
||||
- name: "Install dependencies"
|
||||
run: "automation_tools/install_dependencies.sh"
|
||||
|
||||
- name: Generate cooker build ID
|
||||
run: "/bin/bash ${GITHUB_WORKSPACE}/automation_tools/cooker_build_id.sh"
|
||||
|
||||
- name: Get branch name
|
||||
id: branch_name
|
||||
run: echo "BRANCH_NAME=$(echo $GITHUB_REF | sed 's|refs/heads/||')" >> $GITHUB_ENV
|
||||
|
||||
# if it's a feature branch it will not marked as "latest" cooker version
|
||||
- name: "Set makeLatest (cooker only)"
|
||||
run: |
|
||||
if [[ "$BRANCH_NAME" == 'feat/'* || "$BRANCH_NAME" == 'refs/'* ]]; then
|
||||
echo "MAKE_LATEST=false" >> $GITHUB_ENV
|
||||
else
|
||||
echo "MAKE_LATEST=true" >> $GITHUB_ENV
|
||||
fi
|
||||
|
||||
# if the branch is coming from a PR the tag should be manually built
|
||||
- name: "Generate version tag"
|
||||
run: |
|
||||
if [[ "$BRANCH_NAME" == 'refs/'* ]]; then
|
||||
pr_number=$(echo ${{env.BRANCH_NAME}} | awk -F'/' '{print $3}')
|
||||
source_branch=$(curl -s "https://api.github.com/repos/RetroDECK/RetroDECK/pulls/$pr_number" | jq -r '.head.ref')
|
||||
source_branch=${source_branch//\//-}
|
||||
echo "[DEBUG] source branch is: $source_branch"
|
||||
echo "TAG=PR-$pr_number-$source_branch-${{ env.buildid }}" >> $GITHUB_ENV
|
||||
else
|
||||
echo "TAG=${{env.BRANCH_NAME}}-${{ env.buildid }}" >> $GITHUB_ENV
|
||||
fi
|
||||
echo "Version TAG: ${{ env.TAG }}"
|
||||
|
||||
# backing up manifest in case download fails and hashes must be recalculated
|
||||
- name: Manifest backup
|
||||
run: "cp ${GITHUB_WORKSPACE}/net.retrodeck.retrodeck.yml ${GITHUB_WORKSPACE}/net.retrodeck.retrodeck.yml.bak"
|
||||
|
||||
- name: Run pre-build automation tasks
|
||||
run : "/bin/bash ${GITHUB_WORKSPACE}/automation_tools/manifest_placeholder_replacer.sh"
|
||||
|
||||
- name: "Adding flatpak portal for automated updates (cooker only)"
|
||||
run: "/bin/bash ${GITHUB_WORKSPACE}/automation_tools/cooker_flatpak_portal_add.sh"
|
||||
|
||||
- name: "Updating release notes in metainfo"
|
||||
run: "automation_tools/metainfo_management.sh"
|
||||
|
||||
- name: "[DEBUG] Outputting manifest"
|
||||
run: cat net.retrodeck.retrodeck.yml
|
||||
|
||||
- name: "Build flatpak: download only"
|
||||
id: "flatpak-download"
|
||||
run: "/bin/bash ${GITHUB_WORKSPACE}/automation_tools/flatpak_build_download_only_persistent.sh"
|
||||
continue-on-error: true
|
||||
|
||||
# Sometimes flatpak download fails, in this case it tries a second time
|
||||
- name: "Build flatpak: download only (retry)"
|
||||
if: steps.flatpak-download.outcome == 'failure'
|
||||
run: |
|
||||
echo "Download failed, maybe some hash changed since the build start."
|
||||
echo "Recalculating hashes and retrying download..."
|
||||
rm -f "{GITHUB_WORKSPACE}/net.retrodeck.retrodeck.yml"
|
||||
cp "${GITHUB_WORKSPACE}/net.retrodeck.retrodeck.yml.bak" "${GITHUB_WORKSPACE}/net.retrodeck.retrodeck.yml"
|
||||
"${GITHUB_WORKSPACE}/automation_tools/manifest_placeholder_replacer.sh"
|
||||
"${GITHUB_WORKSPACE}/automation_tools/flatpak_build_download_only_persistent.sh"
|
||||
|
||||
- name: Build flatpak
|
||||
run: "/bin/bash ${GITHUB_WORKSPACE}/automation_tools/flatpak_build_only_persistent.sh"
|
||||
|
||||
- name: Create Artifact for flathub
|
||||
run: |
|
||||
tar -czf ${GITHUB_WORKSPACE}/RetroDECK-Artifact-cooker.tar.gz -C ${GITHUB_WORKSPACE}/retrodeck-flatpak-cooker .
|
||||
hash=($(sha256sum ${GITHUB_WORKSPACE}/RetroDECK-Artifact-cooker.tar.gz))
|
||||
echo $hash > ${GITHUB_WORKSPACE}/RetroDECK-Artifact-cooker.sha
|
||||
mv -f RetroDECK-Artifact-cooker.* ${{ secrets.ARTIFACT_REPO }}
|
||||
continue-on-error: true
|
||||
|
||||
- name: Create Bundle
|
||||
run: "/bin/bash ${GITHUB_WORKSPACE}/automation_tools/flatpak_build_bundle_persistent.sh"
|
||||
|
||||
- name: Set environment variable with current branch name
|
||||
run: echo "GITHUB_REF_SLUG=$(git rev-parse --abbrev-ref HEAD)" >> $GITHUB_ENV
|
||||
|
||||
- name: Get commits since last release
|
||||
run: |
|
||||
# Get the latest release tag
|
||||
LATEST_TAG=$(git describe --tags --abbrev=0)
|
||||
# Get all commits since the latest release tag
|
||||
COMMITS=$(git log $LATEST_TAG..HEAD --pretty=format:"- %s")
|
||||
# Set the output variable
|
||||
echo "::set-output name=commits::$COMMITS"
|
||||
id: commits
|
||||
continue-on-error: true
|
||||
|
||||
- name: Publish the flatpak in a new cooker release
|
||||
uses: ncipollo/release-action@v1
|
||||
with:
|
||||
tag: "${{env.TAG}}"
|
||||
body: |
|
||||
# Release Notes (Cooker)
|
||||
This is a cooker snapshot based on the commit: ${{ github.event.repository.full_name }}@${{github.sha}}.
|
||||
On branch [${{env.BRANCH_NAME}}](https://github.com/RetroDECK/RetroDECK/tree/${{env.BRANCH_NAME}}).
|
||||
|
||||
## Commits since last release
|
||||
${{ steps.commits.outputs.commits }}
|
||||
|
||||
For the full release note for this build please refer to the channel [#BETA-TESTING](https://discord.gg/WDc5C9YWMx) on our Discord server.
|
||||
|
||||
Cooker channel is provided for the community to test fixes and explore new functionality.
|
||||
Please DO NOT open issues or ask support on this build.
|
||||
|
||||
artifacts: "RetroDECK-cooker.flatpak,RetroDECK-Artifact.tar.gz"
|
||||
allowUpdates: true
|
||||
makeLatest: ${{env.MAKE_LATEST}} # if it's a feat branch is not considered the latest build
|
||||
token: ${{ secrets.TRIGGER_BUILD_TOKEN }}
|
||||
repo: RetroDECK-cooker
|
||||
continue-on-error: true
|
||||
|
||||
# In case it cannot publish the release at least it's providing the flatpak file for creating a manual release
|
||||
- name: Upload RetroDECK-cooker.flatpak
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: retrodeck-flatpak
|
||||
path: RetroDECK-cooker.flatpak
|
||||
continue-on-error: true
|
||||
|
||||
# - name: Upload RetroDECK-cooker.flatpak to Gitea Release
|
||||
# run: |
|
||||
# # Set variables for Gitea host, organization, repository, access token, and release details
|
||||
# GITEA_HOST="repo.retrodeck.net"
|
||||
# ORGANIZATION="RetroDECK"
|
||||
# REPO="RetroDECK-cooker"
|
||||
# GITEA_TOKEN="${{ secrets.GITEA_TRIGGER_BUILD_TOKEN }}"
|
||||
# RELEASE_NAME="RetroDECK ${{env.TAG}}"
|
||||
# TAG="${{env.TAG}}"
|
||||
# RELEASE_BODY="# Release Notes (Cooker)
|
||||
# This is a cooker snapshot based on the commit: ${{ github.event.repository.full_name }}@${{github.sha}}.
|
||||
# On branch [${{env.BRANCH_NAME}}](https://repo.retrodeck.net/RetroDECK/RetroDECK/src/branch/${{env.BRANCH_NAME}}).
|
||||
|
||||
# ## Commits since last release
|
||||
# ${{ steps.commits.outputs.commits }}
|
||||
|
||||
# For the full release note for this build please refer to the channel [#BETA-TESTING](https://discord.gg/WDc5C9YWMx) on our Discord server.
|
||||
|
||||
# Cooker channel is provided for the community to test fixes and explore new functionality.
|
||||
# Please DO NOT open issues or ask support on this build."
|
||||
|
||||
# # Create a release using curl and capture the release ID
|
||||
# release_response=$(curl -X POST \
|
||||
# -H "Authorization: token ${GITEA_TOKEN}" \
|
||||
# -H "Content-Type: application/json" \
|
||||
# -d "{\"tag_name\":\"$TAG\",\"name\":\"$RELEASE_NAME\",\"body\":\"$RELEASE_BODY\"}" \
|
||||
# "http://$GITEA_HOST/api/v1/repos/$ORGANIZATION/$REPO/releases")
|
||||
|
||||
# # Extract the release ID from the response
|
||||
# release_id=$(echo $release_response | jq -r '.id')
|
||||
|
||||
# # Upload artifacts
|
||||
# curl -X POST \
|
||||
# -H "Authorization: token ${GITEA_TOKEN}" \
|
||||
# -H "Content-Type: multipart/form-data" \
|
||||
# -F "attachment=@RetroDECK-cooker.flatpak" \
|
||||
# "http://$GITEA_HOST/api/v1/repos/$ORGANIZATION/$REPO/releases/$release_id/assets?name=RetroDECK-cooker.flatpak"
|
||||
|
||||
# curl -X POST \
|
||||
# -H "Authorization: token ${GITEA_TOKEN}" \
|
||||
# -H "Content-Type: multipart/form-data" \
|
||||
# -F "attachment=@RetroDECK-Artifact.tar.gz" \
|
||||
# "http://$GITEA_HOST/api/v1/repos/$ORGANIZATION/$REPO/releases/$release_id/assets?name=RetroDECK-Artifact.tar.gz"
|
|
@ -1,219 +0,0 @@
|
|||
name: "Build cooker"
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- cooker*
|
||||
- feat*
|
||||
paths:
|
||||
- '.github/workflows/**'
|
||||
- 'automation_tools/**'
|
||||
- 'config/**'
|
||||
- 'config/es-de/**'
|
||||
- 'functions/**'
|
||||
- 'rd-submodules/**'
|
||||
- '*.sh'
|
||||
- 'net.retrodeck.retrodeck.yml'
|
||||
- 'net.retrodeck.retrodeck.metainfo.xml'
|
||||
pull_request:
|
||||
branches:
|
||||
- cooker*
|
||||
|
||||
# Italy (CET): 11:00 PM
|
||||
# Japan (JST): 7:00 AM
|
||||
# schedule:
|
||||
# - cron: '0 22 * * *'
|
||||
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
|
||||
Building_RetroDECK:
|
||||
runs-on: retrodeck
|
||||
steps:
|
||||
|
||||
# Circumventing this bug: https://github.com/flatpak/flatpak-builder/issues/317
|
||||
- name: Remove stuck mounts
|
||||
run: sudo umount -f /home/ubuntu/actions-runner/_work/RetroDECK/RetroDECK/.flatpak-builder/rofiles/*
|
||||
continue-on-error: true
|
||||
|
||||
- name: Clone RetroDECK repo
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
submodules: 'true'
|
||||
|
||||
- name: "Install dependencies"
|
||||
run: "automation_tools/install_dependencies.sh"
|
||||
|
||||
- name: Generate cooker build ID
|
||||
run: "/bin/bash ${GITHUB_WORKSPACE}/automation_tools/cooker_build_id.sh"
|
||||
|
||||
- name: Get branch name
|
||||
id: branch_name
|
||||
run: echo "BRANCH_NAME=$(echo $GITHUB_REF | sed 's|refs/heads/||')" >> $GITHUB_ENV
|
||||
|
||||
# if it's a feature branch it will not marked as "latest" cooker version
|
||||
- name: "Set makeLatest (cooker only)"
|
||||
run: |
|
||||
if [[ "$BRANCH_NAME" == 'feat/'* || "$BRANCH_NAME" == 'refs/'* ]]; then
|
||||
echo "MAKE_LATEST=false" >> $GITHUB_ENV
|
||||
else
|
||||
echo "MAKE_LATEST=true" >> $GITHUB_ENV
|
||||
fi
|
||||
|
||||
# if the branch is coming from a PR the tag should be manually built
|
||||
- name: "Generate version tag"
|
||||
run: |
|
||||
if [[ "$BRANCH_NAME" == 'refs/'* ]]; then
|
||||
pr_number=$(echo ${{env.BRANCH_NAME}} | awk -F'/' '{print $3}')
|
||||
source_branch=$(curl -s "https://api.github.com/repos/RetroDECK/RetroDECK/pulls/$pr_number" | jq -r '.head.ref')
|
||||
source_branch=${source_branch//\//-}
|
||||
echo "[DEBUG] source branch is: $source_branch"
|
||||
echo "TAG=PR-$pr_number-$source_branch-${{ env.buildid }}" >> $GITHUB_ENV
|
||||
else
|
||||
echo "TAG=${{env.BRANCH_NAME}}-${{ env.buildid }}" >> $GITHUB_ENV
|
||||
fi
|
||||
echo "Version TAG: ${{ env.TAG }}"
|
||||
|
||||
# backing up manifest in case download fails and hashes must be recalculated
|
||||
- name: Manifest backup
|
||||
run: "cp ${GITHUB_WORKSPACE}/net.retrodeck.retrodeck.yml ${GITHUB_WORKSPACE}/net.retrodeck.retrodeck.yml.bak"
|
||||
|
||||
- name: Run pre-build automation tasks
|
||||
run : "/bin/bash ${GITHUB_WORKSPACE}/automation_tools/manifest_placeholder_replacer.sh"
|
||||
|
||||
- name: "Adding flatpak portal for automated updates (cooker only)"
|
||||
run: "/bin/bash ${GITHUB_WORKSPACE}/automation_tools/cooker_flatpak_portal_add.sh"
|
||||
|
||||
- name: "Updating release notes in metainfo"
|
||||
run: "automation_tools/metainfo_management.sh"
|
||||
|
||||
- name: "[DEBUG] Outputting manifest"
|
||||
run: cat net.retrodeck.retrodeck.yml
|
||||
|
||||
- name: "Build flatpak: download only"
|
||||
id: "flatpak-download"
|
||||
run: "/bin/bash ${GITHUB_WORKSPACE}/automation_tools/flatpak_build_download_only.sh"
|
||||
continue-on-error: true
|
||||
|
||||
# Sometimes flatpak download fails, in this case it tries a second time
|
||||
- name: "Build flatpak: download only (retry)"
|
||||
if: steps.flatpak-download.outcome == 'failure'
|
||||
run: |
|
||||
echo "Download failed, maybe some hash changed since the build start."
|
||||
echo "Recalculating hashes and retrying download..."
|
||||
rm -f "{GITHUB_WORKSPACE}/net.retrodeck.retrodeck.yml"
|
||||
cp "${GITHUB_WORKSPACE}/net.retrodeck.retrodeck.yml.bak" "${GITHUB_WORKSPACE}/net.retrodeck.retrodeck.yml"
|
||||
"${GITHUB_WORKSPACE}/automation_tools/manifest_placeholder_replacer.sh"
|
||||
"${GITHUB_WORKSPACE}/automation_tools/flatpak_build_download_only.sh"
|
||||
|
||||
- name: Build flatpak
|
||||
run: "/bin/bash ${GITHUB_WORKSPACE}/automation_tools/flatpak_build_only.sh"
|
||||
|
||||
- name: Create Artifact for flathub
|
||||
run: |
|
||||
tar -czf ${GITHUB_WORKSPACE}/RetroDECK-Artifact-cooker.tar.gz -C ${GITHUB_WORKSPACE}/retrodeck-flatpak-cooker .
|
||||
hash=($(sha256sum ${GITHUB_WORKSPACE}/RetroDECK-Artifact-cooker.tar.gz))
|
||||
echo $hash > ${GITHUB_WORKSPACE}/RetroDECK-Artifact-cooker.sha
|
||||
mv -f RetroDECK-Artifact-cooker.* ${{ secrets.ARTIFACT_REPO }}
|
||||
continue-on-error: true
|
||||
|
||||
- name: Create Bundle
|
||||
run: "/bin/bash ${GITHUB_WORKSPACE}/automation_tools/flatpak_build_bundle.sh"
|
||||
|
||||
- name: Set environment variable with current branch name
|
||||
run: echo "GITHUB_REF_SLUG=$(git rev-parse --abbrev-ref HEAD)" >> $GITHUB_ENV
|
||||
|
||||
- name: Get commits since last release
|
||||
run: |
|
||||
# Get the latest release tag
|
||||
LATEST_TAG=$(git describe --tags --abbrev=0)
|
||||
# Get all commits since the latest release tag
|
||||
COMMITS=$(git log $LATEST_TAG..HEAD --pretty=format:"- %s")
|
||||
# Set the output variable
|
||||
echo "::set-output name=commits::$COMMITS"
|
||||
id: commits
|
||||
continue-on-error: true
|
||||
|
||||
- name: Publish the flatpak in a new cooker release
|
||||
uses: ncipollo/release-action@v1
|
||||
with:
|
||||
tag: "${{env.TAG}}"
|
||||
body: |
|
||||
# Release Notes (Cooker)
|
||||
This is a cooker snapshot based on the commit: ${{ github.event.repository.full_name }}@${{github.sha}}.
|
||||
On branch [${{env.BRANCH_NAME}}](https://github.com/RetroDECK/RetroDECK/tree/${{env.BRANCH_NAME}}).
|
||||
|
||||
## Commits since last release
|
||||
${{ steps.commits.outputs.commits }}
|
||||
|
||||
For the full release note for this build please refer to the channel [#BETA-TESTING](https://discord.gg/WDc5C9YWMx) on our Discord server.
|
||||
|
||||
Cooker channel is provided for the community to test fixes and explore new functionality.
|
||||
Please DO NOT open issues or ask support on this build.
|
||||
|
||||
artifacts: "RetroDECK-cooker.flatpak,RetroDECK-cooker.flatpak.sha,RetroDECK-Artifact.tar.gz"
|
||||
allowUpdates: true
|
||||
makeLatest: ${{env.MAKE_LATEST}} # if it's a feat branch is not considered the latest build
|
||||
token: ${{ secrets.TRIGGER_BUILD_TOKEN }}
|
||||
repo: RetroDECK-cooker
|
||||
continue-on-error: true
|
||||
|
||||
# In case it cannot publish the release at least it's providing the flatpak file for creating a manual release
|
||||
- name: Upload RetroDECK-cooker.flatpak
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: retrodeck-flatpak
|
||||
path: RetroDECK-cooker.flatpak
|
||||
continue-on-error: true
|
||||
|
||||
# - name: Upload RetroDECK-cooker.flatpak to Gitea Release
|
||||
# run: |
|
||||
# # Set variables for Gitea host, organization, repository, access token, and release details
|
||||
# GITEA_HOST="repo.retrodeck.net"
|
||||
# ORGANIZATION="RetroDECK"
|
||||
# REPO="RetroDECK-cooker"
|
||||
# GITEA_TOKEN="${{ secrets.GITEA_TRIGGER_BUILD_TOKEN }}"
|
||||
# RELEASE_NAME="RetroDECK ${{env.TAG}}"
|
||||
# TAG="${{env.TAG}}"
|
||||
# RELEASE_BODY="# Release Notes (Cooker)
|
||||
# This is a cooker snapshot based on the commit: ${{ github.event.repository.full_name }}@${{github.sha}}.
|
||||
# On branch [${{env.BRANCH_NAME}}](https://repo.retrodeck.net/RetroDECK/RetroDECK/src/branch/${{env.BRANCH_NAME}}).
|
||||
|
||||
# ## Commits since last release
|
||||
# ${{ steps.commits.outputs.commits }}
|
||||
|
||||
# For the full release note for this build please refer to the channel [#BETA-TESTING](https://discord.gg/WDc5C9YWMx) on our Discord server.
|
||||
|
||||
# Cooker channel is provided for the community to test fixes and explore new functionality.
|
||||
# Please DO NOT open issues or ask support on this build."
|
||||
|
||||
# # Create a release using curl and capture the release ID
|
||||
# release_response=$(curl -X POST \
|
||||
# -H "Authorization: token ${GITEA_TOKEN}" \
|
||||
# -H "Content-Type: application/json" \
|
||||
# -d "{\"tag_name\":\"$TAG\",\"name\":\"$RELEASE_NAME\",\"body\":\"$RELEASE_BODY\"}" \
|
||||
# "http://$GITEA_HOST/api/v1/repos/$ORGANIZATION/$REPO/releases")
|
||||
|
||||
# # Extract the release ID from the response
|
||||
# release_id=$(echo $release_response | jq -r '.id')
|
||||
|
||||
# # Upload artifacts
|
||||
# curl -X POST \
|
||||
# -H "Authorization: token ${GITEA_TOKEN}" \
|
||||
# -H "Content-Type: multipart/form-data" \
|
||||
# -F "attachment=@RetroDECK-cooker.flatpak" \
|
||||
# "http://$GITEA_HOST/api/v1/repos/$ORGANIZATION/$REPO/releases/$release_id/assets?name=RetroDECK-cooker.flatpak"
|
||||
|
||||
# # Upload artifacts sha
|
||||
# curl -X POST \
|
||||
# -H "Authorization: token ${GITEA_TOKEN}" \
|
||||
# -H "Content-Type: multipart/form-data" \
|
||||
# -F "attachment=@RetroDECK-cooker.flatpak.sha" \
|
||||
# "http://$GITEA_HOST/api/v1/repos/$ORGANIZATION/$REPO/releases/$release_id/assets?name=RetroDECK-cooker.flatpak.sha"
|
||||
|
||||
# curl -X POST \
|
||||
# -H "Authorization: token ${GITEA_TOKEN}" \
|
||||
# -H "Content-Type: multipart/form-data" \
|
||||
# -F "attachment=@RetroDECK-Artifact.tar.gz" \
|
||||
# "http://$GITEA_HOST/api/v1/repos/$ORGANIZATION/$REPO/releases/$release_id/assets?name=RetroDECK-Artifact.tar.gz"
|
|
@ -1,205 +0,0 @@
|
|||
name: cooker
|
||||
|
||||
on:
|
||||
# push:
|
||||
# branches:
|
||||
# - cooker*
|
||||
# pull_request:
|
||||
# branches:
|
||||
# - cooker*
|
||||
|
||||
workflow_dispatch:
|
||||
|
||||
|
||||
jobs:
|
||||
|
||||
Job1_-_Building_P1:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
|
||||
- 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: Download global cache
|
||||
uses: dawidd6/action-download-artifact@v2
|
||||
with:
|
||||
workflow: cooker.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-cooker.tar.gz
|
||||
rm -f retrodeck-cooker.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
|
||||
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: Buld part 1 - Until melonds
|
||||
run: |
|
||||
sudo flatpak-builder --build-only --stop-at=melonds --user --force-clean --repo=${GITHUB_WORKSPACE}/.local retrodeck-flatpak-cooker net.retrodeck.retrodeck.yml
|
||||
|
||||
- name: Compress cache
|
||||
run: |
|
||||
touch retrodeck-cooker.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-cooker.tar.gz retrodeck-flatpak-cooker .flatpak-builder/build
|
||||
|
||||
- name: Upload build specific cache
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: "${{ steps.generating_buildid.outputs.build-id }}"
|
||||
path: retrodeck-cooker.tar.gz
|
||||
|
||||
# this is done to speed up the things now, it may be removed later
|
||||
- name: Compress global cache
|
||||
run: |
|
||||
touch retrodeck-cooker.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-cooker.tar.gz retrodeck-flatpak-cooker .flatpak-builder/build
|
||||
continue-on-error: true
|
||||
|
||||
- name: Upload global cache
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: global-cache
|
||||
path: retrodeck-cooker.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-cooker.tar.gz
|
||||
rm -f retrodeck-cooker.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-cooker net.retrodeck.retrodeck.yml
|
||||
sudo flatpak build-bundle $GITHUB_WORKSPACE/.local RetroDECK.flatpak net.retrodeck.retrodeck
|
||||
|
||||
- name: Get date for artifacts
|
||||
id: date
|
||||
run: echo "::set-output name=date::$(date +'%Y%m%d_%H%M')"
|
||||
|
||||
- name: Extract branch name
|
||||
shell: bash
|
||||
run: echo "##[set-output name=branch;]$(echo ${GITHUB_REF#refs/heads/})"
|
||||
id: extract_branch
|
||||
|
||||
- name: Read version from version file
|
||||
id: version
|
||||
run: echo "##[set-output name=version;]$(cat $(find . -name version))"
|
||||
|
||||
- name: DEBUG - Print version name
|
||||
shell: bash
|
||||
run: |
|
||||
echo "DEBUG: printing version from version file"
|
||||
echo "${{ steps.version.outputs.version }}"
|
||||
|
||||
- name: Publish the flatpak in a new cooker release
|
||||
uses: ncipollo/release-action@v1
|
||||
with:
|
||||
#tag: "${{ steps.version.outputs.version }}"
|
||||
tag: "${{ steps.extract_branch.outputs.branch }}-${{ steps.date.outputs.date }}"
|
||||
body: |
|
||||
# Release Notes (Cooker)
|
||||
This is a cooker snapshot based on the commit: ${{ github.event.repository.full_name }}@${{github.sha}}.
|
||||
|
||||
Cooker channel is provided for the community to test fixes and explore new functionality.
|
||||
Please DO NOT open issues or ask support on this build.
|
||||
|
||||
artifacts: "RetroDECK.flatpak"
|
||||
allowUpdates: true
|
||||
prerelease: true
|
||||
draft: false
|
||||
token: ${{ secrets.TRIGGER_BUILD_TOKEN }}
|
||||
repo: RetroDECK-cooker
|
||||
continue-on-error: true
|
||||
|
||||
- name: Compress global cache
|
||||
run: |
|
||||
touch retrodeck-cooker.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-cooker.tar.gz retrodeck-flatpak-cooker .flatpak-builder/build
|
||||
continue-on-error: true
|
||||
|
||||
- name: Upload global cache
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: global-cache
|
||||
path: retrodeck-cooker.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
|
|
@ -1,88 +0,0 @@
|
|||
|
||||
name: PUSH-cooker-flathub
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
|
||||
Pushing_cooker_into_flathub:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Pushing
|
||||
shell: bash
|
||||
run: |
|
||||
|
||||
# EDITABLES:
|
||||
rd_branch=${GITHUB_REF_NAME}
|
||||
echo $rd_branch
|
||||
gits_folder="${GITHUB_WORKSPACE}/gits" # without last /
|
||||
|
||||
mkdir -vp $gits_folder
|
||||
cd $gits_folder
|
||||
if [ -d flathub ]; then
|
||||
rm -rf flathub
|
||||
fi
|
||||
git clone --recursive https://github.com/flathub/net.retrodeck.retrodeck.git flathub
|
||||
cd $gits_folder
|
||||
git clone --recursive https://github.com/RetroDECK/RetroDECK RetroDECK
|
||||
cd $gits_folder/RetroDECK
|
||||
|
||||
# NON-EDITABLES
|
||||
#relname="$rd_branch-"$(date +%d%m%y.%H%M)
|
||||
relname="cooker-"$(git rev-parse --short HEAD)
|
||||
|
||||
git checkout $rd_branch
|
||||
git submodule init
|
||||
git submodule update
|
||||
# NOTE: the only linked submodules are: rd-submodules/retroarch
|
||||
# these must be included in the exclusion list as they must be redownloaded
|
||||
#sync -rav --progress --exclude={'res/screenshots/','shared-modules/','rd-submodules/retroarch','.git/','docs','retrodeck-flatpak/','retrodeck-flatpak-cooker/','.flatpak-builder/'} ~/RetroDECK/ ~/flathub/
|
||||
|
||||
cd $gits_folder/flathub
|
||||
|
||||
git checkout -b $relname
|
||||
|
||||
git rm -rf *
|
||||
git clean -fxd # restroing git index
|
||||
|
||||
# Copying only a few files as the others are cloned by git in retrodeck.sh
|
||||
cd $gits_folder/RetroDECK
|
||||
cp -rf \
|
||||
'flathub.json' \
|
||||
'LICENSE' \
|
||||
'flathub.yml' \
|
||||
'README.md' \
|
||||
$gits_folder/flathub/
|
||||
|
||||
cd $gits_folder/flathub
|
||||
ls -lah
|
||||
|
||||
# manipulating manifest
|
||||
mv flathub.yml net.retrodeck.retrodeck.yml
|
||||
|
||||
# Getting latest release name
|
||||
# version=$(\
|
||||
# curl -sL \
|
||||
# -H "Accept: application/vnd.github+json" \
|
||||
# -H "Authorization: Bearer ${{ secrets.TRIGGER_BUILD_TOKEN }}" \
|
||||
# https://api.github.com/repos/RetroDECK/Cooker/releases \
|
||||
# | jq .[0].tag_name \
|
||||
# | tr -d \" \
|
||||
# )
|
||||
|
||||
sha=$(curl -sL https://artifacts.retrodeck.net/artifacts/RetroDECK-Artifact.sha)
|
||||
|
||||
sed -i "s#__SHA__#$sha#g" net.retrodeck.retrodeck.yml
|
||||
|
||||
echo -e "Resulting manifest:\n"
|
||||
cat net.retrodeck.retrodeck.yml
|
||||
|
||||
git config --global user.name "${{ secrets.GITNAME }}"
|
||||
git config --global user.email "${{ secrets.GITMAIL }}"
|
||||
|
||||
git add *
|
||||
git commit -m "Updated flathub/net.retrodeck.retrodeck from RetroDECK/$rd_branch"
|
||||
|
||||
git remote -v
|
||||
git push --force https://${{ secrets.TRIGGER_BUILD_TOKEN }}@github.com/flathub/net.retrodeck.retrodeck.git $relname
|
|
@ -1,188 +0,0 @@
|
|||
name: main
|
||||
|
||||
on:
|
||||
# Triggers the workflow on push or pull request events but only for the main branch
|
||||
# push:
|
||||
# branches:
|
||||
# - main
|
||||
# pull_request:
|
||||
# branches:
|
||||
# - main
|
||||
|
||||
workflow_dispatch:
|
||||
|
||||
|
||||
jobs:
|
||||
|
||||
Job1_-_Building_P1:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
|
||||
- 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: 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
|
||||
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: Buld part 1 - Until melonds
|
||||
run: |
|
||||
sudo flatpak-builder --build-only --stop-at=melonds --user --force-clean --repo=${GITHUB_WORKSPACE}/.local retrodeck-flatpak-main net.retrodeck.retrodeck.yml
|
||||
|
||||
- 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: 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.version.outputs.version }}"
|
||||
#tag: "${{ steps.extract_branch.outputs.branch }}-${{ steps.date.outputs.date }}"
|
||||
tag: "0.4.0b"
|
||||
body: |
|
||||
# Release Notes (main)
|
||||
|
||||
artifacts: "RetroDECK.flatpak"
|
||||
allowUpdates: true
|
||||
prerelease: true
|
||||
draft: true
|
||||
token: ${{ secrets.TRIGGER_BUILD_TOKEN }}
|
||||
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
|
|
@ -1,57 +0,0 @@
|
|||
name: Sunday Submodule Update
|
||||
|
||||
on:
|
||||
# At 4:00 (CET)
|
||||
# schedule:
|
||||
# - cron: '0 2 * * 0'
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
update_submodules:
|
||||
name: Update submodules and create PR
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
|
||||
- name: Checkout repo with submodules
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
token: ${{ secrets.REPO_TOKEN }}
|
||||
submodules: recursive
|
||||
|
||||
- name: Fetch all remote branches
|
||||
run: git fetch --all
|
||||
|
||||
- name: List cooker branches by date
|
||||
id: list_branches
|
||||
run: |
|
||||
BRANCHES=$(git for-each-ref --sort=-committerdate refs/remotes/origin/cooker* --format='%(refname)') echo “::set-output name=branches::$BRANCHES”
|
||||
|
||||
- name: Select target branch
|
||||
id: select_branch
|
||||
run: |
|
||||
TARGET_BRANCH=(echo{{ steps.list_branches.outputs.branches }} | head -n 1)
|
||||
echo “::set-output name=target_branch::$TARGET_BRANCH”
|
||||
git checkout $TARGET_BRANCH
|
||||
echo "Working on $TARGET_BRANCH"
|
||||
|
||||
- name: Update submodules with command
|
||||
run: git submodule update --remote --merge --recursive
|
||||
|
||||
- name: Configure Git credentials
|
||||
run: |
|
||||
git config --global user.name 'GitHub bot'
|
||||
git config --global user.email 'bot@noreply.github.com'
|
||||
|
||||
- name: Commit and push changes
|
||||
run: |
|
||||
git commit -am "Sunday submodule update"
|
||||
git push origin HEAD:submodule-update
|
||||
|
||||
- name: Create PR
|
||||
uses: repo-sync/pull-request@v2
|
||||
with:
|
||||
github_token: ${{ secrets.REPO_TOKEN }}
|
||||
pr_title: "Sunday submodule update"
|
||||
pr_body: "This PR updates the submodules to the latest commit on their remote repositories."
|
||||
source_branch: "submodule-update"
|
||||
destination_branch: "cooker*"
|
|
@ -1,34 +0,0 @@
|
|||
name: Update-ReadTheDocs
|
||||
|
||||
on:
|
||||
gollum
|
||||
# push:
|
||||
# branches:
|
||||
# - main
|
||||
# paths:
|
||||
# - 'wiki-rtd'
|
||||
# pull_request:
|
||||
# branches:
|
||||
# - main
|
||||
# paths:
|
||||
# - 'wiki-rtd'
|
||||
# workflow_dispatch:
|
||||
|
||||
|
||||
jobs:
|
||||
|
||||
Job1_-_Building_P1:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Update ReadTheDocs wiki-rtd
|
||||
id: wiki-rtd-update
|
||||
run: |
|
||||
git checkout https://github.com/RetroDECK/RetroDECK.wiki-rtd.git tmp/wiki-rtd
|
||||
cp -rf tmp/wiki-rtd/* wiki-rtd
|
||||
rm wiki-rtd/index.md
|
||||
mv wiki-rtd/Home.md wiki-rtd/index.md
|
||||
git commit -m "Updating wiki-rtd"
|
||||
git push
|
|
@ -1,353 +0,0 @@
|
|||
sdk-extensions:
|
||||
#- org.freedesktop.Sdk.Extension.dotnet6 # Needed for Ryujinx - Removed, check if it's not breaking something else
|
||||
finish-args:
|
||||
#- --env=QT_QPA_PLATFORM=xcb #not sure if this will break something
|
||||
|
||||
# pcsx2-qt needs QT6, maybe others, here until every qt emulator will support qt6 (not yuzu atm)
|
||||
# from: https://github.com/flathub/org.profex_xrd.Profex
|
||||
|
||||
# - name: qt6-core5compat
|
||||
# buildsystem: cmake-ninja
|
||||
# builddir: true
|
||||
# sources:
|
||||
# - type: archive
|
||||
# url: https://download.qt.io/official_releases/qt/6.2/6.2.4/submodules/qt5compat-everywhere-src-6.2.4.tar.xz
|
||||
# sha256: 5de2b9e25bf7de161fbb88ecdd468ed1788bc899392fc05ed80aa590ebb352fa
|
||||
# x-checker-data:
|
||||
# type: html
|
||||
# url: https://download.qt.io/official_releases/qt/6.2/
|
||||
# version-pattern: '>([\d\.-]*)/<'
|
||||
# url-template: https://download.qt.io/official_releases/qt/6.2/$version/submodules/qt5compat-everywhere-src-$version.tar.xz
|
||||
# post-install:
|
||||
# - mkdir -p /app/lib/mkspecs
|
||||
# - cp -R /app/mkspecs/* /app/lib/mkspecs/
|
||||
# - ln -fsr ${FLATPAK_DEST}/lib/${FLATPAK_ARCH}-linux-gnu/libQt*.so* -t ${FLATPAK_DEST}/lib/
|
||||
# - sed -i 's/\\([0-9]\\+\\.[0-9]\\+\\)\\.[0-9]\\+ ${_Qt6.*_FIND_VERSION_EXACT}/\\1/'
|
||||
# ${FLATPAK_DEST}/lib/${FLATPAK_ARCH}-linux-gnu/cmake/Qt6*/Qt6*Config.cmake
|
||||
# - sed -e 's@PATHS \"${CMAKE_CURRENT_LIST_DIR}/..\" NO_DEFAULT_PATH@PATHS \"${CMAKE_CURRENT_LIST_DIR}/..\"
|
||||
# \"/usr/lib/${CMAKE_CXX_LIBRARY_ARCHITECTURE}/cmake/\" NO_DEFAULT_PATH@' -i
|
||||
# ${FLATPAK_DEST}/lib/${FLATPAK_ARCH}-linux-gnu/cmake/Qt6*/Qt6*Config.cmake
|
||||
# - sed -e 's@\\($$QT_MODULE_BIN_BASE\\)@\\1 '${FLATPAK_DEST}'/bin @' -i ${FLATPAK_DEST}/lib/mkspecs/modules/*.pri
|
||||
# - sed -e 's@\\($$QT_MODULE_INCLUDE_BASE \\)@\\1'${FLATPAK_DEST}'/include @'
|
||||
# -i ${FLATPAK_DEST}/lib/mkspecs/modules/*.pri
|
||||
# - sed -e 's@$$QT_MODULE_INCLUDE_BASE/@'${FLATPAK_DEST}'/include/@g' -i ${FLATPAK_DEST}/lib/mkspecs/modules/*.pri
|
||||
# - sed -e 's@$$QT_MODULE_LIB_BASE@'${FLATPAK_DEST}'/lib@g' -i ${FLATPAK_DEST}/lib/mkspecs/modules/*.pri
|
||||
# cleanup:
|
||||
# - /app/mkspecs
|
||||
|
||||
# XEMU: libglu removed due to a certificate issue, check libglu module for more info
|
||||
# - name: libglu
|
||||
# buildsystem: meson
|
||||
# cleanup:
|
||||
# - /include
|
||||
# - /lib/debug
|
||||
# - /lib/pkgconfig
|
||||
# - /lib/*.a
|
||||
# sources:
|
||||
# - type: archive
|
||||
# url: http://mesa.freedesktop.org/archive/glu/glu-9.0.2.tar.xz
|
||||
# sha256: 6e7280ff585c6a1d9dfcdf2fca489251634b3377bfc33c29e4002466a38d02d4
|
||||
# x-checker-data:
|
||||
# type: anitya
|
||||
# project-id: 13518
|
||||
# stable-only: true
|
||||
# url-template: http://mesa.freedesktop.org/archive/glu/glu-$version.tar.xz
|
||||
|
||||
# Duckstation - START
|
||||
# https://github.com/flathub/org.duckstation.DuckStation
|
||||
# Disabled until we completely switch to QT6
|
||||
|
||||
# - name: duckstation
|
||||
# buildsystem: cmake-ninja
|
||||
# no-make-install: true
|
||||
# builddir: true
|
||||
# config-opts:
|
||||
# - -DCMAKE_BUILD_TYPE=RelWithDebInfo
|
||||
# - -DUSE_EGL=ON
|
||||
# - -DUSE_SDL2=ON
|
||||
# - -DUSE_WAYLAND=ON
|
||||
# - -DUSE_X11=ON
|
||||
# - -DUSE_DRMKMS=ON
|
||||
# - -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON
|
||||
# post-install:
|
||||
# - install -m755 bin/duckstation-qt /app/bin
|
||||
# - cp -r ../data/* bin/translations /app/bin
|
||||
# sources:
|
||||
# - type: git
|
||||
# url: https://github.com/stenzek/duckstation.git
|
||||
# commit: 6f709468601183083b8581d4952aaba7baf77084
|
||||
# # Cloning dep/msvc/qt is only necessary for Windows
|
||||
# disable-submodules: true
|
||||
|
||||
# Duckstation - END
|
||||
|
||||
# Duckstation-DontUpdate - START
|
||||
# Old version moved to QT6 so it's either this or AppImage
|
||||
# But AppImage is a single one that keep getting updated at the same link so the sha (that's mandatory) will break the build
|
||||
# So yeah we're stuck with this for a while
|
||||
|
||||
# - name: duckstation-DontUpdate
|
||||
# buildsystem: cmake-ninja
|
||||
# no-make-install: true
|
||||
# builddir: true
|
||||
# config-opts:
|
||||
# - -DCMAKE_BUILD_TYPE=Release
|
||||
# - -DUSE_EGL=ON
|
||||
# - -DUSE_SDL2=ON
|
||||
# - -DUSE_WAYLAND=ON
|
||||
# - -DUSE_X11=ON
|
||||
# - -DUSE_DRMKMS=ON
|
||||
# - -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON
|
||||
# post-install:
|
||||
# - install -m 755 -t /app/bin/ bin/duckstation-nogui bin/duckstation-qt
|
||||
# - |-
|
||||
# for px in 16 32 48 64 128 256; do
|
||||
# install -Dm644 ../extras/icons/icon-${px}px.png /app/share/icons/hicolor/${px}x${px}/apps/org.duckstation.DuckStation.png
|
||||
# done
|
||||
# - cp -r ../data/* bin/translations /app/bin
|
||||
# sources:
|
||||
# - type: git
|
||||
# url: https://github.com/stenzek/duckstation.git
|
||||
# commit: 3fb61865e505ba639609fbf16cb8bdf5c66e020c
|
||||
|
||||
# Duckstation-DontUpdate - END
|
||||
|
||||
# Ryujinx - START
|
||||
# https://github.com/flathub/org.ryujinx.Ryujinx
|
||||
|
||||
- name: Ryujinx
|
||||
buildsystem: simple
|
||||
build-options:
|
||||
no-debuginfo: true
|
||||
no-debuginfo-compression: true
|
||||
strip: false
|
||||
arch:
|
||||
x86_64:
|
||||
env:
|
||||
RUNTIME: linux-x64
|
||||
env:
|
||||
PKG_CONFIG_PATH: /app/lib/pkgconfig:/app/share/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig
|
||||
DOTNET_CLI_TELEMETRY_OPTOUT: 'true'
|
||||
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 'true'
|
||||
RYUJINX_VERSION: 1.1.1014
|
||||
RYUJINX_TARGET_RELEASE_CHANNEL_OWNER: flathub
|
||||
RYUJINX_TARGET_RELEASE_CHANNEL_REPO: org.ryujinx.Ryujinx
|
||||
RYUJINX_TARGET_RELEASE_CHANNEL_NAME: master
|
||||
build-commands:
|
||||
- |
|
||||
export PATH=$PATH:/run/build/Ryujinx/dotnet-sdk
|
||||
export RYUJINX_GIT_SHORT_HASH=$(git rev-parse --short HEAD)
|
||||
export RUNTIME_FRAMEWORK_VERSION=$(find nuget-sources -name 'microsoft.netcore.app.host.linux-x64.*' | grep -oP '(\d.\d.\d+.nupkg)' | grep -oP '(\d.\d.\d+)')
|
||||
sed -r --in-place "s/\%\%RYUJINX_BUILD_VERSION\%\%/$RYUJINX_VERSION/g;" src/Ryujinx.Common/ReleaseInformation.cs
|
||||
sed -r --in-place "s/\%\%RYUJINX_BUILD_GIT_HASH\%\%/$RYUJINX_GIT_SHORT_HASH/g;" src/Ryujinx.Common/ReleaseInformation.cs
|
||||
sed -r --in-place "s/\%\%RYUJINX_TARGET_RELEASE_CHANNEL_NAME\%\%/$RYUJINX_TARGET_RELEASE_CHANNEL_NAME/g;" src/Ryujinx.Common/ReleaseInformation.cs
|
||||
sed -r --in-place "s/\%\%RYUJINX_TARGET_RELEASE_CHANNEL_OWNER\%\%/$RYUJINX_TARGET_RELEASE_CHANNEL_OWNER/g;" src/Ryujinx.Common/ReleaseInformation.cs
|
||||
sed -r --in-place "s/\%\%RYUJINX_TARGET_RELEASE_CHANNEL_REPO\%\%/$RYUJINX_TARGET_RELEASE_CHANNEL_REPO/g;" src/Ryujinx.Common/ReleaseInformation.cs
|
||||
mkdir -p /app/bin
|
||||
dotnet publish -c Release -r $RUNTIME /p:DebugType=embedded src/Ryujinx /p:Version=$RYUJINX_VERSION /p:SourceRevisionId=$RYUJINX_GIT_SHORT_HASH /p:ExtraDefineConstants="DISABLE_UPDATER%2CFORCE_EXTERNAL_BASE_DIR" /p:RuntimeFrameworkVersion=$RUNTIME_FRAMEWORK_VERSION --self-contained --source nuget-sources
|
||||
if [ $? -ne 0 ]; then
|
||||
exit 1;
|
||||
fi;
|
||||
cp -r --remove-destination /run/build/Ryujinx/src/Ryujinx/bin/Release/net7.0/$RUNTIME/publish/* /app/bin/
|
||||
chmod +x /app/bin/Ryujinx.sh
|
||||
mkdir -p /app/lib/ffmpeg
|
||||
ln -s /usr/lib/x86_64-linux-gnu/libX11.so.6 /app/lib/libX11.so
|
||||
install -Dm755 ryujinx-wrapper /app/bin/ryujinx-wrapper
|
||||
install -Dm644 distribution/misc/Logo.svg /app/share/icons/hicolor/scalable/apps/ryujinx.svg
|
||||
sources:
|
||||
- type: archive
|
||||
only-arches:
|
||||
- x86_64
|
||||
dest: dotnet-sdk
|
||||
url: https://dotnetcli.azureedge.net/dotnet/Sdk/7.0.401/dotnet-sdk-7.0.401-linux-x64.tar.gz
|
||||
sha256: 4634fa4da7ae4e3dadb83e320a87fb26f0cb12a7ca02bf9f10e6c3c1c91d645c
|
||||
x-checker-data:
|
||||
type: rotating-url
|
||||
url: https://aka.ms/dotnet/7.0/dotnet-sdk-linux-x64.tar.gz
|
||||
pattern: https://dotnetcli.azureedge.net/dotnet/Sdk/^([\d\.a-z-]+)$/dotnet-sdk-^([\d\.a-z-]+)$-linux-x64.tar.gz
|
||||
- rd-submodules/ryujinx/nuget_sources.json
|
||||
- type: git
|
||||
url: https://github.com/Ryujinx/Ryujinx.git
|
||||
commit: 7ccff037e87f82f3461f3e1422235e29800eaa2f
|
||||
- type: file
|
||||
path: rd-submodules/ryujinx/ryujinx-wrapper
|
||||
|
||||
# Ryujinx - END
|
||||
|
||||
# Needed from ES-DE 2.1.0+
|
||||
- name: libpoppler-glib
|
||||
buildsystem: cmake-ninja
|
||||
config-opts:
|
||||
- -DENABLE_BOOST=OFF
|
||||
sources:
|
||||
- type: archive
|
||||
# original link not working, found a mirror
|
||||
url: https://poppler.freedesktop.org/poppler-22.11.0.tar.xz
|
||||
#url: https://gitlab.freedesktop.org/poppler/poppler/-/archive/poppler-22.11.0/poppler-poppler-22.11.0.tar.bz2
|
||||
sha256: 093ba9844ed774285517361c15e21a31ba4df278a499263d4403cca74f2da828
|
||||
cleanup:
|
||||
- /lib/pkgconfig
|
||||
- /include
|
||||
- '*.a'
|
||||
- '*.la'
|
||||
|
||||
|
||||
# dependency of: XEMU, MelonDS (4.7.0)
|
||||
- name: libslirp
|
||||
buildsystem: meson
|
||||
cleanup:
|
||||
- /include
|
||||
sources:
|
||||
- type: archive
|
||||
url: https://gitlab.freedesktop.org/slirp/libslirp/-/archive/v4.8.0/libslirp-v4.8.0.tar.gz
|
||||
sha256: 2a98852e65666db313481943e7a1997abff0183bd9bea80caec1b5da89fda28c
|
||||
x-checker-data:
|
||||
type: anitya
|
||||
project-id: 96796
|
||||
stable-only: true
|
||||
url-template: https://gitlab.freedesktop.org/slirp/libslirp/-/archive/v$version/libslirp-v$version.tar.gz
|
||||
|
||||
# dependency of: CEMU (1.0.26), DOLPHIN (1.0.27)
|
||||
- name: libusb
|
||||
config-opts:
|
||||
- --disable-static
|
||||
cleanup:
|
||||
- /include
|
||||
- /lib/*.la
|
||||
- /lib/pkgconfig
|
||||
sources:
|
||||
- type: archive
|
||||
url: https://github.com/libusb/libusb/releases/download/v1.0.27/libusb-1.0.27.tar.bz2
|
||||
sha256: ffaa41d741a8a3bee244ac8e54a72ea05bf2879663c098c82fc5757853441575
|
||||
x-checker-data:
|
||||
type: anitya
|
||||
project-id: 1749
|
||||
stable-only: true
|
||||
url-template: https://github.com/libusb/libusb/releases/download/v$version/libusb-$version.tar.bz2
|
||||
|
||||
# Dolphin - START
|
||||
# why from source: AppImage not provided, only Flatpak
|
||||
# https://github.com/flathub/org.DolphinEmu.dolphin-emu
|
||||
# WHEN UPADTING: remember to update rd-submodules/dolphin contents
|
||||
|
||||
- name: xdg-screensaver-shim
|
||||
buildsystem: meson
|
||||
sources:
|
||||
- type: archive
|
||||
url: https://github.com/Unrud/xdg-screensaver-shim/archive/0.0.2.tar.gz
|
||||
sha256: 0ed2a69fe6ee6cbffd2fe16f85116db737f17fb1e79bfb812d893cf15c728399
|
||||
|
||||
- name: dolphin-emu
|
||||
buildsystem: cmake-ninja
|
||||
config-opts:
|
||||
- -DCMAKE_BUILD_TYPE=Release
|
||||
- -DENABLE_ALSA=OFF
|
||||
- -DENABLE_SDL=ON
|
||||
- -DENABLE_EVDEV=ON
|
||||
- -DDISTRIBUTOR=Flathub
|
||||
cleanup:
|
||||
- /share/man
|
||||
post-install:
|
||||
- install -D -t ${FLATPAK_DEST}/bin/ dolphin-emu-wrapper
|
||||
- sed -i -e 's/viewBox="0 0 1024.02 571.29"/viewBox="0 -285.645 1024 1024" width="2048"
|
||||
height="2048"/g' /app/share/icons/hicolor/scalable/apps/dolphin-emu.svg
|
||||
sources:
|
||||
- type: git
|
||||
# Sometimes Dolphin or its submodules clone are failing in https so it must done in ssh
|
||||
# fatal: remote transport reported error
|
||||
# url: ssh://git@github.com/dolphin-emu/dolphin.git
|
||||
url: https://github.com/dolphin-emu/dolphin.git
|
||||
commit: cc3ff347b437fd80f3a2880d1bbc7ba2d5f191f4
|
||||
# x-checker-data:
|
||||
# type: json
|
||||
# url: https://dolphin-emu.org/update/latest/beta
|
||||
# commit-query: .hash
|
||||
# version-query: .shortrev
|
||||
# timestamp-query: .date
|
||||
# is-main-source: true
|
||||
# detects whether dolphin is running in a flatpak sandbox
|
||||
# and makes it use xdg directories if it is.
|
||||
# prevents dolphin from attempting to write conf files
|
||||
# in non-writable paths, typically happens when a user
|
||||
# has leftover files from a previous non-flatpak install
|
||||
- type: patch
|
||||
path: rd-submodules/dolphin/detectflatpak.patch
|
||||
# version strings must match exactly for online multiplayer
|
||||
- type: patch
|
||||
path: rd-submodules/dolphin/nodirtyversion.patch
|
||||
- type: script
|
||||
commands:
|
||||
- |
|
||||
for i in {0..9}; do
|
||||
test -S $XDG_RUNTIME_DIR/discord-ipc-$i ||
|
||||
ln -sf {app/com.discordapp.Discord,$XDG_RUNTIME_DIR}/discord-ipc-$i;
|
||||
done
|
||||
dolphin-emu "$@"
|
||||
dest-filename: dolphin-emu-wrapper
|
||||
|
||||
- name: universal_dynamic_input
|
||||
buildsystem: simple
|
||||
build-commands:
|
||||
- mkdir -p ${FLATPAK_DEST}/retrodeck/extras/DynamicInputTextures
|
||||
- cp -rf * ${FLATPAK_DEST}/retrodeck/extras/DynamicInputTextures/
|
||||
sources:
|
||||
- type: git
|
||||
url: https://github.com/Venomalia/UniversalDynamicInput.git
|
||||
commit: UNIVERSALDYNAMICINPUTCOMMITPLACEHOLDER
|
||||
|
||||
# Dolphin - END
|
||||
|
||||
# SOLARUS - START
|
||||
# why from source: they only provide a snap
|
||||
# https://github.com/flathub/org.solarus_games.solarus.Launcher
|
||||
|
||||
- name: luajit
|
||||
no-autogen: true
|
||||
cleanup:
|
||||
- /bin
|
||||
- /lib/*.a
|
||||
- /include
|
||||
- /lib/pkgconfig
|
||||
- /share/man
|
||||
sources:
|
||||
- type: archive
|
||||
url: https://luajit.org/download/LuaJIT-2.0.5.tar.gz
|
||||
sha256: 874b1f8297c697821f561f9b73b57ffd419ed8f4278c82e05b48806d30c1e979
|
||||
- type: shell
|
||||
commands:
|
||||
- sed -i 's|/usr/local|/app|' ./Makefile
|
||||
|
||||
- name: libmodplug
|
||||
cleanup:
|
||||
- /include
|
||||
sources:
|
||||
- type: archive
|
||||
url: https://download.sourceforge.net/project/modplug-xmms/libmodplug/0.8.9.0/libmodplug-0.8.9.0.tar.gz
|
||||
sha512: 880e10154fd367ee24ace53ca7e32a5c1fee7dfff1f934e6499944c12779427da63e2f55f8d6ce25db0a42a5b4424053bf64305b31dbfc4ef6a8909924d655fd
|
||||
|
||||
- name: physfs
|
||||
buildsystem: cmake-ninja
|
||||
config-opts:
|
||||
- -DPHYSFS_BUILD_TEST=OFF
|
||||
sources:
|
||||
- type: archive
|
||||
url: https://icculus.org/physfs/downloads/physfs-3.0.2.tar.bz2
|
||||
sha256: 304df76206d633df5360e738b138c94e82ccf086e50ba84f456d3f8432f9f863
|
||||
size: 194888
|
||||
x-checker-data:
|
||||
type: anitya
|
||||
project-id: 3631
|
||||
url-template: https://icculus.org/physfs/downloads/physfs-$version.tar.bz2
|
||||
|
||||
- name: solarus
|
||||
buildsystem: cmake-ninja
|
||||
builddir: true
|
||||
config-opts:
|
||||
- -DSOLARUS_GUI=OFF
|
||||
sources:
|
||||
- type: git
|
||||
url: https://gitlab.com/solarus-games/solarus.git
|
||||
tag: v1.6.5
|
||||
commit: 3aec70b0556a8d7aed7903d1a3e4d9a18c5d1649
|
||||
|
||||
# SOLARUS - END
|
|
@ -1,62 +0,0 @@
|
|||
name: TEST_release_info
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
paths:
|
||||
- .github/workflows/TEST_release_info.yml
|
||||
pull_request:
|
||||
branches:
|
||||
- main
|
||||
|
||||
workflow_dispatch:
|
||||
|
||||
|
||||
jobs:
|
||||
|
||||
Building_RetroDECK:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
|
||||
- name: Generate build ID
|
||||
id: generating_buildid
|
||||
run: echo "##[set-output name=build-id;]$(echo "$( git rev-parse --short HEAD )")"
|
||||
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Initialize enviornment
|
||||
run: |
|
||||
git pull
|
||||
git submodule init
|
||||
git submodule update
|
||||
sudo apt install -y flatpak flatpak-builder p7zip-full xmlstarlet appstream-util
|
||||
|
||||
- name: Validating the metainfo
|
||||
run: appstream-util validate "net.retrodeck.retrodeck.metainfo.xml"
|
||||
continue-on-error: true
|
||||
|
||||
- name: Getting version info
|
||||
id: version
|
||||
run: |
|
||||
metainfo="https://raw.githubusercontent.com/RetroDECK/RetroDECK/main/net.retrodeck.retrodeck.metainfo.xml"
|
||||
REL_VER=$(curl -s $metainfo | xmlstarlet sel -t -v "//release/@version" | head -1)
|
||||
DES="$(curl -s $metainfo | xmlstarlet sel -t -m "//release[1]" -v "description" -n | sed '1,2d;$d;s/^ */- /;/^- $/d')"
|
||||
echo "REL_VER=$REL_VER" >> $GITHUB_ENV
|
||||
echo -e "# Release Notes\n" >> "body.md"
|
||||
echo "$DES" >> "body.md"
|
||||
|
||||
- name: Publish the flatpak in a new release
|
||||
uses: ncipollo/release-action@v1
|
||||
env:
|
||||
REL_VER: ${{ env.REL_VER }}
|
||||
with:
|
||||
tag: ${{ env.REL_VER }}
|
||||
name: "RetroDECK v${{ env.REL_VER }}"
|
||||
bodyFile: "body.md"
|
||||
#artifacts: "RetroDECK.flatpak,RetroDECK-Artifact.tar.gz"
|
||||
allowUpdates: true
|
||||
draft: true
|
||||
token: ${{ secrets.TRIGGER_BUILD_TOKEN }}
|
||||
repo: RetroDECK
|
||||
#continue-on-error: true
|
|
@ -1,205 +0,0 @@
|
|||
name: cooker
|
||||
|
||||
on:
|
||||
# push:
|
||||
# branches:
|
||||
# - cooker*
|
||||
# pull_request:
|
||||
# branches:
|
||||
# - cooker*
|
||||
|
||||
workflow_dispatch:
|
||||
|
||||
|
||||
jobs:
|
||||
|
||||
Job1_-_Building_P1:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
|
||||
- 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: Download global cache
|
||||
uses: dawidd6/action-download-artifact@v2
|
||||
with:
|
||||
workflow: cooker.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-cooker.tar.gz
|
||||
rm -f retrodeck-cooker.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
|
||||
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: Buld part 1 - Until melonds
|
||||
run: |
|
||||
sudo flatpak-builder --build-only --stop-at=melonds --user --force-clean --repo=${GITHUB_WORKSPACE}/local retrodeck-flatpak-cooker net.retrodeck.retrodeck.yml
|
||||
|
||||
- name: Compress cache
|
||||
run: |
|
||||
touch retrodeck-cooker.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-cooker.tar.gz retrodeck-flatpak-cooker .flatpak-builder/build
|
||||
|
||||
- name: Upload build specific cache
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: "${{ steps.generating_buildid.outputs.build-id }}"
|
||||
path: retrodeck-cooker.tar.gz
|
||||
|
||||
# this is done to speed up the things now, it may be removed later
|
||||
- name: Compress global cache
|
||||
run: |
|
||||
touch retrodeck-cooker.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-cooker.tar.gz retrodeck-flatpak-cooker .flatpak-builder/build
|
||||
continue-on-error: true
|
||||
|
||||
- name: Upload global cache
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: global-cache
|
||||
path: retrodeck-cooker.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-cooker.tar.gz
|
||||
rm -f retrodeck-cooker.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-cooker net.retrodeck.retrodeck.yml
|
||||
sudo flatpak build-bundle $GITHUB_WORKSPACE/local RetroDECK.flatpak net.retrodeck.retrodeck
|
||||
|
||||
- name: Get date for artifacts
|
||||
id: date
|
||||
run: echo "::set-output name=date::$(date +'%Y%m%d_%H%M')"
|
||||
|
||||
- name: Extract branch name
|
||||
shell: bash
|
||||
run: echo "##[set-output name=branch;]$(echo ${GITHUB_REF#refs/heads/})"
|
||||
id: extract_branch
|
||||
|
||||
- name: Read version from version file
|
||||
id: version
|
||||
run: echo "##[set-output name=version;]$(cat $(find . -name version))"
|
||||
|
||||
- name: DEBUG - Print version name
|
||||
shell: bash
|
||||
run: |
|
||||
echo "DEBUG: printing version from version file"
|
||||
echo "${{ steps.version.outputs.version }}"
|
||||
|
||||
- name: Publish the flatpak in a new cooker release
|
||||
uses: ncipollo/release-action@v1
|
||||
with:
|
||||
#tag: "${{ steps.version.outputs.version }}"
|
||||
tag: "${{ steps.extract_branch.outputs.branch }}-${{ steps.date.outputs.date }}"
|
||||
body: |
|
||||
# Release Notes (Cooker)
|
||||
This is a cooker snapshot based on the commit: ${{ github.event.repository.full_name }}@${{github.sha}}.
|
||||
|
||||
Cooker channel is provided for the community to test fixes and explore new functionality.
|
||||
Please DO NOT open issues or ask support on this build.
|
||||
|
||||
artifacts: "RetroDECK.flatpak"
|
||||
allowUpdates: true
|
||||
prerelease: true
|
||||
draft: false
|
||||
token: ${{ secrets.TRIGGER_BUILD_TOKEN }}
|
||||
repo: RetroDECK-cooker
|
||||
continue-on-error: true
|
||||
|
||||
- name: Compress global cache
|
||||
run: |
|
||||
touch retrodeck-cooker.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-cooker.tar.gz retrodeck-flatpak-cooker .flatpak-builder/build
|
||||
continue-on-error: true
|
||||
|
||||
- name: Upload global cache
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: global-cache
|
||||
path: retrodeck-cooker.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
|
|
@ -1,88 +0,0 @@
|
|||
|
||||
name: PUSH-cooker-flathub
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
|
||||
Pushing_cooker_into_flathub:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Pushing
|
||||
shell: bash
|
||||
run: |
|
||||
|
||||
# EDITABLES:
|
||||
rd_branch=${GITHUB_REF_NAME}
|
||||
echo $rd_branch
|
||||
gits_folder="${GITHUB_WORKSPACE}/gits" # without last /
|
||||
|
||||
mkdir -vp $gits_folder
|
||||
cd $gits_folder
|
||||
if [ -d flathub ]; then
|
||||
rm -rf flathub
|
||||
fi
|
||||
git clone --recursive https://github.com/flathub/net.retrodeck.retrodeck.git flathub
|
||||
cd $gits_folder
|
||||
git clone --recursive https://github.com/RetroDECK/RetroDECK RetroDECK
|
||||
cd $gits_folder/RetroDECK
|
||||
|
||||
# NON-EDITABLES
|
||||
#relname="$rd_branch-"$(date +%d%m%y.%H%M)
|
||||
relname="cooker-"$(git rev-parse --short HEAD)
|
||||
|
||||
git checkout $rd_branch
|
||||
git submodule init
|
||||
git submodule update
|
||||
# NOTE: the only linked submodules are: rd-submodules/retroarch
|
||||
# these must be included in the exclusion list as they must be redownloaded
|
||||
#sync -rav --progress --exclude={'res/screenshots/','shared-modules/','rd-submodules/retroarch','.git/','docs','retrodeck-flatpak/','retrodeck-flatpak-cooker/','.flatpak-builder/'} ~/RetroDECK/ ~/flathub/
|
||||
|
||||
cd $gits_folder/flathub
|
||||
|
||||
git checkout -b $relname
|
||||
|
||||
git rm -rf *
|
||||
git clean -fxd # restroing git index
|
||||
|
||||
# Copying only a few files as the others are cloned by git in retrodeck.sh
|
||||
cd $gits_folder/RetroDECK
|
||||
cp -rf \
|
||||
'flathub.json' \
|
||||
'LICENSE' \
|
||||
'flathub.yml' \
|
||||
'README.md' \
|
||||
$gits_folder/flathub/
|
||||
|
||||
cd $gits_folder/flathub
|
||||
ls -lah
|
||||
|
||||
# manipulating manifest
|
||||
mv flathub.yml net.retrodeck.retrodeck.yml
|
||||
|
||||
# Getting latest release name
|
||||
# version=$(\
|
||||
# curl -sL \
|
||||
# -H "Accept: application/vnd.github+json" \
|
||||
# -H "Authorization: Bearer ${{ secrets.TRIGGER_BUILD_TOKEN }}" \
|
||||
# https://api.github.com/repos/RetroDECK/Cooker/releases \
|
||||
# | jq .[0].tag_name \
|
||||
# | tr -d \" \
|
||||
# )
|
||||
|
||||
sha=$(curl -sL https://artifacts.retrodeck.net/artifacts/RetroDECK-Artifact.sha)
|
||||
|
||||
sed -i "s#__SHA__#$sha#g" net.retrodeck.retrodeck.yml
|
||||
|
||||
echo -e "Resulting manifest:\n"
|
||||
cat net.retrodeck.retrodeck.yml
|
||||
|
||||
git config --global user.name "${{ secrets.GITNAME }}"
|
||||
git config --global user.email "${{ secrets.GITMAIL }}"
|
||||
|
||||
git add *
|
||||
git commit -m "Updated flathub/net.retrodeck.retrodeck from RetroDECK/$rd_branch"
|
||||
|
||||
git remote -v
|
||||
git push --force https://${{ secrets.TRIGGER_BUILD_TOKEN }}@github.com/flathub/net.retrodeck.retrodeck.git $relname
|
|
@ -1,188 +0,0 @@
|
|||
name: main
|
||||
|
||||
on:
|
||||
# Triggers the workflow on push or pull request events but only for the main branch
|
||||
# push:
|
||||
# branches:
|
||||
# - main
|
||||
# pull_request:
|
||||
# branches:
|
||||
# - main
|
||||
|
||||
workflow_dispatch:
|
||||
|
||||
|
||||
jobs:
|
||||
|
||||
Job1_-_Building_P1:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
|
||||
- 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: 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
|
||||
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: Buld part 1 - Until melonds
|
||||
run: |
|
||||
sudo flatpak-builder --build-only --stop-at=melonds --user --force-clean --repo=${GITHUB_WORKSPACE}/local retrodeck-flatpak-main net.retrodeck.retrodeck.yml
|
||||
|
||||
- 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: 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.version.outputs.version }}"
|
||||
#tag: "${{ steps.extract_branch.outputs.branch }}-${{ steps.date.outputs.date }}"
|
||||
tag: "0.4.0b"
|
||||
body: |
|
||||
# Release Notes (main)
|
||||
|
||||
artifacts: "RetroDECK.flatpak"
|
||||
allowUpdates: true
|
||||
prerelease: true
|
||||
draft: true
|
||||
token: ${{ secrets.TRIGGER_BUILD_TOKEN }}
|
||||
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
|
|
@ -1,22 +0,0 @@
|
|||
name: Remove-artifacts
|
||||
|
||||
on:
|
||||
#schedule:
|
||||
# Every day at 1am
|
||||
# - cron: '0 1 * * *'
|
||||
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
remove-old-artifacts:
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 10
|
||||
|
||||
steps:
|
||||
- name: Remove old artifacts
|
||||
uses: c-hive/gha-remove-artifacts@v1
|
||||
with:
|
||||
age: '2 seconds' # '<number> <unit>', e.g. 5 days, 2 years, 90 seconds, parsed by Moment.js
|
||||
# Optional inputs
|
||||
# skip-tags: true
|
||||
# skip-recent: 5
|
1
rd-submodules/ryujinx/.gitignore
vendored
1
rd-submodules/ryujinx/.gitignore
vendored
|
@ -1 +0,0 @@
|
|||
.flatpak-builder
|
3
rd-submodules/ryujinx/.gitmodules
vendored
3
rd-submodules/ryujinx/.gitmodules
vendored
|
@ -1,3 +0,0 @@
|
|||
[submodule "flatpak-builder-tools"]
|
||||
path = flatpak-builder-tools
|
||||
url = https://github.com/flatpak/flatpak-builder-tools.git
|
|
@ -1,3 +0,0 @@
|
|||
{
|
||||
"only-arches": ["x86_64"]
|
||||
}
|
File diff suppressed because it is too large
Load diff
|
@ -1,82 +0,0 @@
|
|||
app-id: org.ryujinx.Ryujinx
|
||||
runtime: org.freedesktop.Platform
|
||||
runtime-version: '22.08'
|
||||
sdk: org.freedesktop.Sdk
|
||||
add-extensions:
|
||||
org.freedesktop.Platform.ffmpeg-full:
|
||||
version: '22.08'
|
||||
directory: lib/ffmpeg
|
||||
add-ld-path: .
|
||||
finish-args:
|
||||
- --share=ipc
|
||||
- --socket=x11
|
||||
- --device=all
|
||||
- --socket=pulseaudio
|
||||
- --share=network
|
||||
- --filesystem=home:ro
|
||||
- --filesystem=xdg-run/app/com.discordapp.Discord:create
|
||||
- --filesystem=xdg-config/gtk-3.0:ro
|
||||
rename-icon: ryujinx
|
||||
command: ryujinx-wrapper
|
||||
modules:
|
||||
- name: Ryujinx
|
||||
buildsystem: simple
|
||||
build-options:
|
||||
no-debuginfo: true
|
||||
no-debuginfo-compression: true
|
||||
strip: false
|
||||
arch:
|
||||
x86_64:
|
||||
env:
|
||||
RUNTIME: linux-x64
|
||||
env:
|
||||
PKG_CONFIG_PATH: /app/lib/pkgconfig:/app/share/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig
|
||||
DOTNET_CLI_TELEMETRY_OPTOUT: 'true'
|
||||
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 'true'
|
||||
RYUJINX_VERSION: 1.1.1035
|
||||
RYUJINX_TARGET_RELEASE_CHANNEL_OWNER: flathub
|
||||
RYUJINX_TARGET_RELEASE_CHANNEL_REPO: org.ryujinx.Ryujinx
|
||||
RYUJINX_TARGET_RELEASE_CHANNEL_NAME: master
|
||||
build-commands:
|
||||
- |
|
||||
export PATH=$PATH:/run/build/Ryujinx/dotnet-sdk
|
||||
export RYUJINX_GIT_SHORT_HASH=$(git rev-parse --short HEAD)
|
||||
export RUNTIME_FRAMEWORK_VERSION=$(find nuget-sources -name 'microsoft.netcore.app.host.linux-x64.*' | grep -oP '(\d.\d.\d+.nupkg)' | grep -oP '(\d.\d.\d+)')
|
||||
sed -r --in-place "s/\%\%RYUJINX_BUILD_VERSION\%\%/$RYUJINX_VERSION/g;" src/Ryujinx.Common/ReleaseInformation.cs
|
||||
sed -r --in-place "s/\%\%RYUJINX_BUILD_GIT_HASH\%\%/$RYUJINX_GIT_SHORT_HASH/g;" src/Ryujinx.Common/ReleaseInformation.cs
|
||||
sed -r --in-place "s/\%\%RYUJINX_TARGET_RELEASE_CHANNEL_NAME\%\%/$RYUJINX_TARGET_RELEASE_CHANNEL_NAME/g;" src/Ryujinx.Common/ReleaseInformation.cs
|
||||
sed -r --in-place "s/\%\%RYUJINX_TARGET_RELEASE_CHANNEL_OWNER\%\%/$RYUJINX_TARGET_RELEASE_CHANNEL_OWNER/g;" src/Ryujinx.Common/ReleaseInformation.cs
|
||||
sed -r --in-place "s/\%\%RYUJINX_TARGET_RELEASE_CHANNEL_REPO\%\%/$RYUJINX_TARGET_RELEASE_CHANNEL_REPO/g;" src/Ryujinx.Common/ReleaseInformation.cs
|
||||
mkdir -p /app/bin
|
||||
dotnet publish -c Release -r $RUNTIME /p:DebugType=embedded src/Ryujinx /p:Version=$RYUJINX_VERSION /p:SourceRevisionId=$RYUJINX_GIT_SHORT_HASH /p:ExtraDefineConstants="DISABLE_UPDATER%2CFORCE_EXTERNAL_BASE_DIR" /p:RuntimeFrameworkVersion=$RUNTIME_FRAMEWORK_VERSION --self-contained --source nuget-sources
|
||||
if [ $? -ne 0 ]; then
|
||||
exit 1;
|
||||
fi;
|
||||
cp -r --remove-destination /run/build/Ryujinx/src/Ryujinx/bin/Release/net7.0/$RUNTIME/publish/* /app/bin/
|
||||
mkdir -p /app/lib/ffmpeg
|
||||
ln -s /usr/lib/x86_64-linux-gnu/libX11.so.6 /app/lib/libX11.so
|
||||
install -Dm644 $FLATPAK_ID.appdata.xml /app/share/metainfo/$FLATPAK_ID.appdata.xml
|
||||
install -Dm755 ryujinx-wrapper /app/bin/ryujinx-wrapper
|
||||
install -Dm644 distribution/misc/Logo.svg /app/share/icons/hicolor/scalable/apps/ryujinx.svg
|
||||
install -Dm644 distribution/linux/mime/Ryujinx.xml /app/share/mime/packages/$FLATPAK_ID.mime.xml
|
||||
install -Dm644 distribution/linux/Ryujinx.desktop /app/share/applications/$FLATPAK_ID.desktop
|
||||
desktop-file-edit --set-key="Exec" --set-value="ryujinx-wrapper %f" /app/share/applications/$FLATPAK_ID.desktop
|
||||
sources:
|
||||
- type: archive
|
||||
only-arches:
|
||||
- x86_64
|
||||
dest: dotnet-sdk
|
||||
url: https://dotnetcli.azureedge.net/dotnet/Sdk/7.0.401/dotnet-sdk-7.0.401-linux-x64.tar.gz
|
||||
sha256: 4634fa4da7ae4e3dadb83e320a87fb26f0cb12a7ca02bf9f10e6c3c1c91d645c
|
||||
x-checker-data:
|
||||
type: rotating-url
|
||||
url: https://aka.ms/dotnet/7.0/dotnet-sdk-linux-x64.tar.gz
|
||||
pattern: https://dotnetcli.azureedge.net/dotnet/Sdk/^([\d\.a-z-]+)$/dotnet-sdk-^([\d\.a-z-]+)$-linux-x64.tar.gz
|
||||
- nuget_sources.json
|
||||
- type: git
|
||||
url: https://github.com/Ryujinx/Ryujinx.git
|
||||
commit: bc44b85b0bdcaf8140a04130e4a895677a01111f
|
||||
- type: file
|
||||
path: ryujinx-wrapper
|
||||
- type: file
|
||||
path: org.ryujinx.Ryujinx.appdata.xml
|
Binary file not shown.
Before Width: | Height: | Size: 5.7 MiB |
Binary file not shown.
Before Width: | Height: | Size: 1.4 MiB |
Binary file not shown.
Before Width: | Height: | Size: 4.6 MiB |
Loading…
Reference in a new issue