Skip to content

Commit de2ce99

Browse files
committed
Add GH Action to create and upload binaries for releases
issue #904
1 parent 0867b96 commit de2ce99

File tree

1 file changed

+61
-0
lines changed

1 file changed

+61
-0
lines changed

.github/workflows/precompile.yml

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
on:
2+
release:
3+
types: [created]
4+
jobs:
5+
precompile:
6+
if: contains(github.event.release.tag_name, 'v0.0.0-latest-master') == false
7+
strategy:
8+
matrix:
9+
include:
10+
- os: ubuntu-18.04
11+
platform: linux
12+
arch: x64
13+
- os: windows-latest
14+
platfrom: win32
15+
arch: x64
16+
- os: macos-latest
17+
platform: darwin
18+
arch: x64
19+
runs-on: ${{ matrix.os }}
20+
env:
21+
ARCHIVE_FILENAME: ${{github.event.release.tag_name}}-${{ matrix.platform }}-${{ matrix.arch }}.tar.gz
22+
steps:
23+
- uses: actions/checkout@v2
24+
25+
- uses: actions/setup-node@v2
26+
with:
27+
node-version: '16.x'
28+
29+
- name: Install ubuntu deps
30+
if: contains(matrix.os, 'ubuntu-18.04')
31+
run: sudo apt install mesa-common-dev libglu1-mesa-dev
32+
33+
- name: Install deps
34+
run: npm install
35+
36+
- name: Build nodegui
37+
run: npm run build
38+
env:
39+
CMAKE_BUILD_PARALLEL_LEVEL: 8
40+
41+
- name: Compress files
42+
uses: a7ul/tar-action@v1.0.2
43+
id: compress
44+
with:
45+
command: c
46+
cwd: ./build/Release
47+
files: |
48+
./nodegui_core.node
49+
outPath: ${{ ARCHIVE_FILENAME }}
50+
51+
- uses: actions/upload-artifact@v1
52+
with:
53+
name: ${{ ARCHIVE_FILENAME }}
54+
path: ${{ ARCHIVE_FILENAME }}
55+
56+
- name: Upload release binaries
57+
uses: alexellis/upload-assets@0.2.2
58+
env:
59+
GITHUB_TOKEN: ${{ github.token }}
60+
with:
61+
asset_paths: '["${{ ARCHIVE_FILENAME }}"]'

0 commit comments

Comments
 (0)