summaryrefslogtreecommitdiff
path: root/meshmc/.github/actions/package/linux
diff options
context:
space:
mode:
authorMehmet Samet Duman <yongdohyun@projecttick.org>2026-04-02 20:38:37 +0300
committerMehmet Samet Duman <yongdohyun@projecttick.org>2026-04-02 20:38:37 +0300
commit25a9943d68a7dc31eeefeb17913dbe37d87e5302 (patch)
tree540166d548cafc56726a07225f2dbe649c8e2444 /meshmc/.github/actions/package/linux
parenta4b5ffbaadb591066e2a97f8d450fb1d93e56a6e (diff)
downloadProject-Tick-25a9943d68a7dc31eeefeb17913dbe37d87e5302.tar.gz
Project-Tick-25a9943d68a7dc31eeefeb17913dbe37d87e5302.zip
NOISSUE Remove not needed CI workflows for GitHub Actions and reworked some workflows
Signed-off-by: Mehmet Samet Duman <yongdohyun@projecttick.org>
Diffstat (limited to 'meshmc/.github/actions/package/linux')
-rw-r--r--meshmc/.github/actions/package/linux/action.yml153
1 files changed, 0 insertions, 153 deletions
diff --git a/meshmc/.github/actions/package/linux/action.yml b/meshmc/.github/actions/package/linux/action.yml
deleted file mode 100644
index 457ccb27ed..0000000000
--- a/meshmc/.github/actions/package/linux/action.yml
+++ /dev/null
@@ -1,153 +0,0 @@
-name: Package for Linux
-description: Create Linux packages for MeshMC
-
-inputs:
- version:
- description: Launcher version
- required: true
- build-type:
- description: Type for the build
- required: true
- default: Debug
- artifact-name:
- description: Name of the uploaded artifact
- required: true
- default: Linux
- qt-version:
- description: Version of Qt to use
- required: true
- gpg-private-key:
- description: Private key for AppImage signing
- required: false
- gpg-private-key-id:
- description: ID for the gpg-private-key, to select the signing key
- required: false
-
-runs:
- using: composite
-
- steps:
- - name: Cleanup Qt installation on Linux
- shell: bash
- run: |
- rm -rf "$QT_PLUGIN_PATH"/printsupport
- rm -rf "$QT_PLUGIN_PATH"/sqldrivers
- rm -rf "$QT_PLUGIN_PATH"/help
- rm -rf "$QT_PLUGIN_PATH"/designer
- rm -rf "$QT_PLUGIN_PATH"/qmltooling
- rm -rf "$QT_PLUGIN_PATH"/qmlls
- rm -rf "$QT_PLUGIN_PATH"/qmllint
- rm -rf "$QT_PLUGIN_PATH"/platformthemes/libqgtk3.so
-
- - name: Setup build variables
- shell: bash
- run: |
- # Fixup architecture naming for AppImages
- dpkg_arch="$(dpkg-architecture -q DEB_HOST_ARCH_CPU)"
- case "$dpkg_arch" in
- "amd64")
- APPIMAGE_ARCH="x86_64"
- ;;
- "arm64")
- APPIMAGE_ARCH="aarch64"
- ;;
- *)
- echo "# 🚨 The Debian architecture \"$deb_arch\" is not recognized!" >> "$GITHUB_STEP_SUMMARY"
- exit 1
- ;;
- esac
- echo "APPIMAGE_ARCH=$APPIMAGE_ARCH" >> "$GITHUB_ENV"
-
- # Used for the file paths of libraries
- echo "DEB_HOST_MULTIARCH=$(dpkg-architecture -q DEB_HOST_MULTIARCH)" >> "$GITHUB_ENV"
-
- - name: Package AppImage
- shell: bash
- env:
- VERSION: ${{ github.ref_type == 'tag' && github.ref_name || inputs.version }}
- BUILD_DIR: build
- INSTALL_APPIMAGE_DIR: install-appdir
-
- GPG_PRIVATE_KEY: ${{ inputs.gpg-private-key }}
- run: |
- cmake --install ${{ env.BUILD_DIR }} --config ${{ inputs.build-type }} --prefix ${{ env.INSTALL_APPIMAGE_DIR }}
-
- if [ '${{ inputs.gpg-private-key-id }}' != '' ]; then
- echo "$GPG_PRIVATE_KEY" > privkey.asc
- gpg --import privkey.asc
- gpg --export --armor ${{ inputs.gpg-private-key-id }} > pubkey.asc
- else
- echo ":warning: Skipped code signing for Linux AppImage, as gpg key was not present." >> $GITHUB_STEP_SUMMARY
- fi
-
- sharun lib4bin \
- --hard-links \
- --with-hooks \
- --dst-dir "$INSTALL_APPIMAGE_DIR" \
- "$INSTALL_APPIMAGE_DIR"/bin/* "$QT_PLUGIN_PATH"/*/*.so
-
- cp ~/bin/AppImageUpdate.AppImage "$INSTALL_APPIMAGE_DIR"/bin/
- # FIXME(@YongDo-Hyun): gamemode doesn't seem to be very portable with DBus. Find a way to make it work!
- find "$INSTALL_APPIMAGE_DIR" -name '*gamemode*' -exec rm {} +
-
- #disable OpenGL and Vulkan launcher features until https://github.com/VHSgunzo/sharun/issues/35
- echo "LAUNCHER_DISABLE_GLVULKAN=1" > "$INSTALL_APPIMAGE_DIR"/.env
- #makes the launcher use portals for file picking
- echo "QT_QPA_PLATFORMTHEME=xdgdesktopportal" > "$INSTALL_APPIMAGE_DIR"/.env
- ln -s org.projecttick.MeshMC.metainfo.xml "$INSTALL_APPIMAGE_DIR"/share/metainfo/org.projecttick.MeshMC.appdata.xml
- ln -s share/applications/org.projecttick.MeshMC.desktop "$INSTALL_APPIMAGE_DIR"
- ln -s share/icons/hicolor/256x256/apps/org.projecttick.MeshMC.png "$INSTALL_APPIMAGE_DIR"
- mv "$INSTALL_APPIMAGE_DIR"/{sharun,AppRun}
- ls -la "$INSTALL_APPIMAGE_DIR"
-
- if [[ "${{ github.ref_type }}" == "tag" ]]; then
- APPIMAGE_DEST="MeshMC-Linux-$APPIMAGE_ARCH.AppImage"
- else
- APPIMAGE_DEST="MeshMC-Linux-$VERSION-${{ inputs.build-type }}-$APPIMAGE_ARCH.AppImage"
- fi
-
- mkappimage \
- --updateinformation "gh-releases-zsync|${{ github.repository_owner }}|${{ github.event.repository.name }}|latest|MeshMC-Linux-$APPIMAGE_ARCH.AppImage.zsync" \
- "$INSTALL_APPIMAGE_DIR" \
- "$APPIMAGE_DEST"
-
- - name: Package portable tarball
- shell: bash
- env:
- BUILD_DIR: build
-
- INSTALL_PORTABLE_DIR: install-portable
- run: |
- cmake --install ${{ env.BUILD_DIR }} --config ${{ inputs.build-type }} --prefix ${{ env.INSTALL_PORTABLE_DIR }}
- cmake --install ${{ env.BUILD_DIR }} --config ${{ inputs.build-type }} --prefix ${{ env.INSTALL_PORTABLE_DIR }} --component portable
-
- sharun lib4bin \
- --with-hooks \
- --hard-links \
- --dst-dir "$INSTALL_PORTABLE_DIR" \
- "$INSTALL_PORTABLE_DIR"/bin/* "$QT_PLUGIN_PATH"/*/*.so
-
- # FIXME(@YongDo-Hyun): gamemode doesn't seem to be very portable with DBus. Find a way to make it work!
- find "$INSTALL_PORTABLE_DIR" -name '*gamemode*' -exec rm {} +
-
- for l in $(find ${{ env.INSTALL_PORTABLE_DIR }} -type f -o -type l); do l=${l#$(pwd)/}; l=${l#${{ env.INSTALL_PORTABLE_DIR }}/}; l=${l#./}; echo $l; done > ${{ env.INSTALL_PORTABLE_DIR }}/manifest.txt
- cd ${{ env.INSTALL_PORTABLE_DIR }}
- tar -czf ../MeshMC-portable.tar.gz *
-
- - name: Upload binary tarball
- uses: actions/upload-artifact@v7
- with:
- name: MeshMC-${{ inputs.artifact-name }}-Qt6-Portable-${{ inputs.version }}-${{ inputs.build-type }}
- path: MeshMC-portable.tar.gz
-
- - name: Upload AppImage
- uses: actions/upload-artifact@v7
- with:
- name: MeshMC-${{ runner.os }}-${{ inputs.version }}-${{ inputs.build-type }}-${{ env.APPIMAGE_ARCH }}.AppImage
- path: MeshMC-${{ runner.os }}-*${{ env.APPIMAGE_ARCH }}.AppImage
-
- - name: Upload AppImage Zsync
- uses: actions/upload-artifact@v7
- with:
- name: MeshMC-${{ runner.os }}-${{ inputs.version }}-${{ inputs.build-type }}-${{ env.APPIMAGE_ARCH }}.AppImage.zsync
- path: MeshMC-${{ runner.os }}-*${{ env.APPIMAGE_ARCH }}.AppImage.zsync