Skip to content

Commit ffbcfc1

Browse files
committed
ci: extract install steps in its own action
1 parent e3f487a commit ffbcfc1

File tree

3 files changed

+53
-83
lines changed

3 files changed

+53
-83
lines changed

.github/actions/install/action.yml

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
name: "Browsercore install"
2+
description: "Install deps for the project browsercore"
3+
4+
runs:
5+
using: "composite"
6+
7+
steps:
8+
- name: install v8
9+
shell: bash
10+
run: |
11+
mkdir -p vendor/jsruntime-lib/vendor/v8/${{env.ARCH}}/debug
12+
ln -s /usr/local/lib/libc_v8.a vendor/jsruntime-lib/vendor/v8/${{env.ARCH}}/debug/libc_v8.a
13+
14+
mkdir -p vendor/jsruntime-lib/vendor/v8/${{env.ARCH}}/release
15+
ln -s /usr/local/lib/libc_v8.a vendor/jsruntime-lib/vendor/v8/${{env.ARCH}}/release/libc_v8.a
16+
17+
- name: install deps
18+
shell: bash
19+
run: |
20+
ln -s /usr/local/lib/libiconv vendor/libiconv
21+
22+
ln -s /usr/local/lib/netsurf/build vendor/netsurf/build
23+
ln -s /usr/local/lib/netsurf/lib vendor/netsurf/lib
24+
ln -s /usr/local/lib/netsurf/include vendor/netsurf/include
25+
26+
# detect file change
27+
- uses: dorny/paths-filter@v3.0.2
28+
id: changes
29+
with:
30+
filters: |
31+
netsurf:
32+
- 'vendor/netsurf/**'
33+
34+
# if a vendor has changed, install build dependencies.
35+
- name: install build dependencies
36+
if: steps.changes.outputs.netsurf == 'true'
37+
shell: bash
38+
run: |
39+
apt update && \
40+
apt install -y git curl bash xz-utils python3 ca-certificates pkg-config \
41+
libglib2.0-dev gperf libexpat1-dev cmake build-essential
42+
43+
# if netsurf has changed, force a rebuild.
44+
- name: re-build netsurf
45+
if: steps.changes.outputs.netsurf == 'true'
46+
shell: bash
47+
run: |
48+
make clean-netsurf
49+
make install-netsurf

.github/workflows/wpt.yml

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -57,21 +57,7 @@ jobs:
5757
# fetch submodules recusively, to get jsruntime-lib submodules also.
5858
submodules: recursive
5959

60-
- name: install v8
61-
run: |
62-
mkdir -p vendor/jsruntime-lib/vendor/v8/${{env.ARCH}}/debug
63-
ln -s /usr/local/lib/libc_v8.a vendor/jsruntime-lib/vendor/v8/${{env.ARCH}}/debug/libc_v8.a
64-
65-
mkdir -p vendor/jsruntime-lib/vendor/v8/${{env.ARCH}}/release
66-
ln -s /usr/local/lib/libc_v8.a vendor/jsruntime-lib/vendor/v8/${{env.ARCH}}/release/libc_v8.a
67-
68-
- name: install deps
69-
run: |
70-
ln -s /usr/local/lib/libiconv vendor/libiconv
71-
72-
ln -s /usr/local/lib/netsurf/build vendor/netsurf/build
73-
ln -s /usr/local/lib/netsurf/lib vendor/netsurf/lib
74-
ln -s /usr/local/lib/netsurf/include vendor/netsurf/include
60+
- uses: ./.github/actions/install
7561

7662
- run: zig build wpt -Dengine=v8 -- --safe --summary
7763

.github/workflows/zig-test.yml

Lines changed: 3 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -60,21 +60,7 @@ jobs:
6060
# fetch submodules recusively, to get jsruntime-lib submodules also.
6161
submodules: recursive
6262

