--- name: "Build Debian Packages" "on": push: pull_request: env: SCCACHE_GHA_ENABLED: "true" RUSTC_WRAPPER: "sccache" concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: build-deb-package: name: Build deb packages strategy: matrix: image: - ubuntu:22.04 - ubuntu:20.04 - ubuntu:18.04 - debian:11 - debian:10 runs-on: ubuntu-latest container: image: ${{ matrix.image }} env: DEBIAN_FRONTEND: noninteractive steps: - name: Checkout uses: actions/checkout@v3 - name: Install dependencies run: | apt-get update && \ apt-get install -y \ lsb-release \ libpam0g-dev \ libudev-dev \ libssl-dev \ libsqlite3-dev \ pkg-config \ make \ curl \ sudo - name: Install Rust uses: dtolnay/rust-toolchain@stable - name: Setup sccache uses: mozilla-actions/sccache-action@v0.0.3 with: version: "v0.4.2" - name: Build packages run: | make -f platform/debian/Makefile debs/all - name: Upload debs uses: actions/upload-artifact@v3 with: name: ubuntu-packages path: | target/*.deb upload-to-releases: name: Upload to releases needs: build-deb-package runs-on: ubuntu-latest if: ${{ github.ref == 'refs/heads/master' && github.repository == 'kanidm/kanidm' }} steps: - name: Download previously built debs uses: actions/download-artifact@v3 with: name: ubuntu-packages - name: List packages run: | ls - uses: "marvinpinto/action-automatic-releases@latest" with: repo_token: "${{ secrets.GITHUB_TOKEN }}" automatic_release_tag: "latest" prerelease: true title: "Ubuntu Packages" files: "*.deb"