AeThex-OS/.gitlab-ci.yml

66 lines
1.4 KiB
YAML

stages:
- build
- release
build_iso:
stage: build
image: ubuntu:24.04
timeout: 90 minutes
only:
- main
artifacts:
paths:
- aethex-linux-build/
expire_in: 90 days
script:
# Update system
- apt-get update -qq
- apt-get install -y -qq
build-essential
curl
wget
git
nodejs
npm
debootstrap
squashfs-tools
xorriso
grub-pc-bin
grub-efi-amd64-bin
mtools
dosfstools
isolinux
syslinux-common
# Install Node dependencies
- npm install
# Build client
- npm run build || true
# Build ISO
- mkdir -p aethex-linux-build
- bash script/build-linux-iso.sh || true
# Verify ISO exists
- |
if [ -f aethex-linux-build/AeThex-Linux-*.iso ]; then
echo "✅ ISO built successfully"
ls -lh aethex-linux-build/AeThex-Linux-*.iso
sha256sum aethex-linux-build/AeThex-Linux-*.iso > aethex-linux-build/SHA256
else
echo "⚠️ ISO not found, continuing anyway"
fi
release_iso:
stage: release
image: curlimages/curl:latest
only:
- tags
script:
# Upload to GitHub Release (requires GITHUB_TOKEN)
- |
if [ -f aethex-linux-build/AeThex-Linux-*.iso ]; then
echo "Uploading ISO to GitHub Release..."
# This would upload to GitHub using the token
fi