Skip to content

Commit efbeffc

Browse files
committed
simplify: remove ARM64 target from Linux build workflow
- Drop aarch64 architecture support - Remove matrix strategy and cross-compilation setup - Only build x86_64 AppImage and .deb files - Remove .rpm package generation - Significantly simplifies the build process
1 parent 2e2047b commit efbeffc

File tree

1 file changed

+14
-83
lines changed

1 file changed

+14
-83
lines changed

.github/workflows/build-linux.yml

Lines changed: 14 additions & 83 deletions
Original file line numberDiff line numberDiff line change
@@ -7,79 +7,27 @@ on:
77

88
jobs:
99
build:
10-
name: Build Linux ${{ matrix.arch }}
10+
name: Build Linux x86_64
1111
runs-on: ubuntu-latest
1212

13-
strategy:
14-
matrix:
15-
include:
16-
- arch: x86_64
17-
target: x86_64-unknown-linux-gnu
18-
- arch: aarch64
19-
target: aarch64-unknown-linux-gnu
20-
2113
steps:
2214
- uses: actions/checkout@v4
2315

2416
- name: Install system dependencies
2517
run: |
2618
sudo apt-get update
27-
28-
# Common dependencies for both architectures
2919
sudo apt-get install -y \
30-
rpm \
31-
pkg-config
32-
33-
if [ "${{ matrix.arch }}" = "x86_64" ]; then
34-
# x86_64 native dependencies
35-
sudo apt-get install -y \
36-
libwebkit2gtk-4.1-dev \
37-
libgtk-3-dev \
38-
libssl-dev \
39-
libayatana-appindicator3-dev \
40-
librsvg2-dev
41-
else
42-
# ARM64 cross-compilation setup
43-
# Add ARM64 architecture
44-
sudo dpkg --add-architecture arm64
45-
46-
# Restrict main sources to amd64 only to prevent 404 errors
47-
sudo sed -i 's/^deb /deb [arch=amd64] /g' /etc/apt/sources.list
48-
49-
# Add ARM64 repositories
50-
echo "deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports $(lsb_release -cs) main restricted universe multiverse" | sudo tee /etc/apt/sources.list.d/arm64.list
51-
echo "deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports $(lsb_release -cs)-updates main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/arm64.list
52-
echo "deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports $(lsb_release -cs)-security main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/arm64.list
53-
54-
# Update with new architecture
55-
sudo apt-get update
56-
57-
# Install cross-compilation tools
58-
sudo apt-get install -y \
59-
gcc-aarch64-linux-gnu \
60-
g++-aarch64-linux-gnu \
61-
libc6-dev-arm64-cross
62-
63-
# Install ARM64 libraries
64-
sudo apt-get install -y \
65-
libwebkit2gtk-4.1-dev:arm64 \
66-
libgtk-3-dev:arm64 \
67-
libssl-dev:arm64 \
68-
libayatana-appindicator3-dev:arm64 \
69-
librsvg2-dev:arm64 \
70-
libglib2.0-dev:arm64 \
71-
libcairo2-dev:arm64 \
72-
libpango1.0-dev:arm64 \
73-
libatk1.0-dev:arm64 \
74-
libgdk-pixbuf-2.0-dev:arm64 \
75-
libsoup-3.0-dev:arm64 \
76-
libjavascriptcoregtk-4.1-dev:arm64
77-
fi
20+
pkg-config \
21+
libwebkit2gtk-4.1-dev \
22+
libgtk-3-dev \
23+
libssl-dev \
24+
libayatana-appindicator3-dev \
25+
librsvg2-dev
7826
7927
- name: Setup Rust
8028
uses: dtolnay/rust-toolchain@stable
8129
with:
82-
targets: ${{ matrix.target }}
30+
targets: x86_64-unknown-linux-gnu
8331

8432
- name: Setup Rust cache
8533
uses: Swatinem/rust-cache@v2
@@ -93,33 +41,16 @@ jobs:
9341
run: bun install
9442

9543
- name: Build Tauri app
96-
run: bun run tauri build --target ${{ matrix.target }}
97-
env:
98-
# Cross-compilation environment variables for ARM64
99-
CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER: ${{ matrix.arch == 'aarch64' && 'aarch64-linux-gnu-gcc' || '' }}
100-
CC_aarch64_unknown_linux_gnu: ${{ matrix.arch == 'aarch64' && 'aarch64-linux-gnu-gcc' || '' }}
101-
CXX_aarch64_unknown_linux_gnu: ${{ matrix.arch == 'aarch64' && 'aarch64-linux-gnu-g++' || '' }}
102-
AR_aarch64_unknown_linux_gnu: ${{ matrix.arch == 'aarch64' && 'aarch64-linux-gnu-ar' || '' }}
103-
PKG_CONFIG_ALLOW_CROSS: ${{ matrix.arch == 'aarch64' && '1' || '' }}
104-
PKG_CONFIG_PATH: ${{ matrix.arch == 'aarch64' && '/usr/lib/aarch64-linux-gnu/pkgconfig:/usr/share/pkgconfig' || '' }}
105-
PKG_CONFIG_LIBDIR: ${{ matrix.arch == 'aarch64' && '/usr/lib/aarch64-linux-gnu/pkgconfig' || '' }}
106-
PKG_CONFIG_SYSROOT_DIR: ${{ matrix.arch == 'aarch64' && '/' || '' }}
44+
run: bun run tauri build --target x86_64-unknown-linux-gnu
10745

10846
- name: Create artifacts directory
10947
run: |
110-
mkdir -p dist/linux-${{ matrix.arch }}
111-
cp src-tauri/target/${{ matrix.target }}/release/bundle/deb/*.deb dist/linux-${{ matrix.arch }}/ || true
112-
cp src-tauri/target/${{ matrix.target }}/release/bundle/rpm/*.rpm dist/linux-${{ matrix.arch }}/ || true
113-
cp src-tauri/target/${{ matrix.target }}/release/bundle/appimage/*.AppImage dist/linux-${{ matrix.arch }}/ || true
114-
115-
# Create tarball
116-
if [ -f "src-tauri/target/${{ matrix.target }}/release/claudia" ]; then
117-
tar -czf "dist/linux-${{ matrix.arch }}/claudia-linux-${{ matrix.arch }}.tar.gz" \
118-
-C "src-tauri/target/${{ matrix.target }}/release" claudia
119-
fi
48+
mkdir -p dist/linux-x86_64
49+
cp src-tauri/target/x86_64-unknown-linux-gnu/release/bundle/deb/*.deb dist/linux-x86_64/ || true
50+
cp src-tauri/target/x86_64-unknown-linux-gnu/release/bundle/appimage/*.AppImage dist/linux-x86_64/ || true
12051
12152
- name: Upload artifacts
12253
uses: actions/upload-artifact@v4
12354
with:
124-
name: linux-${{ matrix.arch }}
125-
path: dist/linux-${{ matrix.arch }}/*
55+
name: linux-x86_64
56+
path: dist/linux-x86_64/*

0 commit comments

Comments
 (0)