forked from Oldes/Rebol3-Blend2D
-
Notifications
You must be signed in to change notification settings - Fork 0
133 lines (103 loc) · 4.01 KB
/
main.yml
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
name: 'Rebol-Blend2D CI'
on:
# Triggers the workflow on push or pull request events but only for the master branch
push:
branches: [ master ]
pull_request:
branches: [ master ]
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
jobs:
windows:
strategy:
fail-fast: true
runs-on: windows-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install Siskin Builder
uses: oldes/[email protected]
- name: Build 64bit static Blend2d library
run: ./siskin Rebol-Blend2D.nest static-lib-x64
- name: Build 64bit Rebol Blend2d extension
run: ./siskin Rebol-Blend2D.nest --msvc blend2d-windows-x64
- name: Prepare 64bit Rebol Blend2d extension
run: COPY .\msvc\Release-x64\blend2d-windows-x64.dll .\test\blend2d-windows-x64.rebx
- name: Install Rebol for extension test
uses: oldes/[email protected]
with:
product: Bulk # premultiply is not part of Core in this version
- name: Test extension
run: ./rebol3.exe test/test.r3
###############################################################################
# Collecting build artifacts...
- uses: actions/upload-artifact@v3
with:
name: Rebol-Blend2D-CI-${{github.run_id}}
path: ./test/blend2d-windows-x64.rebx
- uses: actions/upload-artifact@v3
with:
name: Rebol-Blend2D-CI-${{github.run_id}}-test-results-windows-x64
path: ./test/test-result*
macos:
runs-on: macos-12
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install Siskin Builder
uses: oldes/[email protected]
- name: Build 64bit static Blend2d library
run: ./siskin Rebol-Blend2D.nest static-lib-x64
- name: Build 64bit Rebol Blend2d extension
run: ./siskin Rebol-Blend2D.nest blend2d-macos-x64
- name: Prepare 64bit Rebol Blend2d extension
run: mv ./build/blend2d-macos-x64.dylib ./test/blend2d-macos-x64.rebx
- name: Install Rebol for extension test
uses: oldes/[email protected]
with:
product: Bulk # premultiply is not part of Core in this version
- name: Test extension
run: ./rebol3 test/test.r3
- name: Compress 64bit Rebol Blend2d extension
run: gzip -9 ./test/blend2d-macos-x64.rebx
###############################################################################
# Collecting build artifacts...
- uses: actions/upload-artifact@v3
with:
name: Rebol-Blend2D-CI-${{github.run_id}}
path: ./test/blend2d-macos-x64.rebx.gz
- uses: actions/upload-artifact@v3
with:
name: Rebol-Blend2D-CI-${{github.run_id}}-test-results-macos-x64
path: ./test/test-result*
linux:
runs-on: ubuntu-20.04
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install Siskin Builder
uses: oldes/[email protected]
- name: Build 64bit static Blend2d library
run: ./siskin Rebol-Blend2D.nest static-lib-x64
- name: Build 64bit Rebol Blend2d extension
run: ./siskin Rebol-Blend2D.nest blend2d-linux-x64
- name: Prepare 64bit Rebol Blend2d extension
run: mv ./build/blend2d-linux-x64.so ./test/blend2d-linux-x64.rebx
- name: Install Rebol for extension test
uses: oldes/[email protected]
with:
product: Bulk # premultiply is not part of Core in this version
- name: Test extension
run: ./rebol3 test/test.r3
- name: Compress 64bit Rebol Blend2d extension
run: gzip -9 ./test/blend2d-linux-x64.rebx
###############################################################################
# Collecting build artifacts...
- uses: actions/upload-artifact@v3
with:
name: Rebol-Blend2D-CI-${{github.run_id}}
path: ./test/blend2d-linux-x64.rebx.gz
- uses: actions/upload-artifact@v3
with:
name: Rebol-Blend2D-CI-${{github.run_id}}-test-results-linux-x64
path: ./test/test-result*