diff --git a/.github/workflows/build-appimage.yml b/.github/workflows/build-appimage.yml index aa85304..d692b0f 100644 --- a/.github/workflows/build-appimage.yml +++ b/.github/workflows/build-appimage.yml @@ -1 +1,72 @@ -WIP hihihi +name: Build AppImage + +on: + workflow_dispatch: + release: + types: [published] + +jobs: + build-appimage: + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Install dependencies + run: | + sudo apt-get update + sudo apt-get install -y desktop-file-utils zsync libfuse2 + + - name: Download appimagetool + run: | + wget -c https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage + chmod +x appimagetool-x86_64.AppImage + + - name: Setup AppDir + run: | + mkdir -p Stoat.AppDir/usr/bin + + # Extract the built app (assuming 'dist' or 'build' folder has the unpacked app) + # NOTE: You might need to adjust this path depending on where 'pnpm make' outputs files + # If the repo doesn't build automatically, we download the zip as you did manually: + # wget -O stoat.zip + # unzip stoat.zip -d Stoat.AppDir/usr/bin/ + + # For this example, assuming you have a 'dist' folder with the app: + cp -r dist/linux-unpacked/* Stoat.AppDir/usr/bin/ + + - name: Create AppRun + run: | + cd Stoat.AppDir + ln -s usr/bin/stoat-desktop AppRun + + - name: Create Desktop File + run: | + cat > Stoat.AppDir/stoat.desktop <