Skip to content

Commit ffd5da1

Browse files
authored
Merge pull request #1 from Snowy7/feat/linux-arm64-support
Add Linux ARM64 (aarch64) build support
2 parents f06ccc6 + 1e3e286 commit ffd5da1

2 files changed

Lines changed: 63 additions & 1 deletion

File tree

.github/workflows/ci.yml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,3 +71,26 @@ jobs:
7171

7272
- name: Build
7373
run: npm run build
74+
75+
build-linux-arm64:
76+
name: Build (linux-arm64)
77+
runs-on: ubuntu-24.04-arm
78+
needs: lint-typecheck-test
79+
80+
steps:
81+
- uses: actions/checkout@v4
82+
83+
- name: Setup Node.js
84+
uses: actions/setup-node@v4
85+
with:
86+
node-version: 22
87+
cache: npm
88+
89+
- name: Install system dependencies
90+
run: sudo apt-get update && sudo apt-get install -y libsecret-1-dev
91+
92+
- name: Install dependencies
93+
run: npm ci
94+
95+
- name: Build
96+
run: npm run build

.github/workflows/release.yml

Lines changed: 40 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,10 +94,49 @@ jobs:
9494
if-no-files-found: ignore
9595
retention-days: 30
9696

97+
package-linux-arm64:
98+
name: Package (linux-arm64)
99+
runs-on: ubuntu-24.04-arm
100+
needs: validate
101+
102+
steps:
103+
- uses: actions/checkout@v4
104+
105+
- name: Setup Node.js
106+
uses: actions/setup-node@v4
107+
with:
108+
node-version: 22
109+
cache: npm
110+
111+
- name: Install system dependencies
112+
run: sudo apt-get update && sudo apt-get install -y libsecret-1-dev
113+
114+
- name: Install dependencies
115+
run: npm ci
116+
117+
- name: Build
118+
run: npm run build
119+
120+
- name: Package
121+
run: npx electron-builder --linux --arm64 --publish never
122+
env:
123+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
124+
125+
- name: Upload artifacts
126+
uses: actions/upload-artifact@v4
127+
with:
128+
name: sncode-linux-arm64
129+
path: |
130+
release/*.AppImage
131+
release/*.yml
132+
release/*.yaml
133+
if-no-files-found: ignore
134+
retention-days: 30
135+
97136
release:
98137
name: Create Release
99138
runs-on: ubuntu-latest
100-
needs: package
139+
needs: [package, package-linux-arm64]
101140
# Only create a release when triggered by a tag push or when a version is specified
102141
if: startsWith(github.ref, 'refs/tags/v') || inputs.version != ''
103142

0 commit comments

Comments
 (0)