Skip to content

Commit 2cf4b7a

Browse files
committed
initial content, builds on macOS
1 parent 3319be8 commit 2cf4b7a

33 files changed

Lines changed: 4319 additions & 2 deletions
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
Binaries that are expected to be fully functional, to be tested before publishing.
2+
3+
Warning: Do not use them in production, since occasionally they may be broken.

.github/workflows/build-all.yml

Lines changed: 368 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,368 @@
1+
# -----------------------------------------------------------------------------
2+
# DO NOT EDIT! Generated from xpacks/xpack-dev-tools-xbb-helper/templates/*.
3+
#
4+
# This file is part of the xPack distribution.
5+
# (https://xpack.github.io)
6+
# Copyright (c) 2021 Liviu Ionescu.
7+
#
8+
# Permission to use, copy, modify, and/or distribute this software
9+
# for any purpose is hereby granted, under the terms of the MIT license.
10+
# -----------------------------------------------------------------------------
11+
12+
# https://help.github.com/en/actions
13+
# https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners
14+
15+
# https://docs.github.com/en/actions/reference/events-that-trigger-workflows#workflow_dispatch
16+
# https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#workflow_dispatch
17+
# https://docs.github.com/en/rest/reference/actions#create-a-workflow-dispatch-event
18+
19+
# -----------------------------------------------------------------------------
20+
21+
22+
name: 'Build xPack pkg-config'
23+
24+
on:
25+
workflow_dispatch:
26+
inputs:
27+
version:
28+
description: 'The semver of the release'
29+
required: false
30+
default: 'current'
31+
32+
jobs:
33+
34+
linux-x64:
35+
name: 'Linux Intel - pkg-config ${{ github.event.inputs.version }} build'
36+
timeout-minutes: 5760 # 4 days
37+
runs-on: [self-hosted, linux, x64]
38+
container:
39+
image: ilegeul/ubuntu:amd64-18.04-xbb-v5.0.0
40+
defaults:
41+
run:
42+
shell: bash
43+
44+
steps:
45+
- name: 'Environment'
46+
run: |
47+
uname -a
48+
lsb_release -sd
49+
echo "whoami: $(whoami)"
50+
echo "pwd: $(pwd)"
51+
echo "node: $(node --version)"
52+
echo "npm: $(npm --version)"
53+
ls -lLA
54+
env | sort
55+
56+
- name: 'Clean working area'
57+
run: rm -rf * .git*
58+
59+
- name: 'Checkout project'
60+
uses: actions/checkout@v1 # v1 for old Git
61+
with:
62+
fetch-depth: 1
63+
64+
- name: 'Install xpm'
65+
timeout-minutes: 1440
66+
run: npm install --location=global xpm@latest
67+
68+
- name: 'Install project dependencies'
69+
timeout-minutes: 1440
70+
run: xpm install
71+
72+
- name: 'Build Linux x64 binary'
73+
timeout-minutes: 1440
74+
run: |
75+
xpm install --config linux-x64
76+
xpm run build --config linux-x64
77+
78+
- name: 'Publish pre-release'
79+
# https://github.com/ncipollo/release-action
80+
uses: ncipollo/release-action@v1
81+
with:
82+
allowUpdates: true
83+
artifacts: 'build/linux-x64/deploy/*,build/win32-x64/deploy/*'
84+
bodyFile: '.github/workflows/body-github-pre-releases-test.md'
85+
commit: 'master'
86+
draft: false
87+
name: 'Test binaries'
88+
omitBodyDuringUpdate: true
89+
omitDraftDuringUpdate: true
90+
omitNameDuringUpdate: true
91+
owner: 'xpack-dev-tools'
92+
prerelease: true
93+
replacesArtifacts: true
94+
repo: 'pre-releases'
95+
tag: 'test'
96+
token: ${{ secrets.PUBLISH_TOKEN }}
97+
98+
- name: 'Rename working area'
99+
# For just in case absolute paths remain unprocessed.
100+
run: mv -v build build-$(date -u +%Y%m%d-%H%M%S)
101+
102+
103+
linux-arm:
104+
name: 'Linux Arm 32 - pkg-config ${{ github.event.inputs.version }} build'
105+
timeout-minutes: 2880 # 2 days
106+
runs-on: [self-hosted, linux, arm, xbbla32]
107+
container:
108+
image: ilegeul/ubuntu:arm32v7-18.04-xbb-v5.0.0
109+
defaults:
110+
run:
111+
shell: bash
112+
113+
steps:
114+
- name: 'Environment'
115+
run: |
116+
uname -a
117+
lsb_release -sd
118+
echo "whoami: $(whoami)"
119+
echo "pwd: $(pwd)"
120+
echo "node: $(node --version)"
121+
echo "npm: $(npm --version)"
122+
ls -lLA
123+
env | sort
124+
125+
- name: 'Clean working area'
126+
run: rm -rf * .git*
127+
128+
- name: 'Checkout project'
129+
uses: actions/checkout@v1 # v1 for old Git
130+
with:
131+
fetch-depth: 1
132+
133+
- name: 'Install xpm'
134+
timeout-minutes: 1440
135+
run: npm install --location=global xpm@latest
136+
137+
- name: 'Install project dependencies'
138+
timeout-minutes: 1440
139+
run: xpm install
140+
141+
- name: 'Build Linux arm32 binary'
142+
timeout-minutes: 1440
143+
run: |
144+
xpm install --config linux-arm
145+
xpm run build --config linux-arm
146+
147+
- name: 'Publish pre-release'
148+
# https://github.com/ncipollo/release-action
149+
uses: ncipollo/release-action@v1
150+
with:
151+
allowUpdates: true
152+
artifacts: 'build/linux-arm/deploy/*'
153+
bodyFile: '.github/workflows/body-github-pre-releases-test.md'
154+
commit: 'master'
155+
draft: false
156+
name: 'Test binaries'
157+
omitBodyDuringUpdate: true
158+
omitDraftDuringUpdate: true
159+
omitNameDuringUpdate: true
160+
owner: 'xpack-dev-tools'
161+
prerelease: true
162+
replacesArtifacts: true
163+
repo: 'pre-releases'
164+
tag: 'test'
165+
token: ${{ secrets.PUBLISH_TOKEN }}
166+
167+
- name: 'Rename working area'
168+
# For just in case absolute paths remain unprocessed.
169+
run: mv -v build build-$(date -u +%Y%m%d-%H%M%S)
170+
171+
linux-arm64:
172+
name: 'Linux Arm 64 - pkg-config ${{ github.event.inputs.version }} build'
173+
timeout-minutes: 2880 # 2 days
174+
runs-on: [self-hosted, linux, arm64, xbbla64]
175+
container:
176+
image: ilegeul/ubuntu:arm64v8-18.04-xbb-v5.0.0
177+
defaults:
178+
run:
179+
shell: bash
180+
181+
steps:
182+
- name: 'Environment'
183+
run: |
184+
uname -a
185+
lsb_release -sd
186+
echo "whoami: $(whoami)"
187+
echo "pwd: $(pwd)"
188+
echo "node: $(node --version)"
189+
echo "npm: $(npm --version)"
190+
ls -lLA
191+
env | sort
192+
193+
- name: 'Clean working area'
194+
run: rm -rf * .git*
195+
196+
- name: 'Checkout project'
197+
uses: actions/checkout@v1 # v1 for old Git
198+
with:
199+
fetch-depth: 1
200+
201+
- name: 'Install xpm'
202+
timeout-minutes: 1440
203+
run: npm install --location=global xpm@latest
204+
205+
- name: 'Install project dependencies'
206+
timeout-minutes: 1440
207+
run: xpm install
208+
209+
- name: 'Build Linux arm64 binary'
210+
timeout-minutes: 1440
211+
run: |
212+
xpm install --config linux-arm64
213+
xpm run build --config linux-arm64
214+
215+
- name: 'Publish pre-release'
216+
# https://github.com/ncipollo/release-action
217+
uses: ncipollo/release-action@v1
218+
with:
219+
allowUpdates: true
220+
artifacts: 'build/linux-arm64/deploy/*'
221+
bodyFile: '.github/workflows/body-github-pre-releases-test.md'
222+
commit: 'master'
223+
draft: false
224+
name: 'Test binaries'
225+
omitBodyDuringUpdate: true
226+
omitDraftDuringUpdate: true
227+
omitNameDuringUpdate: true
228+
owner: 'xpack-dev-tools'
229+
prerelease: true
230+
replacesArtifacts: true
231+
repo: 'pre-releases'
232+
tag: 'test'
233+
token: ${{ secrets.PUBLISH_TOKEN }}
234+
235+
- name: 'Rename working area'
236+
# For just in case absolute paths remain unprocessed.
237+
run: mv -v build build-$(date -u +%Y%m%d-%H%M%S)
238+
239+
macos-x64:
240+
name: 'macOS Intel - pkg-config ${{ github.event.inputs.version }} build'
241+
timeout-minutes: 2880 # 2 days
242+
243+
runs-on: [self-hosted, macos, intel]
244+
245+
steps:
246+
- name: 'Environment'
247+
run: |
248+
uname -a
249+
sw_vers
250+
echo "whoami: $(whoami)"
251+
echo "pwd: $(pwd)"
252+
echo "node: $(node --version)"
253+
echo "npm: $(npm --version)"
254+
ls -lLA
255+
env | sort
256+
257+
- name: 'Clean working area'
258+
run: rm -rf * .git*
259+
260+
- name: 'Checkout project'
261+
uses: actions/checkout@v1 # v1 for old Git
262+
with:
263+
fetch-depth: 1
264+
265+
- name: 'Install xpm'
266+
timeout-minutes: 1440
267+
run: npm install --location=global xpm@latest
268+
269+
- name: 'Install project dependencies'
270+
timeout-minutes: 1440
271+
run: xpm install
272+
273+
274+
- name: 'Build macOS x64 binary'
275+
timeout-minutes: 1440
276+
run: |
277+
xpm install --config darwin-x64
278+
xpm run build --config darwin-x64
279+
280+
- name: 'Publish pre-release'
281+
# https://github.com/ncipollo/release-action
282+
uses: ncipollo/release-action@v1
283+
with:
284+
allowUpdates: true
285+
artifacts: 'build/darwin-x64/deploy/*'
286+
bodyFile: '.github/workflows/body-github-pre-releases-test.md'
287+
commit: 'master'
288+
draft: false
289+
name: 'Test binaries'
290+
omitBodyDuringUpdate: true
291+
omitDraftDuringUpdate: true
292+
omitNameDuringUpdate: true
293+
owner: 'xpack-dev-tools'
294+
prerelease: true
295+
replacesArtifacts: true
296+
repo: 'pre-releases'
297+
tag: 'test'
298+
token: ${{ secrets.PUBLISH_TOKEN }}
299+
300+
- name: 'Rename working area'
301+
# For just in case absolute paths remain unprocessed.
302+
run: mv -v build build-$(date -u +%Y%m%d-%H%M%S)
303+
304+
macos-arm64:
305+
name: 'macOS Arm - pkg-config ${{ github.event.inputs.version }} build'
306+
timeout-minutes: 2880 # 2 days
307+
308+
runs-on: [self-hosted, macos, apple]
309+
310+
steps:
311+
- name: 'Environment'
312+
run: |
313+
uname -a
314+
sw_vers
315+
echo "whoami: $(whoami)"
316+
echo "pwd: $(pwd)"
317+
echo "node: $(node --version)"
318+
echo "npm: $(npm --version)"
319+
ls -lLA
320+
env | sort
321+
322+
- name: 'Clean working area'
323+
run: rm -rf * .git*
324+
325+
- name: 'Checkout project'
326+
uses: actions/checkout@v1 # v1 for old Git
327+
with:
328+
fetch-depth: 1
329+
330+
- name: 'Install xpm'
331+
timeout-minutes: 1440
332+
run: npm install --location=global xpm@latest
333+
334+
- name: 'Install project dependencies'
335+
timeout-minutes: 1440
336+
run: xpm install
337+
338+
339+
- name: 'Build macOS arm64 binary'
340+
timeout-minutes: 1440
341+
run: |
342+
xpm install --config darwin-arm64
343+
xpm run build --config darwin-arm64
344+
345+
346+
- name: 'Publish pre-release'
347+
# https://github.com/ncipollo/release-action
348+
uses: ncipollo/release-action@v1
349+
with:
350+
allowUpdates: true
351+
artifacts: 'build/darwin-arm64/deploy/*'
352+
bodyFile: '.github/workflows/body-github-pre-releases-test.md'
353+
commit: 'master'
354+
draft: false
355+
name: 'Test binaries'
356+
omitBodyDuringUpdate: true
357+
omitDraftDuringUpdate: true
358+
omitNameDuringUpdate: true
359+
owner: 'xpack-dev-tools'
360+
prerelease: true
361+
replacesArtifacts: true
362+
repo: 'pre-releases'
363+
tag: 'test'
364+
token: ${{ secrets.PUBLISH_TOKEN }}
365+
366+
- name: 'Rename working area'
367+
# For just in case absolute paths remain unprocessed.
368+
run: mv -v build build-$(date -u +%Y%m%d-%H%M%S)

0 commit comments

Comments
 (0)