diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 62f75198..0a5e7d89 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -201,3 +201,72 @@ jobs: artifacts: pkg/lightpanda-${{ env.PKGVER }}-${{ env.PKGREL }}-${{ env.ARCH }}.pkg.tar.zst tag: ${{ env.RELEASE }} makeLatest: true + + package-debian: + if: github.ref_type == 'tag' + strategy: + fail-fast: false + matrix: + include: + - arch: x86_64 + deb_arch: amd64 + - arch: aarch64 + deb_arch: arm64 + + env: + ARCH: ${{ matrix.arch }} + DEB_ARCH: ${{ matrix.deb_arch }} + OS: linux + + needs: build-linux + runs-on: ubuntu-22.04 + container: debian:stable-slim + timeout-minutes: 10 + + steps: + - uses: actions/checkout@v6 + + - name: Install packaging deps + run: | + apt-get update + apt-get install -y --no-install-recommends dpkg-dev + + - name: Download linux binary + uses: actions/download-artifact@v4 + with: + name: lightpanda-${{ env.ARCH }}-${{ env.OS }} + path: . + + - name: Build Debian package + run: | + RAW_VERSION="${{ env.RELEASE }}" + PKGVER="${RAW_VERSION#v}" + echo "PKGVER=${PKGVER}" >> "$GITHUB_ENV" + + ROOT="lightpanda_${PKGVER}_${DEB_ARCH}" + mkdir -p "$ROOT/DEBIAN" "$ROOT/usr/bin" "$ROOT/usr/share/doc/lightpanda" + + install -m755 "lightpanda-${ARCH}-${OS}" "$ROOT/usr/bin/lightpanda" + install -m644 LICENSE "$ROOT/usr/share/doc/lightpanda/copyright" + + cat > "$ROOT/DEBIAN/control" <= 2.35) + Maintainer: Lightpanda + Homepage: https://lightpanda.io + Description: Lightpanda, headless browser built for AI and automation + EOF + + dpkg-deb --build --root-owner-group "$ROOT" + + - name: Upload Debian package to release + uses: ncipollo/release-action@v1 + with: + allowUpdates: true + artifacts: lightpanda_${{ env.PKGVER }}_${{ env.DEB_ARCH }}.deb + tag: ${{ env.RELEASE }} + makeLatest: true