Compare commits

...

3 Commits

Author SHA1 Message Date
27b3ac58c5 simplify naming and upgrade release upload with gitea native solution
Some checks failed
Build Linux AppImage / build-appimage (push) Has been cancelled
Build Linux AppImage / build-appimage (release) Successful in 43m8s
2026-01-15 02:25:27 -03:00
6609c6ddcd fix name build
Some checks failed
Build Linux AppImage / build-appimage (push) Has been cancelled
Build Linux AppImage / build-appimage (release) Failing after 43m39s
2026-01-15 01:32:23 -03:00
5fa81dae7a Linux build pipeline (#1)
Some checks failed
Build Linux AppImage / build-appimage (push) Has been cancelled
Build Linux AppImage / build-appimage (release) Failing after 44m19s
Reviewed-on: #1
2026-01-15 00:44:24 -03:00

View File

@@ -0,0 +1,159 @@
name: Build Linux AppImage
on:
push:
branches:
- '*'
pull_request:
branches:
- '*'
release:
types: [created, published]
jobs:
build-appimage:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: recursive
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y \
build-essential \
cmake \
ninja-build \
pkg-config \
git \
curl \
zip \
unzip \
xvfb \
qt6-base-dev \
qt6-base-private-dev \
qt6-svg-dev \
qt6-multimedia-dev \
qt6-tools-dev \
libglew-dev \
libglfw3-dev \
libopus-dev \
libssl-dev \
libudev-dev \
libavcodec-dev \
libavformat-dev \
libswscale-dev \
libavfilter-dev \
libfmt-dev \
libgl1-mesa-dev \
libxrandr-dev \
libxi-dev \
libxcursor-dev \
libxinerama-dev \
libsamplerate-dev \
libasound2-dev \
libpulse-dev \
libsndio-dev \
nlohmann-json3-dev \
libboost-context-dev \
libboost-filesystem-dev \
libzstd-dev \
liblz4-dev \
libsdl2-dev \
catch2 \
libvulkan-dev \
glslang-tools \
spirv-tools \
zsync \
wget
- name: Clean build directory
run: rm -rf build
- name: Build Eden
run: |
export TARGET=appimage
export USE_MULTIMEDIA=false
.ci/linux/build.sh amd64
env:
NPROC: 2
- name: Package AppImage
run: |
export USE_MULTIMEDIA=false
.ci/linux/package.sh amd64
- name: Get version info
id: version
run: |
VERSION=$(git describe --tags --abbrev=0 2>/dev/null || echo "dev")
COMMIT=$(git rev-parse --short HEAD)
echo "version=${VERSION}" >> $GITHUB_OUTPUT
echo "commit=${COMMIT}" >> $GITHUB_OUTPUT
echo "date=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT
- name: Upload AppImage artifact
uses: actions/upload-artifact@v3
with:
name: jdlo-eden-linux
path: |
Eden-*.AppImage
Eden-*.AppImage.zsync
retention-days: 30
if-no-files-found: error
- name: Create release info
run: |
echo "# Build Information" > build-info.txt
echo "Version: ${{ steps.version.outputs.version }}" >> build-info.txt
echo "Commit: ${{ steps.version.outputs.commit }}" >> build-info.txt
echo "Build Date: ${{ steps.version.outputs.date }}" >> build-info.txt
echo "Architecture: amd64-v3" >> build-info.txt
echo "Multimedia: disabled" >> build-info.txt
ls -lh Eden-*.AppImage >> build-info.txt
cat build-info.txt
- name: Upload build info
uses: actions/upload-artifact@v3
with:
name: build-info
path: build-info.txt
retention-days: 30
- name: Prepare release files
if: github.event_name == 'release'
id: prepare
run: |
# Find and rename files to simpler names
APPIMAGE_FILE=$(ls Eden-*.AppImage | head -n 1)
ZSYNC_FILE=$(ls Eden-*.AppImage.zsync | head -n 1)
cp "$APPIMAGE_FILE" jdlo-eden.AppImage
cp "$ZSYNC_FILE" jdlo-eden.AppImage.zsync
# Generate MD5 hash
MD5_HASH=$(md5sum "jdlo-eden.AppImage" | awk '{print $1}')
# Create release body with MD5 info
cat > release-body.md <<EOF
Thanks @arknost for the Linux version
\`jdlo-eden.AppImage\` MD5: \`$MD5_HASH\`
EOF
cat release-body.md
echo "md5_hash=$MD5_HASH" >> $GITHUB_OUTPUT
- name: Upload files to Release
if: github.event_name == 'release'
uses: akkuman/gitea-release-action@v1
with:
files: |-
jdlo-eden.AppImage
jdlo-eden.AppImage.zsync
body_path: release-body.md
token: ${{ secrets.GITHUB_TOKEN }}