mirror of
				https://github.com/Swordfish90/cool-retro-term.git
				synced 2025-10-31 15:12:28 +00:00 
			
		
		
		
	Add github action for building an appimage
This commit is contained in:
		
							
								
								
									
										101
									
								
								.github/workflows/appimage.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										101
									
								
								.github/workflows/appimage.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,101 @@ | ||||
| name: "ci" | ||||
|  | ||||
| on: | ||||
|   push: | ||||
|     tags: "**" | ||||
|   workflow_dispatch: | ||||
|  | ||||
| permissions: | ||||
|   contents: write | ||||
|  | ||||
| defaults: | ||||
|   run: | ||||
|     shell: bash | ||||
|  | ||||
| jobs: | ||||
|   appimage: | ||||
|     runs-on: ubuntu-18.04 | ||||
|  | ||||
|     steps: | ||||
|     - name: Checkout repository | ||||
|       uses: actions/checkout@v2 | ||||
|       with: | ||||
|         submodules: true | ||||
|  | ||||
|     - name: Install dependencies | ||||
|       run: | | ||||
|         sudo add-apt-repository -y ppa:beineri/opt-qt-5.15.2-bionic | ||||
|         sudo apt-get update -qq | ||||
|         sudo apt-get install -y \ | ||||
|         build-essential make wget libgl1-mesa-dev \ | ||||
|         qt515declarative qt515graphicaleffects \ | ||||
|         qt515quickcontrols qt515quickcontrols2 | ||||
|  | ||||
|     - name: Download QT appimage builder | ||||
|       run: | | ||||
|         wget -c -O linuxdeployqt.AppImage \ | ||||
|         https://github.com/probonopd/linuxdeployqt/releases/download/continuous/linuxdeployqt-continuous-x86_64.AppImage | ||||
|         chmod a+x linuxdeployqt.AppImage | ||||
|  | ||||
|     - name: Build project | ||||
|       run: | | ||||
|         source /opt/qt*/bin/qt*-env.sh && \ | ||||
|         qmake -v && \ | ||||
|         qmake CONFIG+=release PREFIX=/usr && \ | ||||
|         make -j$(nproc) | ||||
|  | ||||
|     - name: Install to appdir | ||||
|       run: | | ||||
|         source /opt/qt*/bin/qt*-env.sh && \ | ||||
|         make INSTALL_ROOT=appdir -j$(nproc) install | ||||
|  | ||||
|     - name: Extract version number | ||||
|       run: | | ||||
|         # Extract version for linuxdeployqt to name the file. Use the tag as | ||||
|         # release name but remove prefix. | ||||
|         echo "VERSION=$(echo '${{ github.ref }}' | sed 's;.*/;;')" >> $GITHUB_ENV | ||||
|  | ||||
|     - name: Build appimage directory | ||||
|       run: | | ||||
|         mkdir -p \ | ||||
|         appdir/usr/bin \ | ||||
|         appdir/usr/lib \ | ||||
|         appdir/usr/share/applications \ | ||||
|         appdir/usr/share/metainfo \ | ||||
|         appdir/usr/share/icons/hicolor/128x128/apps | ||||
|  | ||||
|         cp cool-retro-term appdir/usr/bin/ | ||||
|         cp cool-retro-term.desktop appdir/usr/share/applications/ | ||||
|         cp packaging/appdata/cool-retro-term.appdata.xml appdir/usr/share/metainfo/ | ||||
|         cp app/icons/128x128/cool-retro-term.png appdir/usr/share/icons/hicolor/128x128/apps/ | ||||
|         cp -r ./app/qml appdir/usr/ | ||||
|         # Workaround for https://github.com/probonopd/linuxdeployqt/issues/78 | ||||
|         cp -r ./qmltermwidget/QMLTermWidget appdir/usr/qml/ | ||||
|  | ||||
|         find appdir | sort | ||||
|  | ||||
|     - name: Build appimage | ||||
|       run: | | ||||
|         source /opt/qt*/bin/qt*-env.sh && \ | ||||
|         ./linuxdeployqt.AppImage appdir/usr/share/applications/cool-retro-term.desktop \ | ||||
|         -verbose=1 -appimage \ | ||||
|         -qmldir=./app/qml/ \ | ||||
|         -qmldir=./qmltermwidget/ | ||||
|       env: | ||||
|         # Unset environment variables | ||||
|         QTDIR: | ||||
|         QT_PLUGIN_PATH: | ||||
|         LD_LIBRARY_PATH: | ||||
|  | ||||
|     - name: Upload release | ||||
|       uses: softprops/action-gh-release@v1 | ||||
|       with: | ||||
|         body: appimage release | ||||
|         files: ./**/Cool_Retro_Term-*-x86_64.AppImage | ||||
|  | ||||
|     - name: Clean up | ||||
|       if: always() | ||||
|       run: | | ||||
|         find appdir -executable -type f -exec ldd {} \; | grep " => /usr" | cut -d " " -f 2-3 | sort | uniq | ||||
|         make clean | ||||
|         rm -rf appdir | ||||
| @@ -5,6 +5,8 @@ CONFIG += ordered | ||||
| SUBDIRS += qmltermwidget | ||||
| SUBDIRS += app | ||||
|  | ||||
| QT += quick | ||||
|  | ||||
| desktop.files += cool-retro-term.desktop | ||||
| desktop.path += /usr/share/applications | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user