mirror of
				https://github.com/Swordfish90/cool-retro-term.git
				synced 2025-10-31 15:12:28 +00:00 
			
		
		
		
	Merge pull request #711 from razziel89/feature/appimage-in-github-actions
Feature/appimage in GitHub actions
This commit is contained in:
		
							
								
								
									
										98
									
								
								.github/workflows/appimage.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										98
									
								
								.github/workflows/appimage.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,98 @@ | |||||||
|  | name: "ci" | ||||||
|  |  | ||||||
|  | on: | ||||||
|  |   push: | ||||||
|  |     tags: "**" | ||||||
|  |   workflow_dispatch: | ||||||
|  |  | ||||||
|  | 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 | ||||||
		Reference in New Issue
	
	Block a user