From 37f84d113191a4ea9d4a7a4e59855d0ae110c057 Mon Sep 17 00:00:00 2001 From: Aki Tuomi Date: Tue, 8 Oct 2024 09:33:35 +0300 Subject: [PATCH] wip --- .github/workflows/static.yml | 80 ++++++++++++++++++++++++++++++++++-- 1 file changed, 77 insertions(+), 3 deletions(-) diff --git a/.github/workflows/static.yml b/.github/workflows/static.yml index a7eb12b..ad3bbe7 100644 --- a/.github/workflows/static.yml +++ b/.github/workflows/static.yml @@ -8,7 +8,7 @@ on: workflow_dispatch: jobs: - build_matrix: + build_ubuntu: strategy: matrix: os: [ubuntu-24.04, ubuntu-22.04, ubuntu-20.04] @@ -49,9 +49,83 @@ jobs: with: name: build-x86_64-${{ matrix.os }} path: imaptest-x86_64-${{ matrix.os }} + build_rhel: + #if: ${{ github.repository == 'dovecot/imaptest' && github.ref == 'refs/heads/main' }} + strategy: + matrix: + include: + - os: rhel8 + container: registry.access.redhat.com/ubi8/ubi + stream: https://vault.centos.org/8-stream + - os: rhel9 + container: registry.access.redhat.com/ubi9/ubi + stream: https://mirror.stream.centos.org/9-stream/ + runs-on: ubuntu-latest + container: + image: ${{ matrix.container }} + steps: + - name: Checkout imaptest + uses: actions/checkout@v4 + with: + path: imaptest + - name: Checkout dovecot + uses: actions/checkout@v4 + with: + repository: dovecot/core + path: core + - name: Install build dependencies + run: | + dnf makecache + dnf install -y gcc gcc-c++ make automake autoconf libtool pkgconf-pkg-config gettext zlib-devel openssl-devel autoconf-archive diffutils file wget git + - name: Add repositories + run: | + cat < /etc/yum.repos.d/stream.repo + [${{ matrix.os }}-stream_baseos] + name = ${{ matrix.os }} - stream baseos + baseurl = ${{ matrix.stream }}/BaseOS/x86_64/os + gpgcheck = 0 + enabled = 1 + [${{ matrix.so }}-stream_appstream] + name = ${{ matrix.os }} - stream appstream + baseurl = ${{ matrix.stream }}/AppStream/x86_64/os + gpgcheck = 0 + enabled = 1 + EOF + - name: Install more build dependencies + run: | + dnf makecache + dnf install -y gettext-devel bison flex + - name: Force-enable pic + run: | + sed -s -i -e 's/LT_INIT/LT_INIT([pic-only])/' core/configure.ac + - name: Build dovecot libraries + working-directory: ${{ github.workspace }}/core + run: | + env VERSION=0.0.0 ./autogen.sh + ./configure + make -j8 + - name: Build imaptest + working-directory: ${{ github.workspace }}/imaptest + run: | + env VERSION=0.0.0 ./autogen.sh + ./configure --with-dovecot=../core + make -j8 + - name: Strip imaptest + run: | + strip --strip-all imaptest/src/imaptest + - name: Rename artifact + run: | + mv ${{ github.workspace }}/imaptest/src/imaptest imaptest-x86_64-${{ matrix.os }} + - name: Upload Artifact + uses: actions/upload-artifact@v4 + with: + name: build-x86_64-${{ matrix.os }} + path: imaptest-x86_64-${{ matrix.os }} publish: - if: ${{ github.repository == 'dovecot/imaptest' && github.ref == 'refs/heads/main' }} - needs: build_matrix + #if: ${{ github.repository == 'dovecot/imaptest' && github.ref == 'refs/heads/main' }} + needs: + - build_ubuntu + - build_rhel runs-on: ubuntu-latest steps: - name: Download items