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:
@ -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
|
||||||
|
|||||||
@ -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 ==="
|
||||||
|
|||||||
Reference in New Issue
Block a user