GitHub Action for creating AppImage releases from .tar.gz packages. It generates AppImage file based on source .tar.gz under git tag latest.
- only stable version releases
- only build new release if the new version of source .tar.gz had been released
The GitHub repo needs to have app.desktop file in the root and GitHub action set. See examples at:
- https://github.com/valicm/Postman-AppImage
- https://github.com/valicm/dbeaver-ce-appimage
- https://github.com/valicm/VSCode-AppImage
- https://github.com/valicm/PhpStorm-AppImage
It can be used as GitHub action, but bash script can be used as standalone outside of GitHub.
See action.yml
steps: - uses: actions/checkout@v2 - name: Build id: build uses: valicm/appimage-bash@v1.3 with: version_url: 'https://dl.pstmn.io/download/latest/linux64' version_file: 'app/resources/app/package.json' version_bash: 'jq -r .version' version_icon: 'icon_128x128.png'- version_url -> URL where the source .tar.gz can be downloaded
- version_file -> path to the file which contains version string of .tar.gz package
- version_icon -> name of the image file from original .tar.gz to be used as source icon
- version_bash -> bash code to search for version string inside version_file
- version_directory -> binary to be placed in different folder than default usr/bin
- version_check -> check if the version of source .tar.gz is different from the last GH release
- version_only -> executing only version check, no build performed
The bash script can be used as standalone for building AppImage packages. It relies on app.desktop file having specific properties from where you can define download url, icon, etc..
- VersionUrl
- VersionFile
- VersionIcon
- VersionBash
- VersionDirectory
Specification of these properties are same as of action inputs above.
wget https://raw.githubusercontent.com/valicm/appimage-bash/main/build.sh chmod +x build.sh
[Desktop Entry] Version=1.0 Type=Application Name=PhpStorm Exec=phpstorm.sh %f Icon=Phpstorm Comment=PhpStorm Categories=Development;IDE; Terminal=false StartupNotify=true StartupWMClass=jetbrains-phpstorm VersionUrl=https://data.services.jetbrains.com/products/download?code=PS&platform=linux VersionFile=product-info.json VersionBash=jq -r .version VersionIcon=phpstorm.svg VersionDirectory=opt/phpstorm bash build.sh
The scripts and documentation in this project are released under the MIT License