-
Notifications
You must be signed in to change notification settings - Fork 8
58 lines (49 loc) · 1.65 KB
/
build.yml
File metadata and controls
58 lines (49 loc) · 1.65 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
on:
push:
name: Building V8
jobs:
build:
runs-on: ubuntu-latest
name: ${{ matrix.distro }} / v8-${{ matrix.version }}
# V8 version from node-20: https://github.com/nodejs/node/blob/v20.x-staging-backport/deps/v8/include/v8-version.h
strategy:
fail-fast: false
matrix:
distro: [ 'centos-8', 'debian-11', 'debian-11-arm', 'debian-12-libcxx', 'alpine' ]
version: [ '11.9.169.7' ]
steps:
- name: checkout
uses: actions/checkout@v4
- name: build
run: |
docker build --build-arg v8_version=${{ matrix.version }} ${{ matrix.distro }} -t mybuild
- name: copy
run: |
docker run -d --name myrun mybuild
docker cp myrun:/v8-${{ matrix.version }}-static.tar.xz .
docker stop myrun
mv v8-${{ matrix.version }}-static.tar.xz v8-${{ matrix.version }}-${{ matrix.distro }}.tar.xz
- name: store
uses: actions/upload-artifact@v4
with:
name: v8-${{ matrix.version }}-${{ matrix.distro }}
path: v8-${{ matrix.version }}-${{ matrix.distro }}.tar.xz
release:
runs-on: ubuntu-latest
name: Store binaries as GitHub release
needs: [build]
if: startsWith(github.ref, 'refs/tags/')
steps:
- name: Download artifacts for deployment
uses: actions/download-artifact@v4
with:
path: artifacts
- name: Recompress with gzip
run: |
mkdir assets;
cp artifacts/*/v8-*.tar.xz assets/
(cd assets; xz -dk *.xz; gzip *.tar)
- name: Release artifacts
uses: softprops/action-gh-release@v2
with:
files: assets/*