63-
- name: install v8
64-
run: |
65-
mkdir -p vendor/jsruntime-lib/vendor/v8/${{env.ARCH}}/debug
66-
ln -s /usr/local/lib/libc_v8.a vendor/jsruntime-lib/vendor/v8/${{env.ARCH}}/debug/libc_v8.a
67-
68-
mkdir -p vendor/jsruntime-lib/vendor/v8/${{env.ARCH}}/release
69-
ln -s /usr/local/lib/libc_v8.a vendor/jsruntime-lib/vendor/v8/${{env.ARCH}}/release/libc_v8.a
70-
71-
- name: install deps
72-
run: |
73-
ln -s /usr/local/lib/libiconv vendor/libiconv
74-
75-
ln -s /usr/local/lib/netsurf/build vendor/netsurf/build
76-
ln -s /usr/local/lib/netsurf/lib vendor/netsurf/lib
77-
ln -s /usr/local/lib/netsurf/include vendor/netsurf/include
63+
- uses: ./.github/actions/install
7864

7965
- name: zig build debug
8066
run: zig build -Dengine=v8
@@ -100,21 +86,7 @@ jobs:
10086
# fetch submodules recusively, to get jsruntime-lib submodules also.
10187
submodules: recursive
10288

103-
- name: install v8
104-
run: |
105-
mkdir -p vendor/jsruntime-lib/vendor/v8/${{env.ARCH}}/debug
106-
ln -s /usr/local/lib/libc_v8.a vendor/jsruntime-lib/vendor/v8/${{env.ARCH}}/debug/libc_v8.a
107-
108-
mkdir -p vendor/jsruntime-lib/vendor/v8/${{env.ARCH}}/release
109-
ln -s /usr/local/lib/libc_v8.a vendor/jsruntime-lib/vendor/v8/${{env.ARCH}}/release/libc_v8.a
110-
111-
- name: install deps
112-
run: |
113-
ln -s /usr/local/lib/libiconv vendor/libiconv
114-
115-
ln -s /usr/local/lib/netsurf/build vendor/netsurf/build
116-
ln -s /usr/local/lib/netsurf/lib vendor/netsurf/lib
117-
ln -s /usr/local/lib/netsurf/include vendor/netsurf/include
89+
- uses: ./.github/actions/install
11890

11991
- name: zig build release
12092
run: zig build -Doptimize=ReleaseSafe -Dengine=v8
@@ -140,44 +112,7 @@ jobs:
140112
# fetch submodules recusively, to get jsruntime-lib submodules also.
141113
submodules: recursive
142114

143-
- name: install v8
144-
run: |
145-
mkdir -p vendor/jsruntime-lib/vendor/v8/${{env.ARCH}}/debug
146-
ln -s /usr/local/lib/libc_v8.a vendor/jsruntime-lib/vendor/v8/${{env.ARCH}}/debug/libc_v8.a
147-
148-
mkdir -p vendor/jsruntime-lib/vendor/v8/${{env.ARCH}}/release
149-
ln -s /usr/local/lib/libc_v8.a vendor/jsruntime-lib/vendor/v8/${{env.ARCH}}/release/libc_v8.a
150-
151-
- name: install deps
152-
run: |
153-
ln -s /usr/local/lib/libiconv vendor/libiconv
154-
155-
ln -s /usr/local/lib/netsurf/build vendor/netsurf/build
156-
ln -s /usr/local/lib/netsurf/lib vendor/netsurf/lib
157-
ln -s /usr/local/lib/netsurf/include vendor/netsurf/include
158-
159-
# detect file change
160-
- uses: dorny/paths-filter@v3.0.2
161-
id: changes
162-
with:
163-
filters: |
164-
netsurf:
165-
- 'vendor/netsurf/**'
166-
167-
# if a vendor has changed, install build dependencies.
168-
- name: install build dependencies
169-
if: steps.changes.outputs.netsurf == 'true'
170-
run: |
171-
apt update && \
172-
apt install -y git curl bash xz-utils python3 ca-certificates pkg-config \
173-
libglib2.0-dev gperf libexpat1-dev cmake build-essential
174-
175-
# if netsurf has changed, force a rebuild.
176-
- name: build netsurf
177-
if: steps.changes.outputs.netsurf == 'true'
178-
run: |
179-
make clean-netsurf
180-
make install-netsurf
115+
- uses: ./.github/actions/install
181116

182117
- name: zig build test
183118
run: zig build test -Dengine=v8 -- --json > bench.json

0 commit comments

Comments
 (0)