mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-09-11 13:36:13 +03:00
Turns out vcpkg does not yet support Universal binaries. While they are working on it, lets produce arm64 binaries only for now to unblock the pipeline.
93 lines
2.8 KiB
YAML
93 lines
2.8 KiB
YAML
name: Package the js repl as a binary artifact
|
|
|
|
on: [push]
|
|
|
|
env:
|
|
LADYBIRD_SOURCE_DIR: ${{ github.workspace }}
|
|
SERENITY_CCACHE_DIR: ${{ github.workspace }}/.ccache
|
|
VCPKG_ROOT: ${{ github.workspace }}/Toolchain/Tarballs/vcpkg
|
|
VCPKG_BINARY_SOURCES: "clear;x-gha,readwrite"
|
|
|
|
jobs:
|
|
build-and-package:
|
|
runs-on: ${{ matrix.os }}
|
|
if: always() && github.repository == 'LadybirdBrowser/ladybird' && github.ref == 'refs/heads/master'
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
os: [ubuntu-22.04]
|
|
package_type: [Linux-x86_64]
|
|
os_name: [Linux]
|
|
include:
|
|
- os: macos-14
|
|
package_type: macOS-universal2
|
|
os_name: macOS
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ matrix.os }}
|
|
cancel-in-progress: true
|
|
|
|
steps:
|
|
- name: Checkout LadybirdBrowser/ladybird
|
|
uses: actions/checkout@v4
|
|
|
|
- name: "Set up environment"
|
|
uses: ./.github/actions/setup
|
|
with:
|
|
os: ${{ matrix.os_name }}
|
|
arch: 'Lagom'
|
|
|
|
- name: Restore Caches
|
|
uses: ./.github/actions/cache-restore
|
|
id: 'cache-restore'
|
|
with:
|
|
os: ${{ matrix.os_name }}
|
|
arch: 'Lagom'
|
|
cache_key_extra: 'LibJS Artifacts'
|
|
serenity_ccache_path: ${{ env.SERENITY_CCACHE_DIR }}
|
|
download_cache_path: ${{ github.workspace }}/Build/caches
|
|
|
|
- name: Create build directory Ubuntu
|
|
run: |
|
|
cmake --preset CI -B Build \
|
|
-DCMAKE_C_COMPILER=gcc-13 \
|
|
-DCMAKE_CXX_COMPILER=g++-13
|
|
if: ${{ matrix.os == 'ubuntu-22.04' }}
|
|
env:
|
|
CCACHE_DIR: ${{ env.SERENITY_CCACHE_DIR }}
|
|
|
|
# FIXME: Add the following flag back when vcpkg supports Universal binaries:
|
|
# -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64"
|
|
#
|
|
# See: https://github.com/microsoft/vcpkg/discussions/19454
|
|
- name: Create build directory macOS
|
|
run: |
|
|
cmake --preset CI -B Build \
|
|
-DCMAKE_BUILD_TYPE=Release \
|
|
-DCMAKE_OSX_DEPLOYMENT_TARGET="11.0"
|
|
if: ${{ matrix.os == 'macos-14' }}
|
|
env:
|
|
CCACHE_DIR: ${{ env.SERENITY_CCACHE_DIR }}
|
|
|
|
- name: Build and package js
|
|
working-directory: Build
|
|
run: |
|
|
ninja js
|
|
cpack
|
|
env:
|
|
CCACHE_DIR: ${{ env.SERENITY_CCACHE_DIR }}
|
|
|
|
- name: Save Caches
|
|
uses: ./.github/actions/cache-save
|
|
with:
|
|
arch: 'Lagom'
|
|
serenity_ccache_path: ${{ env.SERENITY_CCACHE_DIR }}
|
|
serenity_ccache_primary_key: ${{ steps.cache-restore.outputs.serenity_ccache_primary_key }}
|
|
|
|
- name: Upload js package
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: serenity-js-${{ matrix.package_type }}
|
|
path: Build/ladybird-js*.tar.gz
|
|
retention-days: 7
|