aboutsummaryrefslogtreecommitdiff
path: root/.github
diff options
context:
space:
mode:
authorDjihads80 <mahboubijoujou111@gmail.com>2026-10-31 22:55:22 +0100
committerDjihads80 <mahboubijoujou111@gmail.com>2026-10-31 22:55:22 +0100
commite0a58c7364cab0c21ea3ce5170499e7b033fca3b (patch)
treea3b43dabd15ca23e28110acfc4bfd73d7198b602 /.github
parent919368bec2bfbf8ee4162d6e386049cdf6651bd8 (diff)
Added tarbal packaging in actions
Diffstat (limited to '.github')
-rw-r--r--.github/workflows/release-binaries.yml26
1 files changed, 23 insertions, 3 deletions
diff --git a/.github/workflows/release-binaries.yml b/.github/workflows/release-binaries.yml
index 849202f788..019d17584c 100644
--- a/.github/workflows/release-binaries.yml
+++ b/.github/workflows/release-binaries.yml
@@ -294,6 +294,21 @@ jobs:
cmake --build build/release --target yuzu yuzu-cmd --parallel
ccache --show-stats
+ # Plain tar.gz with the two programs. GitHub artifacts drop the executable bit, so a tar is
+ # what keeps it. This one is not self-contained: it needs Qt 6 and the usual libraries
+ # installed on the system.
+ - name: Package Linux tar.gz
+ if: startsWith(matrix.platform, 'linux')
+ shell: bash
+ run: |
+ set -euo pipefail
+ test -x build/release/bin/eglantine
+ test -x build/release/bin/eden-cli
+ strip build/release/bin/eglantine build/release/bin/eden-cli
+ tar -czf "eglantine-${GITHUB_SHA}-${{ matrix.platform }}.tar.gz" \
+ -C build/release/bin eglantine eden-cli
+ ls -la "eglantine-${GITHUB_SHA}-${{ matrix.platform }}.tar.gz"
+
# A self-contained AppImage: linuxdeploy bundles every library the two programs need except
# the base system ones (glibc, X11/Wayland client libraries, the GPU driver and Vulkan loader),
# and its Qt plugin adds the Qt libraries and platform plugins. Runs on glibc 2.39+ systems.
@@ -398,12 +413,15 @@ jobs:
if-no-files-found: error
retention-days: 7
+ # Both Linux files go in one artifact: the tar.gz and the AppImage.
- name: Upload Linux binary
if: startsWith(matrix.platform, 'linux')
uses: actions/upload-artifact@v4
with:
name: eglantine-${{ matrix.platform }}-${{ github.sha }}
- path: eglantine-${{ github.sha }}-${{ matrix.platform }}.AppImage
+ path: |
+ eglantine-${{ github.sha }}-${{ matrix.platform }}.tar.gz
+ eglantine-${{ github.sha }}-${{ matrix.platform }}.AppImage
if-no-files-found: error
compression-level: 0
retention-days: 7
@@ -433,7 +451,8 @@ jobs:
for artifact in artifacts/*/; do
name=$(basename "$artifact")
if compgen -G "$artifact*.AppImage" > /dev/null; then
- cp "$artifact"/*.AppImage dist/
+ # Linux: ship the AppImage and the tar.gz as they are.
+ cp "$artifact"/*.AppImage "$artifact"/*.tar.gz dist/
else
(cd "$artifact" && zip -qr "${GITHUB_WORKSPACE}/dist/${name}.zip" .)
fi
@@ -453,5 +472,6 @@ jobs:
--notes "Automatic build of ${GITHUB_REF_NAME} at ${GITHUB_SHA}.
Windows: extract the zip and run eglantine.exe, or eden-cli.exe from a terminal.
- Linux: make the AppImage executable (chmod +x) and run it; it bundles its libraries and needs glibc 2.39 or newer (Ubuntu 24.04, Fedora 40, Debian 13, Arch).
+ Linux (AppImage): make it executable (chmod +x) and run it; it bundles its libraries and needs glibc 2.39 or newer (Ubuntu 24.04, Fedora 40, Debian 13, Arch).
+ Linux (tar.gz): extract it and run ./eglantine or ./eden-cli; it uses your system libraries, so Qt 6 and the usual libraries must be installed.
The -pgo builds are the same programs compiled with profile-guided optimization (clang plus Eden's profile); prefer them when your CPU supports it. The Windows PGO build is a MinGW build, so it carries its own DLLs and needs no Visual C++ redistributable."