From ead446aa602f59aea054b747016ecd83acf6f2b3 Mon Sep 17 00:00:00 2001 From: Colin Walters Date: Sat, 14 Dec 2024 18:24:00 +0000 Subject: [PATCH] Add release binaries from git main --- .github/workflows/builds.yaml | 43 +++++++++++++++++++++++++++++++++++ hacking/installdeps.sh | 13 +++++++++++ 2 files changed, 56 insertions(+) create mode 100644 .github/workflows/builds.yaml diff --git a/.github/workflows/builds.yaml b/.github/workflows/builds.yaml new file mode 100644 index 00000000..cc6d2c0b --- /dev/null +++ b/.github/workflows/builds.yaml @@ -0,0 +1,43 @@ +name: Build binaries + +on: push + +permissions: + actions: read + +jobs: + build: + strategy: + matrix: + base: + - docker.io/library/ubuntu:22.04 + - docker.io/library/ubuntu:24.04 + - quay.io/fedora/fedora:41 + - quay.io/centos/centos:stream9 + container: ${{ matrix.base }} + steps: + - name: Checkout repository + uses: actions/checkout@v4 + - name: Install dependencies + run: sudo ./hacking/installdeps.sh + - name: Configure + run: meson setup build --prefix=/usr -Dfuse=disabled + - name: Build + run: meson compile -C build + - name: Capture build + run: DESTDIR=$(pwd)/instroot meson install -C build && \ + tar -C instroot --sort=name --owner=0 --group=0 --numeric-owner \ + --mtime=$(git log -1 --pretty=%ct) \ + --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=atime,delete=ctime \ + -czf composefs.tar.gz . + - name: Upload binary + uses: actions/upload-artifact@v4 + with: + name: composefs-${{ matrix.base }}.tar + path: composefs.tar.gz + - name: Upload log + uses: actions/upload-artifact@v4 + if: always() + with: + name: testlog-asan.txt + path: build/meson-logs/testlog.txt diff --git a/hacking/installdeps.sh b/hacking/installdeps.sh index df7b792e..bafb4856 100755 --- a/hacking/installdeps.sh +++ b/hacking/installdeps.sh @@ -1,5 +1,18 @@ #!/bin/bash set -xeuo pipefail + +# Handle Fedora derivatives or others that have composefs +# shipped already. + +if test -x /usr/bin/dnf; then + case $ID_LIKE in + centos|rhel) dnf config-manager --set-enabled crb ;; + esac + dnf -y install dnf-utils; + dnf -y builddep composefs + exit 0 +fi + export DEBIAN_FRONTEND=noninteractive PACKAGES=" \