diff --git a/.github/workflows/builder.yml b/.github/workflows/builder.yml index e349a39..ca723d3 100644 --- a/.github/workflows/builder.yml +++ b/.github/workflows/builder.yml @@ -69,6 +69,7 @@ jobs: with: containerfiles: | ./${{ env.IMAGE_NAME }}/Containerfile + context: ${{ env.IMAGE_NAME }} image: ${{ env.IMAGE_NAME }} tags: ${{ env.DEFAULT_TAG }} labels: ${{ steps.meta.outputs.labels }} diff --git a/ublue-builder/Containerfile b/ublue-builder/Containerfile index c1b449e..ee22543 100644 --- a/ublue-builder/Containerfile +++ b/ublue-builder/Containerfile @@ -1,7 +1,7 @@ FROM registry.fedoraproject.org/fedora:latest -COPY ublue-builder/mock-wrapper /usr/bin +COPY mock-wrapper /usr/bin -RUN dnf install -y mock rpmdevtools rpkg copr-cli && dnf clean all +RUN dnf install -y mock rpmdevtools rpkg copr-cli rpmlint && dnf clean all ENTRYPOINT ["/usr/bin/mock-wrapper"] diff --git a/ublue-builder/mock-wrapper b/ublue-builder/mock-wrapper index fdfa794..5179992 100755 --- a/ublue-builder/mock-wrapper +++ b/ublue-builder/mock-wrapper @@ -3,25 +3,47 @@ BUILDER_NO_INCLUDE_SRPM=${BUILDER_NO_INCLUDE_SRPM:-0} SPEC_FILE=$1 shift -set -xeuo pipefail +set -euo pipefail if [ "$SPEC_FILE" == "" ] ; then echo "No spec file selected" exit 1 fi +group_start() { + WHAT=$1 + shift + printf "::group:: ===$WHAT===\n" + set -x +} +group_end() { + set +x + printf "::endgroup::\n" +} + +group_start "Generate spec file with rpkg" OUTDIR=$(mktemp -d) - SPEC_PATH=$(realpath $(dirname $SPEC_FILE)) - rpkg --path ${SPEC_PATH} spec --outdir $OUTDIR +cat $OUTDIR/*.spec +group_end -spectool -ag ${OUTDIR}/*.spec -C ${OUTDIR} +group_start "Lint spec file (non-blocking)" +set +euo pipefail +rpmlint "${OUTDIR}/*.spec" +set -euo pipefail +group_end +group_start "Fetch sources and generate srpm" +spectool -ag ${OUTDIR}/*.spec -C ${OUTDIR} rpkg --path ${SPEC_PATH} srpm --outdir $OUTDIR +ls -lah ${OUTDIR} +group_end +group_start "Build RPM with mock" if [ "$BUILDER_NO_INCLUDE_SRPM" != "1" ] ; then mock --isolation=simple $OUTDIR/*.src.rpm $@ else mock --isolation=simple $@ fi +group_end