mirror of
https://github.com/lightpanda-io/browser.git
synced 2026-07-31 09:46:05 -04:00
81 lines
2.7 KiB
YAML
81 lines
2.7 KiB
YAML
name: "Deps install"
|
|
description: "Install deps for the browser"
|
|
|
|
inputs:
|
|
arch:
|
|
description: 'CPU arch used to select the v8 lib'
|
|
required: false
|
|
default: 'x86_64'
|
|
os:
|
|
description: 'OS used to select the v8 lib'
|
|
required: false
|
|
default: 'linux'
|
|
zig-v8:
|
|
description: 'zig v8 version to install'
|
|
required: false
|
|
default: 'v0.5.2'
|
|
v8:
|
|
description: 'v8 version to install'
|
|
required: false
|
|
default: '14.9.207.35'
|
|
cache-dir:
|
|
description: 'cache dir to use'
|
|
required: false
|
|
default: '~/.cache'
|
|
debug:
|
|
description: 'enable v8 pre-built debug version, only available for linux x86_64'
|
|
required: false
|
|
default: 'false'
|
|
|
|
runs:
|
|
using: "composite"
|
|
|
|
steps:
|
|
- name: Install apt deps
|
|
if: ${{ inputs.os == 'linux' }}
|
|
shell: bash
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install -y wget xz-utils ca-certificates clang make git
|
|
|
|
# Zig version used from the `minimum_zig_version` field in build.zig.zon
|
|
- uses: mlugg/setup-zig@d1434d08867e3ee9daa34448df10607b98908d29 # v2.2.1
|
|
|
|
# Zig 0.16 writes fetched .zip archives to <global cache>/tmp but no longer
|
|
# creates that directory, so zip dependencies (sqlite amalgamation) fail
|
|
# with "failed to create temporary zip file: FileNotFound" on the fresh
|
|
# cache dir setup-zig points ZIG_GLOBAL_CACHE_DIR at.
|
|
- name: Zig 0.16 zip-fetch workaround
|
|
shell: bash
|
|
run: mkdir -p "${ZIG_GLOBAL_CACHE_DIR:-$HOME/.cache/zig}/tmp"
|
|
|
|
# Rust Toolchain for html5ever
|
|
- uses: dtolnay/rust-toolchain@2c7215f132e9ebf062739d9130488b56d53c060c # master
|
|
with:
|
|
toolchain: stable
|
|
- uses: Swatinem/rust-cache@c19371144df3bb44fab255c43d04cbc2ab54d1c4 # v2.9.1
|
|
with:
|
|
workspaces: src/html5ever
|
|
|
|
- name: Cache v8
|
|
id: cache-v8
|
|
uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 # v5.1.0
|
|
env:
|
|
cache-name: cache-v8
|
|
with:
|
|
path: ${{ inputs.cache-dir }}/v8
|
|
key: libc_v8_${{ inputs.v8 }}_${{ inputs.os }}_${{ inputs.arch }}_${{ inputs.zig-v8 }}${{inputs.debug == 'true' && '_debug' || '' }}.a
|
|
|
|
- if: ${{ steps.cache-v8.outputs.cache-hit != 'true' }}
|
|
shell: bash
|
|
run: |
|
|
mkdir -p ${{ inputs.cache-dir }}/v8
|
|
|
|
wget -O ${{ inputs.cache-dir }}/v8/libc_v8.a https://github.com/lightpanda-io/zig-v8-fork/releases/download/${{ inputs.zig-v8 }}/libc_v8_${{ inputs.v8 }}_${{ inputs.os }}_${{ inputs.arch }}${{inputs.debug == 'true' && '_debug' || '' }}.a
|
|
|
|
- name: install v8
|
|
shell: bash
|
|
run: |
|
|
mkdir -p v8
|
|
ln -s ${{ inputs.cache-dir }}/v8/libc_v8.a v8/libc_v8${{inputs.debug == 'true' && '_debug' || '' }}.a
|