Skip to content

Commit f63cca6

Browse files
committed
chore: ci workflow for build validation
1 parent 92321a1 commit f63cca6

1 file changed

Lines changed: 88 additions & 0 deletions

File tree

.github/workflows/ci.yml

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
name: Build Validation
2+
3+
concurrency:
4+
group: ${{ github.workflow }}-${{ github.ref }}
5+
cancel-in-progress: true
6+
7+
on:
8+
pull_request:
9+
push:
10+
branches:
11+
- main
12+
workflow_dispatch:
13+
14+
jobs:
15+
verify-node-build:
16+
name: Verify Node Build
17+
runs-on: ubuntu-latest
18+
19+
steps:
20+
- name: Checkout repository
21+
uses: actions/checkout@v4
22+
23+
- name: Setup Node.js
24+
uses: actions/setup-node@v4
25+
with:
26+
node-version: "16.x"
27+
28+
- name: Install dependencies
29+
run: npm install
30+
31+
- name: Verify CLI runs with Node
32+
run: node index.js -v
33+
34+
- name: Verify npm package can be built
35+
run: npm pack
36+
37+
verify-platform-binaries:
38+
name: Verify Platform Binaries
39+
runs-on: ubuntu-latest
40+
41+
steps:
42+
- name: Checkout repository
43+
uses: actions/checkout@v4
44+
45+
- name: Setup Node.js
46+
uses: actions/setup-node@v4
47+
with:
48+
node-version: "16.x"
49+
50+
- name: Setup Bun
51+
uses: oven-sh/setup-bun@v2
52+
with:
53+
bun-version: "latest"
54+
55+
- name: Setup QEMU
56+
uses: docker/setup-qemu-action@v3
57+
with:
58+
platforms: amd64,arm64
59+
60+
- name: Setup ldid
61+
run: |
62+
git clone https://github.com/tpoechtrager/ldid
63+
cd ./ldid
64+
sudo make
65+
sudo make install
66+
67+
- name: Install dependencies
68+
run: bun install
69+
70+
- name: Build all platform binaries
71+
run: |
72+
rm -rf build
73+
mkdir -p build
74+
bun run linux-x64
75+
bun run linux-arm64
76+
bun run windows-x64
77+
bun run windows-arm64
78+
bun run mac-x64
79+
bun run mac-arm64
80+
81+
- name: Verify generated binaries
82+
run: |
83+
test -s build/appwrite-cli-linux-x64
84+
test -s build/appwrite-cli-linux-arm64
85+
test -s build/appwrite-cli-win-x64.exe
86+
test -s build/appwrite-cli-win-arm64.exe
87+
test -s build/appwrite-cli-darwin-x64
88+
test -s build/appwrite-cli-darwin-arm64

0 commit comments

Comments
 (0)