Update main3.yml

This commit is contained in:
Harshit Dagar 2025-03-22 11:42:34 +05:30 committed by GitHub
commit a68661dc08
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -1,45 +1,62 @@
name: Build Ladybird Browser name: Build Ladybird Browser.
on: on:
workflow_dispatch: # Manual trigger workflow_dispatch: # Allows manual trigger from GitHub Actions UI
jobs: jobs:
build: build:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Install dependencies steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Install Dependencies
run: | run: |
sudo apt update -y sudo apt update -y
sudo apt install -y \ sudo apt install -y \
autoconf autoconf-archive automake build-essential ccache cmake curl \ autoconf autoconf-archive automake build-essential ccache cmake curl \
fonts-liberation2 git libgl1-mesa-dev nasm ninja-build pkg-config \ fonts-liberation2 git libgl1-mesa-dev nasm ninja-build pkg-config \
qt6-base-dev qt6-tools-dev-tools qt6-wayland tar unzip zip \ qt6-base-dev qt6-tools-dev-tools qt6-wayland tar unzip zip \
libpulse-dev qt6-multimedia-dev xvfb # 🟢 Added Xvfb for virtual display libpulse-dev qt6-multimedia-dev xvfb mesa-utils libegl-dev libglx-dev libosmesa6
- name: Install CMake 3.25+ from Kitware - name: Install CMake 3.25+ from Kitware
run: | 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 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 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 cmake -y sudo apt update -y && sudo apt install cmake -y
- name: Install Clang 19 (C++23-capable compiler) - name: Install Clang 19 (C++23-capable compiler)
run: | run: |
sudo wget -O /usr/share/keyrings/llvm-snapshot.gpg.key https://apt.llvm.org/llvm-snapshot.gpg.key sudo wget -O /usr/share/keyrings/llvm-snapshot.gpg.key https://apt.llvm.org/llvm-snapshot.gpg.key
echo "deb [signed-by=/usr/share/keyrings/llvm-snapshot.gpg.key] https://apt.llvm.org/$(lsb_release -sc)/ llvm-toolchain-$(lsb_release -sc)-19 main" | sudo tee -a /etc/apt/sources.list.d/llvm.list echo "deb [signed-by=/usr/share/keyrings/llvm-snapshot.gpg.key] https://apt.llvm.org/$(lsb_release -sc)/ llvm-toolchain-$(lsb_release -sc)-19 main" | sudo tee -a /etc/apt/sources.list.d/llvm.list
sudo apt update -y && sudo apt install clang-19 clangd-19 clang-format-19 clang-tidy-19 lld-19 -y sudo apt update -y && sudo apt install clang-19 clangd-19 clang-format-19 clang-tidy-19 lld-19 -y
- name: Build Ladybird Using `ladybird.sh` with Virtual Display
- name: Setup Virtual Display (Xvfb)
run: |
Xvfb :99 -screen 0 1920x1080x24 &
echo "DISPLAY=:99" >> $GITHUB_ENV
- name: Enable Software Rendering & Disable Vulkan
run: |
echo "LIBGL_ALWAYS_SOFTWARE=1" >> $GITHUB_ENV
echo "MESA_LOADER_DRIVER_OVERRIDE=llvmpipe" >> $GITHUB_ENV
echo "QT_QPA_PLATFORM=offscreen" >> $GITHUB_ENV
echo "QT_QPA_PLATFORMTHEME=qt5ct" >> $GITHUB_ENV
- name: Build Ladybird Using `ladybird.sh`
run: | run: |
chmod +x Meta/ladybird.sh chmod +x Meta/ladybird.sh
xvfb-run --auto-servernum --server-args="-screen 0 800x600x24" ./Meta/ladybird.sh run ladybird # 🟢 Run in a virtual X server ./Meta/ladybird.sh build
- name: Upload Build Artifacts - name: Upload Build Artifacts
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v4
with: with:
name: Ladybird-Browser name: Ladybird-Browser
path: | path: |
Build/Ladybird/Ladybird* Build/Ladybird/bin/Ladybird*
Build/Ladybird/*.so Build/Ladybird/bin/*.so
Build/Ladybird/*.dll Build/Ladybird/bin/*.dll
Build/Ladybird/*.dylib Build/Ladybird/bin/*.dylib
Build/Ladybird/*.exe Build/Ladybird/bin/*.exe
retention-days: 7 retention-days: 7