ladybird/.forgejo/workflows/build-ubuntu-24-04.yml

113 lines
3.2 KiB
YAML
Raw Normal View History

2026-06-23 11:02:47 -03:00
name: Build Ladybird (Ubuntu 24.04)
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
workflow_dispatch:
env:
LADYBIRD_SOURCE_DIR: ${{ github.workspace }}
CCACHE_DIR: ${{ github.workspace }}/.ccache
VCPKG_ROOT: ${{ github.workspace }}/Build/vcpkg
jobs:
build:
name: Build on Ubuntu 24.04
runs-on: ubuntu-latest
container:
image: catthehacker/ubuntu:act-24.04
2026-06-23 11:02:47 -03:00
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install system dependencies
run: |
apt-get update && apt-get install -y \
software-properties-common \
wget \
curl \
gpg \
lsb-release \
git
# Install CMake 3.30+ from Kitware (since Ubuntu 24.04 has 3.28)
wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - | 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/ noble main" | tee /etc/apt/sources.list.d/kitware.list
apt-get update && apt-get install -y \
autoconf \
autoconf-archive \
automake \
build-essential \
ccache \
cmake \
fonts-liberation2 \
glslang-tools \
libdrm-dev \
libgl1-mesa-dev \
libncurses-dev \
libtool \
nasm \
ninja-build \
pkg-config \
python3-venv \
qt6-base-dev \
qt6-tools-dev-tools \
qt6-wayland \
tar \
unzip \
zip \
libpulse-dev \
gcc-14 \
g++-14
- name: Configure compiler alternatives
run: |
update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-14 100 \
--slave /usr/bin/g++ g++ /usr/bin/g++-14 \
--slave /usr/bin/gcov gcov /usr/bin/gcov-14
- name: Install Rust
run: |
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain 1.96.0
echo "$HOME/.cargo/bin" >> $GITHUB_PATH
- name: Configure Git Safe Directory
run: |
git config --global safe.directory '*'
- name: Bootstrap vcpkg
run: |
./Meta/Utils/build_vcpkg.py
- name: Configure CMake
env:
CC: gcc-14
CXX: g++-14
run: |
cmake --preset Release -B Build \
-DCMAKE_C_COMPILER=gcc-14 \
-DCMAKE_CXX_COMPILER=g++-14 \
-DENABLE_CI_BASELINE_CPU=ON \
-DLADYBIRD_GUI_FRAMEWORK=Qt
- name: Build
run: |
cmake --build Build
- name: Install
run: |
cmake --install Build --strip --prefix dist
- name: Package Binaries
run: |
tar -czf ladybird-ubuntu-24.04.tar.gz -C dist .
- name: Upload Build Artifacts
uses: actions/upload-artifact@v3
2026-06-23 11:02:47 -03:00
with:
name: ladybird-ubuntu-24.04
path: ladybird-ubuntu-24.04.tar.gz