101 lines
3.2 KiB
YAML
101 lines
3.2 KiB
YAML
name: Build waylib on Arch Linux (independent)
|
|
|
|
on:
|
|
push:
|
|
paths:
|
|
- 'waylib/**'
|
|
- 'qwlroots/**'
|
|
- '.github/workflows/waylib-archlinux-build.yml'
|
|
|
|
pull_request:
|
|
paths:
|
|
- 'waylib/**'
|
|
- 'qwlroots/**'
|
|
- '.github/workflows/waylib-archlinux-build.yml'
|
|
|
|
jobs:
|
|
container:
|
|
runs-on: ubuntu-latest
|
|
container: archlinux:latest
|
|
steps:
|
|
- name: Run in container
|
|
run: |
|
|
cat /etc/pacman.d/mirrorlist
|
|
pacman-key --init
|
|
pacman --noconfirm --noprogressbar -Syu
|
|
- name: Install dependencies
|
|
run: |
|
|
pacman -Syu --noconfirm --noprogressbar base-devel qt6-base qt6-declarative cmake pkgconfig pixman vulkan-headers wlroots0.19 wayland-protocols wlr-protocols git
|
|
pacman -Syu --noconfirm --noprogressbar clang ninja make
|
|
pacman -Syu --noconfirm --noprogressbar fakeroot meson sudo
|
|
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
submodules: true
|
|
|
|
- name: Create qwlroots symlink for waylib
|
|
run: |
|
|
cd waylib
|
|
ln -sf ../qwlroots qwlroots
|
|
echo "✅ Created symlink: waylib/qwlroots -> ../qwlroots"
|
|
ls -la qwlroots
|
|
|
|
- name: Configure and Build waylib with ci preset
|
|
working-directory: waylib
|
|
run: |
|
|
echo "Working directory:" $PWD
|
|
cmake --preset ci -DWITH_SUBMODULE_QWLROOTS=ON
|
|
cmake --build --preset ci
|
|
|
|
- name: Install waylib to staging directory
|
|
working-directory: waylib
|
|
run: |
|
|
echo "Installing waylib to staging directory..."
|
|
mkdir -p /tmp/waylib-install
|
|
DESTDIR=/tmp/waylib-install cmake --install build
|
|
echo "✅ waylib installed to staging directory"
|
|
|
|
echo "Installed files:"
|
|
find /tmp/waylib-install -type f | head -20
|
|
echo "Total files installed: $(find /tmp/waylib-install -type f | wc -l)"
|
|
|
|
- name: Create waylib installation package
|
|
run: |
|
|
cd /tmp/waylib-install
|
|
|
|
# Install zip if not available
|
|
pacman -Syu --noconfirm zip
|
|
|
|
# Create package info
|
|
echo "Creating package info..."
|
|
cat > PACKAGE_INFO.txt << EOF
|
|
Package: waylib-archlinux-build
|
|
Version: $(date +%Y%m%d-%H%M%S)
|
|
Architecture: x86_64
|
|
Built-on: Arch Linux
|
|
Built-with: qwlroots submodule enabled
|
|
CMake-Config: -DWITH_SUBMODULE_QWLROOTS=ON
|
|
|
|
Installation Instructions:
|
|
1. Extract this package to /
|
|
2. Run: sudo ldconfig (if libraries are included)
|
|
3. Ensure dependencies are installed on target system
|
|
|
|
Files included in this package:
|
|
EOF
|
|
find . -type f | sort >> PACKAGE_INFO.txt
|
|
|
|
# Create the zip package
|
|
zip -r /tmp/waylib-archlinux-$(date +%Y%m%d-%H%M%S).zip .
|
|
echo "✅ waylib installation package created"
|
|
|
|
ls -la /tmp/waylib-archlinux-*.zip
|
|
|
|
- name: Upload waylib ArchLinux build artifacts
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: waylib-archlinux-build
|
|
path: "/tmp/waylib-archlinux-*.zip"
|
|
if-no-files-found: error
|
|
retention-days: 30
|