mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-08-05 15:49:11 +00:00
CI: Add a nightly arm64 linux CI build
This requires setting VCPKG_FORCE_SYSTEM_BINARIES to 1, per vcpkg documentation.
This commit is contained in:
parent
13338a9532
commit
d64566f19e
Notes:
github-actions[bot]
2025-02-21 11:06:31 +00:00
Author: https://github.com/ADKaster
Commit: d64566f19e
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/3321
Reviewed-by: https://github.com/gmta ✅
3 changed files with 51 additions and 3 deletions
9
.github/actions/setup/action.yml
vendored
9
.github/actions/setup/action.yml
vendored
|
@ -40,6 +40,8 @@ runs:
|
||||||
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-13 100
|
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-13 100
|
||||||
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-13 100
|
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-13 100
|
||||||
|
|
||||||
|
# FIXME: https://github.com/WebAssembly/wabt/issues/2533
|
||||||
|
# wabt doesn't have binary releases for arm64 Linux
|
||||||
wget https://github.com/WebAssembly/wabt/releases/download/1.0.35/wabt-1.0.35-ubuntu-20.04.tar.gz
|
wget https://github.com/WebAssembly/wabt/releases/download/1.0.35/wabt-1.0.35-ubuntu-20.04.tar.gz
|
||||||
tar -xzf ./wabt-1.0.35-ubuntu-20.04.tar.gz
|
tar -xzf ./wabt-1.0.35-ubuntu-20.04.tar.gz
|
||||||
rm ./wabt-1.0.35-ubuntu-20.04.tar.gz
|
rm ./wabt-1.0.35-ubuntu-20.04.tar.gz
|
||||||
|
@ -59,6 +61,13 @@ runs:
|
||||||
brew update
|
brew update
|
||||||
brew install autoconf autoconf-archive automake bash ccache coreutils llvm@19 nasm ninja qt unzip wabt
|
brew install autoconf autoconf-archive automake bash ccache coreutils llvm@19 nasm ninja qt unzip wabt
|
||||||
|
|
||||||
|
- name: 'Set required environment variables'
|
||||||
|
if: ${{ inputs.os == 'Linux' && inputs.arch == 'arm64' }}
|
||||||
|
uses: actions/github-script@v7
|
||||||
|
with:
|
||||||
|
script: |
|
||||||
|
core.exportVariable('VCPKG_FORCE_SYSTEM_BINARIES', '1')
|
||||||
|
|
||||||
- name: 'Install vcpkg'
|
- name: 'Install vcpkg'
|
||||||
shell: bash
|
shell: bash
|
||||||
run: ./Toolchain/BuildVcpkg.sh
|
run: ./Toolchain/BuildVcpkg.sh
|
||||||
|
|
11
.github/workflows/lagom-template.yml
vendored
11
.github/workflows/lagom-template.yml
vendored
|
@ -82,7 +82,14 @@ jobs:
|
||||||
echo "cmake_options=-DENABLE_CLANG_PLUGINS=ON" >> "$GITHUB_OUTPUT"
|
echo "cmake_options=-DENABLE_CLANG_PLUGINS=ON" >> "$GITHUB_OUTPUT"
|
||||||
else
|
else
|
||||||
echo "ccache_key=${{ inputs.build_preset }}" >> "$GITHUB_OUTPUT"
|
echo "ccache_key=${{ inputs.build_preset }}" >> "$GITHUB_OUTPUT"
|
||||||
echo "cmake_options=" >> "$GITHUB_OUTPUT"
|
if ${{ inputs.os_name == 'Linux' && inputs.arch == 'arm64' }} ; then
|
||||||
|
# FIXME: https://github.com/WebAssembly/wabt/issues/2533
|
||||||
|
# wabt doesn't have binary releases for arm64 Linux
|
||||||
|
PKGCONFIG=$(which pkg-config)
|
||||||
|
echo "cmake_options=-DPKG_CONFIG_EXECUTABLE=$PKGCONFIG" >> "$GITHUB_OUTPUT"
|
||||||
|
else
|
||||||
|
echo "cmake_options=-DINCLUDE_WASM_SPEC_TESTS=ON -DWASM_SPEC_TEST_SKIP_FORMATTING=ON" >> "$GITHUB_OUTPUT"
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
- name: Restore Caches
|
- name: Restore Caches
|
||||||
|
@ -112,8 +119,6 @@ jobs:
|
||||||
working-directory: ${{ github.workspace }}
|
working-directory: ${{ github.workspace }}
|
||||||
run: |
|
run: |
|
||||||
cmake --preset ${{ inputs.build_preset }} -B Build \
|
cmake --preset ${{ inputs.build_preset }} -B Build \
|
||||||
-DINCLUDE_WASM_SPEC_TESTS=ON \
|
|
||||||
-DWASM_SPEC_TEST_SKIP_FORMATTING=ON \
|
|
||||||
${{ steps.build-parameters.outputs.cmake_options }} \
|
${{ steps.build-parameters.outputs.cmake_options }} \
|
||||||
-DPython3_EXECUTABLE=${{ env.pythonLocation }}/bin/python \
|
-DPython3_EXECUTABLE=${{ env.pythonLocation }}/bin/python \
|
||||||
-DCMAKE_C_COMPILER=${{ steps.build-parameters.outputs.host_cc }} \
|
-DCMAKE_C_COMPILER=${{ steps.build-parameters.outputs.host_cc }} \
|
||||||
|
|
34
.github/workflows/nightly-lagom.yml
vendored
Normal file
34
.github/workflows/nightly-lagom.yml
vendored
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
name: Nightly Lagom
|
||||||
|
|
||||||
|
on:
|
||||||
|
# Automatically run at the end of every day.
|
||||||
|
schedule:
|
||||||
|
- cron: '0 0 * * *'
|
||||||
|
|
||||||
|
concurrency:
|
||||||
|
group: ${{ github.workflow }}-${{ github.ref }}
|
||||||
|
cancel-in-progress: true
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
# CI matrix - runs the job in lagom-template.yml with different configurations.
|
||||||
|
Lagom:
|
||||||
|
if: github.repository == 'LadybirdBrowser/ladybird'
|
||||||
|
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os_name: ['Linux']
|
||||||
|
os: [ubuntu-24.04-arm]
|
||||||
|
arch: ['arm64']
|
||||||
|
build_preset: ['Sanitizer_CI']
|
||||||
|
toolchain: ['Clang']
|
||||||
|
clang_plugins: [false]
|
||||||
|
|
||||||
|
uses: ./.github/workflows/lagom-template.yml
|
||||||
|
with:
|
||||||
|
toolchain: ${{ matrix.toolchain }}
|
||||||
|
os_name: ${{ matrix.os_name }}
|
||||||
|
os: ${{ matrix.os }}
|
||||||
|
arch: ${{ matrix.arch }}
|
||||||
|
build_preset: ${{ matrix.build_preset }}
|
||||||
|
clang_plugins: ${{ matrix.clang_plugins }}
|
Loading…
Add table
Add a link
Reference in a new issue