Create 1main.yml

This commit is contained in:
Harshit Dagar 2025-03-22 09:14:41 +05:30 committed by GitHub
parent dd75aead7b
commit 869fad3594
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

68
.github/workflows/1main.yml vendored Normal file
View file

@ -0,0 +1,68 @@
name: Build Ladybird (Software Rendering)
on:
workflow_dispatch: # Allows manual trigger from GitHub Actions UI
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Cache CMake and Ninja Builds
uses: actions/cache@v4
with:
path: Build/release
key: ${{ runner.os }}-ladybird-${{ hashFiles('**/CMakeLists.txt') }}
restore-keys: |
${{ runner.os }}-ladybird-
- name: Install Dependencies
run: |
sudo apt update
sudo apt install -y autoconf autoconf-archive automake build-essential ccache cmake curl \
fonts-liberation2 git libgl1-mesa-dev nasm ninja-build pkg-config qt6-base-dev \
qt6-tools-dev-tools qt6-wayland tar unzip zip libpulse-dev xvfb \
mesa-utils libegl1-mesa libglx-mesa0 libosmesa6
- name: Install CMake (from Kitware)
run: |
wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - | sudo tee /usr/share/keyrings/kitware-archive-keyring.gpg >/dev/null
echo "deb [signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/kitware.list
sudo apt update -y && sudo apt install -y cmake
- name: Install GCC-13
run: |
sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y
sudo apt update
sudo apt install -y g++-13 libstdc++-13-dev
- name: Setup Virtual Display (Xvfb)
run: |
Xvfb :99 -screen 0 1920x1080x24 &
echo "DISPLAY=:99" >> $GITHUB_ENV
- name: Enable Software Rendering
run: |
echo "LIBGL_ALWAYS_SOFTWARE=1" >> $GITHUB_ENV
echo "MESA_LOADER_DRIVER_OVERRIDE=llvmpipe" >> $GITHUB_ENV
echo "QT_QPA_PLATFORM=xcb" >> $GITHUB_ENV
- name: Build Ladybird
run: |
cmake -GNinja -B Build/release
ninja -C Build/release
- name: Run Ladybird in Software Rendering Mode
run: |
xvfb-run --auto-servernum --server-args="-screen 0 1920x1080x24" ./Build/release/bin/Ladybird --headless https://ladybird.dev || true
- name: Upload Build Artifacts
uses: actions/upload-artifact@v4
with:
name: Ladybird-Build
path: |
Build/release/bin/
Build/release/*.lo