Skip to content

Publish Studio Desktop for Linux in Flathub #30

Publish Studio Desktop for Linux in Flathub

Publish Studio Desktop for Linux in Flathub #30

name: Publish Studio Desktop for Linux in Flathub
on:
workflow_dispatch:
# workflow_run:
# workflows: [ Publish Studio Desktop ]
# types:
# - completed
jobs:
deploy-flathub:
name: Deploy in Flathub
runs-on: ubuntu-latest
if: ${{ github.event_name == 'workflow_dispatch' || (github.event_name == 'workflow_run' && github.event.workflow_run.conclusion == 'success') }}
steps:
- name: Install Python
uses: actions/setup-python@v2
with:
python-version: '3.x'
- name: Install Flatpak and Flathub
run: |
sudo apt-get install flatpak -y
sudo flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
sudo flatpak install flathub org.freedesktop.Sdk//23.08 -y --noninteractive
sudo flatpak install flathub org.freedesktop.Sdk.Extension.dotnet8//23.08 -y --noninteractive
- name: Checkout the target repository
uses: actions/checkout@v4
with:
repository: flathub/com.one_ware.OneWare
token: ${{ secrets.HENDRIK_PERSONAL_TOKEN }}
- name: Checkout this repository
uses: actions/checkout@v4
with:
path: source-repo
submodules: recursive
- uses: mavrosxristoforos/get-xml-info@2.0
name: Get Version
id: get-oneware-version
with:
xml-file: 'source-repo/build/props/Base.props'
xpath: "//*[local-name()='Project']/*[local-name()='PropertyGroup']/*[local-name()='StudioVersion']"
- name: Update Nuget Sources
run: |
curl -o flatpak-dotnet-generator.py https://raw.githubusercontent.com/flatpak/flatpak-builder-tools/master/dotnet/flatpak-dotnet-generator.py
chmod +x flatpak-dotnet-generator.py
./flatpak-dotnet-generator.py --dotnet 8 -f 23.08 -r linux-x64 oneware-nuget-sources.json ./source-repo/studio/OneWare.Studio.Desktop/OneWare.Studio.Desktop.csproj
rm -f flatpak-dotnet-generator.py
- name: Delete the source repository
run: rm -rf source-repo
- name: Update Version
run: |
sed -i 's/tag: .*/tag: ${{ steps.get-oneware-version.outputs.info }}/' com.one_ware.OneWare.yml
- name: Commit changes
run: |
git config --global user.name "github-actions[bot]"
git config --global user.email "github-actions[bot]@users.noreply.github.com"
git add com.one_ware.OneWare.yml
git add oneware-nuget-sources.json
git commit -m "Update OneWare Version"
- name: Push changes and create pull request
uses: peter-evans/create-pull-request@v6
with:
token: ${{ secrets.HENDRIK_PERSONAL_TOKEN }}
branch: release-${{ steps.get-oneware-version.outputs.info }}
title: "Update Version to ${{ steps.get-oneware-version.outputs.info }}"
body: "This is an automated pull request to update the version to ${{ steps.get-oneware-version.outputs.info }}"
labels: |
update
automated pr