Merge pull request #219 from lightpanda-io/ci-deps

ci: force netsurf build deps each time
This commit is contained in:
Pierre Tachoire
2024-04-19 11:45:48 +02:00
committed by GitHub
5 changed files with 5 additions and 127 deletions

View File

@@ -14,36 +14,11 @@ runs:
mkdir -p vendor/jsruntime-lib/vendor/v8/${{env.ARCH}}/release mkdir -p vendor/jsruntime-lib/vendor/v8/${{env.ARCH}}/release
ln -s /usr/local/lib/libc_v8.a vendor/jsruntime-lib/vendor/v8/${{env.ARCH}}/release/libc_v8.a ln -s /usr/local/lib/libc_v8.a vendor/jsruntime-lib/vendor/v8/${{env.ARCH}}/release/libc_v8.a
- name: install deps - name: libiconv
shell: bash shell: bash
run: | run: |
ln -s /usr/local/lib/libiconv vendor/libiconv ln -s /usr/local/lib/libiconv vendor/libiconv
ln -s /usr/local/lib/netsurf/build vendor/netsurf/build - name: build netsurf
ln -s /usr/local/lib/netsurf/lib vendor/netsurf/lib
ln -s /usr/local/lib/netsurf/include vendor/netsurf/include
# detect file change
- uses: dorny/paths-filter@v3.0.2
id: changes
with:
filters: |
netsurf:
- 'vendor/netsurf/**'
# if a vendor has changed, install build dependencies.
- name: install build dependencies
if: steps.changes.outputs.netsurf == 'true'
shell: bash shell: bash
run: | run: make install-netsurf
apt update && \
apt install -y git curl bash xz-utils python3 ca-certificates pkg-config \
libglib2.0-dev gperf libexpat1-dev cmake build-essential
# if netsurf has changed, force a rebuild.
- name: re-build netsurf
if: steps.changes.outputs.netsurf == 'true'
shell: bash
run: |
make clean-netsurf
make install-netsurf

View File

@@ -1,59 +0,0 @@
name: build-deps
on:
push:
branches:
- "main"
paths:
- "vendor/netsurf/**"
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
env:
REGISTRY: ghcr.io
IMAGE_NAME: lightpanda-io/browsercore-deps
ZIG_DOCKER_VERSION: 0.12.0-dev.1773-8a8fd47d2
jobs:
build-deps:
strategy:
matrix:
include:
- os: linux
build_arch: amd64
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
token: ${{ secrets.GH_CI_PAT }}
submodules: true
- name: Docker connect
uses: docker/login-action@65b78e6e13532edd9afa3aa52ac7964289d1a9c1
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
- name: Docker build
uses: docker/build-push-action@f2a1d5e99d037542a71f64918e516c093c6f3fc4
with:
context: .
file: Dockerfile.deps
push: true
tags: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{env.ZIG_DOCKER_VERSION}}
labels: ${{ steps.meta.outputs.labels }}
build-args: |
ZIG_DOCKER_VERSION=${{ env.ZIG_DOCKER_VERSION }}
platforms: ${{matrix.os}}/${{matrix.build_arch}}

View File

@@ -36,11 +36,6 @@ on:
# Allows you to run this workflow manually from the Actions tab # Allows you to run this workflow manually from the Actions tab
workflow_dispatch: workflow_dispatch:
permissions:
pull-requests: read # required for dorny/paths-filter
contents: read
packages: read
jobs: jobs:
wpt: wpt:
name: web platform tests name: web platform tests

View File

@@ -34,11 +34,6 @@ on:
# Allows you to run this workflow manually from the Actions tab # Allows you to run this workflow manually from the Actions tab
workflow_dispatch: workflow_dispatch:
permissions:
pull-requests: read # required for dorny/paths-filter
contents: read
packages: read
jobs: jobs:
zig-build-dev: zig-build-dev:
name: zig build dev name: zig build dev
@@ -69,8 +64,8 @@ jobs:
zig-build-release: zig-build-release:
name: zig build release name: zig build release
# Don't run the CI with draft PR. # Don't run the CI on PR
if: github.event.pull_request.draft == false if: github.event_name != 'pull_request'
runs-on: ubuntu-latest runs-on: ubuntu-latest
container: container:

View File

@@ -1,28 +0,0 @@
# This dockerfile is used to build browsercore vendor dependencies except
# jsruntime-lib v8.
# jsruntime-lib v8 is built via zig-v8-fork/Dockerfile.
ARG ZIG_DOCKER_VERSION=0.11.0
FROM ghcr.io/lightpanda-io/zig:${ZIG_DOCKER_VERSION} as build
# Install required dependencies
RUN apt update && \
apt install -y git curl bash xz-utils python3 ca-certificates pkg-config \
libglib2.0-dev gperf libexpat1-dev cmake build-essential
COPY ./Makefile /src/
WORKDIR /src
# build libiconv
RUN make install-libiconv
# build netsurf
ADD ./vendor/netsurf /src/vendor/netsurf
RUN make install-netsurf
FROM scratch as artifact
COPY --from=build /src/vendor/libiconv /usr/local/lib/libiconv
COPY --from=build /src/vendor/netsurf/build /usr/local/lib/netsurf/build
COPY --from=build /src/vendor/netsurf/lib /usr/local/lib/netsurf/lib
COPY --from=build /src/vendor/netsurf/include /usr/local/lib/netsurf/include