diff --git a/.github/workflows/build-and-package.yml b/.github/workflows/build-and-package.yml index 225cc51..28f9309 100644 --- a/.github/workflows/build-and-package.yml +++ b/.github/workflows/build-and-package.yml @@ -52,13 +52,19 @@ jobs: restore-keys: | ${{ runner.os }}-dotnet- - - name: Normalize version - id: version + - name: Normalize version and build args + id: build-meta run: | VERSION="${{ inputs.version }}" VERSION="${VERSION#v}" echo "VERSION=$VERSION" >> "$GITHUB_OUTPUT" + EXTRA_ARGS="" + if [[ "${{ inputs.is_nightly }}" == "true" ]]; then + EXTRA_ARGS="-p:IsNightly=true" + fi + echo "EXTRA_ARGS=$EXTRA_ARGS" >> "$GITHUB_OUTPUT" + - name: Publish application run: | dotnet publish OpenSSH_GUI/OpenSSH_GUI.csproj \ @@ -68,8 +74,8 @@ jobs: -p:PublishSingleFile=true \ -p:PublishReadyToRun=true \ -p:IncludeNativeLibrariesForSelfExtract=true \ - -p:Version="${{ steps.version.outputs.VERSION }}" \ - ${{ inputs.is_nightly && '-p:IsNightly=true' || '' }} + -p:Version="${{ steps.build-meta.outputs.VERSION }}" \ + ${{ steps.build-meta.outputs.EXTRA_ARGS }} - name: Rename artifact id: rename @@ -85,11 +91,9 @@ jobs: run: | sudo apt-get update && sudo apt-get install -y librsvg2-bin - # Download appimagetool wget -q https://github.com/AppImage/appimagetool/releases/download/continuous/appimagetool-x86_64.AppImage -O appimagetool chmod +x appimagetool - # Create AppDir structure mkdir -p AppDir/usr/bin mkdir -p AppDir/usr/share/icons/hicolor/256x256/apps mkdir -p AppDir/usr/share/icons/hicolor/scalable/apps @@ -99,35 +103,31 @@ jobs: cp "./publish/${{ steps.rename.outputs.ASSET_NAME }}" AppDir/usr/bin/openssh-gui chmod +x AppDir/usr/bin/openssh-gui - # Convert SVG to PNG for AppImage icon - # Use rsvg-convert to create a high-quality PNG icon rsvg-convert -w 256 -h 256 images/openssh-gui.svg -o AppDir/usr/share/icons/hicolor/256x256/apps/openssh-gui.png cp images/openssh-gui.svg AppDir/usr/share/icons/hicolor/scalable/apps/openssh-gui.svg cp AppDir/usr/share/icons/hicolor/256x256/apps/openssh-gui.png AppDir/openssh-gui.png cp AppDir/usr/share/icons/hicolor/256x256/apps/openssh-gui.png AppDir/appicon.png cp appimage/io.github.frequency403.openssh_gui.metainfo.xml AppDir/usr/share/metainfo/io.github.frequency403.openssh_gui.metainfo.xml - - # Use ~ for nightly versions in appstream metadata - APPSTREAM_VERSION="${{ inputs.version }}" + + APPSTREAM_VERSION="${{ steps.build-meta.outputs.VERSION }}" if [[ "${{ inputs.is_nightly }}" == "true" ]]; then APPSTREAM_VERSION="${APPSTREAM_VERSION//+/~}" fi - + sed -i "s|||" \ AppDir/usr/share/metainfo/io.github.frequency403.openssh_gui.metainfo.xml - + appstreamcli make-desktop-file \ AppDir/usr/share/metainfo/io.github.frequency403.openssh_gui.metainfo.xml \ AppDir/usr/share/applications/io.github.frequency403.openssh_gui.desktop - + cp AppDir/usr/share/applications/io.github.frequency403.openssh_gui.desktop \ AppDir/io.github.frequency403.openssh_gui.desktop cp appimage/AppRun AppDir/AppRun chmod +x AppDir/AppRun - # Build AppImage APPIMAGE_NAME="${{ inputs.asset_name_prefix }}-x86_64.AppImage" ARCH=x86_64 ./appimagetool --appimage-extract-and-run AppDir "$APPIMAGE_NAME" echo "APPIMAGE_NAME=$APPIMAGE_NAME" >> "$GITHUB_OUTPUT" @@ -157,4 +157,4 @@ jobs: uses: actions/upload-artifact@v4 with: name: ${{ steps.rename.outputs.ASSET_NAME }} - path: ./publish/${{ steps.rename.outputs.ASSET_NAME }} + path: ./publish/${{ steps.rename.outputs.ASSET_NAME }} \ No newline at end of file diff --git a/Directory.Build.props b/Directory.Build.props index 6e80f39..aa0b155 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -5,7 +5,7 @@ enable default https://github.com/frequency403/OpenSSH-GUI - 3.1.1 + 3.1.2 true diff --git a/openssh-gui-bin/PKGBUILD b/openssh-gui-bin/PKGBUILD index 1ec676f..8d67b0d 100644 --- a/openssh-gui-bin/PKGBUILD +++ b/openssh-gui-bin/PKGBUILD @@ -1,5 +1,5 @@ pkgname=openssh-gui-bin -pkgver=3.1.1 +pkgver=3.1.2 pkgrel=1 pkgdesc="A GUI for OpenSSH configuration and management (Binary version)" arch=('x86_64')