RetroDECK/.github/workflows/flathub_push_main.yml

102 lines
3.3 KiB
YAML

name: "Push main on Flathub"
on:
workflow_dispatch:
jobs:
Pushing_main_into_flathub:
runs-on:
- ubuntu-latest
steps:
- name: Pushing
shell: bash
run: |
# EDITABLES:
rd_branch=${GITHUB_REF_NAME} # should be main
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
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
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 \
'LICENSE' \
'README.md' \
$gits_folder/flathub/
cd $gits_folder/flathub
ls -lah
# Creating the manifest for flathub
manifest='net.retrodeck.retrodeck.yml'
sed -n '/cleanup/q;p' $gits_folder/RetroDECK/net.retrodeck.retrodeck.yml > $manifest
sed -i '/^[[:space:]]*#/d' $manifest
sed -i 's/[[:space:]]*#.*$//' $manifest
cat << EOF >> $manifest
modules:
- name: retrodeck
buildsystem: simple
build-commands:
- cp -rn files/* /app
sources:
- type: archive
url: https://artifacts.retrodeck.net/artifacts/RetroDECK-Artifact.tar.gz
sha256: __SHA__
EOF
cat << EOF >> flathub.json
{
"only-arches": ["x86_64"]
}
EOF
# 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/XargonWan/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
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 push --force https://${{ secrets.TRIGGER_BUILD_TOKEN }}@github.com/flathub/net.retrodeck.retrodeck.git $relname