Private
Public Access
1
0

fix: resolve all 4 build job failures

Debian: Add -d flag to dpkg-buildpackage (skip dep check,
rustup installed Rust not apt)

RPM/Arch: Fix missing run: | YAML syntax in dependency steps

Alpine: Fix abuild working directory - use /home/builduser
explicitly instead of $(pwd) which referenced act cache path
This commit is contained in:
2026-04-27 00:19:32 +00:00
parent 79b7080237
commit 3326fa4445
2 changed files with 17 additions and 9 deletions

View File

@ -116,7 +116,7 @@ jobs:
sudo apt-get update sudo apt-get update
sudo apt-get install -y build-essential debhelper pkg-config libsystemd-dev sudo apt-get install -y build-essential debhelper pkg-config libsystemd-dev
- name: Build Debian package - name: Build Debian package
run: sudo dpkg-buildpackage -us -uc -b sudo dpkg-buildpackage -us -uc -b -d
- name: Upload to Gitea Release - name: Upload to Gitea Release
if: startsWith(github.ref, 'refs/tags/') if: startsWith(github.ref, 'refs/tags/')
env: env:
@ -143,6 +143,7 @@ jobs:
. "$HOME/.cargo/env" . "$HOME/.cargo/env"
echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" echo "$HOME/.cargo/bin" >> "$GITHUB_PATH"
- name: Install build dependencies - name: Install build dependencies
run: |
sudo dnf install -y gcc rpm-build systemd-devel pkg-config sudo dnf install -y gcc rpm-build systemd-devel pkg-config
- name: Build release binary - name: Build release binary
run: cargo build --release run: cargo build --release
@ -213,6 +214,7 @@ jobs:
. "$HOME/.cargo/env" . "$HOME/.cargo/env"
echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" echo "$HOME/.cargo/bin" >> "$GITHUB_PATH"
- name: Install build dependencies - name: Install build dependencies
run: |
sudo pacman -Syu --noconfirm rust cargo systemd git base-devel gcc sudo pacman -Syu --noconfirm rust cargo systemd git base-devel gcc
- name: Build release binary - name: Build release binary
run: cargo build --release run: cargo build --release

View File

@ -95,32 +95,38 @@ if [ "$(id -u)" = "0" ]; then
echo "Running as root - creating build user for abuild..." echo "Running as root - creating build user for abuild..."
adduser -D -s /bin/sh builduser 2>/dev/null || true adduser -D -s /bin/sh builduser 2>/dev/null || true
addgroup builduser abuild 2>/dev/null || usermod -aG abuild builduser addgroup builduser abuild 2>/dev/null || usermod -aG abuild builduser
chown -R builduser:builduser "$(pwd)"
chown -R builduser:builduser /root/packages 2>/dev/null || true # Set up builduser home directory for abuild
mkdir -p /home/builduser/.abuild mkdir -p /home/builduser/.abuild
cp /root/.abuild/* /home/builduser/.abuild/ cp /root/.abuild/* /home/builduser/.abuild/ 2>/dev/null || true
chown -R builduser:builduser /home/builduser/.abuild chown -R builduser:builduser /home/builduser/.abuild
KEYFILE=$(ls /home/builduser/.abuild/*.rsa 2>/dev/null | head -1) KEYFILE=$(ls /home/builduser/.abuild/*.rsa 2>/dev/null | head -1)
if [ -z "$KEYFILE" ]; then if [ -z "$KEYFILE" ]; then
KEYFILE=$(ls /home/builduser/.abuild/-*.rsa 2>/dev/null | head -1) KEYFILE=$(ls /home/builduser/.abuild/-*.rsa 2>/dev/null | head -1)
fi fi
echo "Key file: $KEYFILE" echo "Key file: $KEYFILE"
echo "PACKAGER_PRIVKEY=\"$KEYFILE\"" > /home/builduser/.abuild/abuild.conf echo "PACKAGER_PRIVKEY=\"$KEYFILE\"" > /home/builduser/.abuild/abuild.conf
chown builduser:builduser /home/builduser/.abuild/abuild.conf chown builduser:builduser /home/builduser/.abuild/abuild.conf
su - builduser -c "cd $(pwd) && abuild checksum && abuild -d -F && cp /home/builduser/packages/x86_64/*.apk ./releases/ 2>/dev/null || cp /home/builduser/packages/*.apk ./releases/ 2>/dev/null || ls -la /home/builduser/packages/"
# Run abuild as builduser with explicit working directory
su - builduser -c "cd /home/builduser && abuild checksum && abuild -d -F"
# Copy APK from builduser packages to releases
mkdir -p releases
cp /home/builduser/packages/x86_64/*.apk releases/ 2>/dev/null || cp /home/builduser/packages/*.apk releases/ 2>/dev/null || find /home/builduser/packages -name "*.apk" -exec cp {} releases/ \; 2>/dev/null || true
else else
abuild checksum abuild checksum
abuild -F -r abuild -F -r
cp ~/packages/x86_64/*.apk releases/ 2>/dev/null || cp ~/packages/*.apk releases/ 2>/dev/null || true cp ~/packages/x86_64/*.apk releases/ 2>/dev/null || cp ~/packages/*.apk releases/ 2>/dev/null || true
fi fi
# Copy to releases directory # Copy to releases directory (fallback for non-root builds)
echo "" echo ""
echo "Copying package to releases/..." echo "Copying package to releases/..."
mkdir -p releases mkdir -p releases
cp ~/packages/x86_64/*.apk releases/ 2>/dev/null || cp /root/packages/x86_64/*.apk releases/ || find / -name "linux-patch-api-*.apk" -exec cp {} releases/ \; 2>/dev/null || true cp ~/packages/x86_64/*.apk releases/ 2>/dev/null || cp ~/packages/*.apk releases/ 2>/dev/null || find ~/packages -name "*.apk" -exec cp {} releases/ \; 2>/dev/null || true
echo "" echo ""
echo "=== Build Complete ===" echo "=== Build Complete ==="