treeland/.github/workflows/qwlroots-debian-build.yml

60 lines
2.0 KiB
YAML

name: Build qwlroots on Debian unstable (independent)
on:
push:
paths:
- 'qwlroots/**'
- '.github/workflows/qwlroots-debian-build.yml'
pull_request:
paths:
- 'qwlroots/**'
- '.github/workflows/qwlroots-debian-build.yml'
jobs:
container:
runs-on: ubuntu-latest
container: debian:unstable
steps:
- uses: actions/checkout@v4
- name: Install build dependencies
working-directory: qwlroots
run: |
# Configure apt sources for unstable
echo "deb http://deb.debian.org/debian unstable main" > /etc/apt/sources.list
echo "deb http://deb.debian.org/debian sid main" >> /etc/apt/sources.list
apt-get update
apt-get install -y devscripts equivs
# Add deepin community repository to install wlr-protocols
echo "deb [trusted=yes] https://community-packages.deepin.com/beige/ crimson main commercial community" > /etc/apt/sources.list.d/deepin-community.list
# Update package lists (ignore signature errors for this temporary repo)
apt-get update --allow-unauthenticated
# Install wlr-protocols package directly
apt-get install -y --allow-unauthenticated wlr-protocols
# Remove deepin repository to avoid system pollution
rm -f /etc/apt/sources.list.d/deepin-community.list
apt-get update
# Install other build dependencies from control file
mk-build-deps --install --remove --tool='apt-get -o Debug::pkgProblemResolver=yes --no-install-recommends --yes' debian/control
- name: Build qwlroots deb package
working-directory: qwlroots
run: |
dpkg-buildpackage -uc -us -b
echo "✅ qwlroots deb package built successfully!"
ls -la ../*.deb
- name: Upload qwlroots deb packages as artifacts
uses: actions/upload-artifact@v4
with:
name: qwlroots-deb-packages
path: "*.deb"
if-no-files-found: error
retention-days: 30