From 8f26f20668c1032f3e93af2fa501f10b7439a730 Mon Sep 17 00:00:00 2001 From: Aki Tuomi Date: Mon, 7 Oct 2024 16:23:31 +0300 Subject: [PATCH] test release --- .github/workflows/static.yml | 69 ++++++++++++++++++------------------ 1 file changed, 35 insertions(+), 34 deletions(-) diff --git a/.github/workflows/static.yml b/.github/workflows/static.yml index 7b3e751..ae2487c 100644 --- a/.github/workflows/static.yml +++ b/.github/workflows/static.yml @@ -1,4 +1,4 @@ -name: Build static version of imaptest +name: Publish latest imaptest on: pull_request: @@ -8,9 +8,11 @@ on: workflow_dispatch: jobs: - build: - name: Build - runs-on: ubuntu-22.04 + build_matrix: + strategy: + matrix: + os: [ubuntu-24.04, ubuntu-22.04, ubuntu-20.04] + runs-on: ${{ matrix.os }} steps: - name: Checkout imaptest uses: actions/checkout@v4 @@ -28,53 +30,52 @@ jobs: working-directory: ${{ github.workspace }}/core run: | ./autogen.sh - ./configure --without-shared-libs --enable-static --disable-shared - make + ./configure + make -j8 - name: Build imaptest working-directory: ${{ github.workspace }}/imaptest run: | ./autogen.sh - ./configure --with-dovecot=../core --enable-static --disable-shared LDFLAGS='--static -llzma' - make + ./configure --with-dovecot=../core + make -j8 + - name: Strip imaptest + run: | + strip --strip-all imaptest/src/imaptest + - name: Rename artifact + run: | + mv imaptest/src/imaptest imaptest-x86_64-${{ matrix.os }} - name: Upload Artifact - if: ${{ github.repository == 'dovecot/imaptest' && github.ref == 'refs/heads/main' }} - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: - name: imaptest - path: imaptest/src/imaptest + name: build-x86_64-${{ matrix.os }} + path: imaptest-x86_64-${{ matrix.os }} publish: - needs: build - if: ${{ github.repository == 'dovecot/imaptest' && github.ref == 'refs/heads/main' }} - name: Publish - runs-on: ubuntu-22.04 + needs: build_matrix + runs-on: ubuntu-latest steps: - - name: Download artifact - uses: actions/download-artifact@v3 + - name: Download items + uses: actions/download-artifact@v4 with: - name: imaptest - path: ./ - - name: Make imaptest executable - run: | - chmod +x imaptest - - name: TAR/GZ imaptest + path: build + merge-multiple: true + - name: List files run: | - tar czfv imaptest.tgz imaptest - - name: Generate SHA256 checksum + find + - name: Generate SHA256SUMS.txt + working-directory: build run: | - sha256sum imaptest.tgz > SHA256SUMS.txt - - name: List files - run: ls -rl + sha256sum imaptest-* > SHA256SUMS.txt - name: Update latest Release uses: andelf/nightly-release@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: - tag_name: latest + tag_name: test-release name: 'ImapTest Latest Release' draft: false body: | - This is a static binary of imaptest (built on Ubuntu 22.04). - This should work on any modern Linux machine using libc. + ImapTest semi-static builds. These work on most machines with matching + libc. files: | - ./SHA256SUMS.txt - ./imaptest.tgz + build/imaptest-* + build/SHA256SUMS.txt