From e6aa5f2c2d5d7f29b09e9cfcb41724ba72865e1a Mon Sep 17 00:00:00 2001 From: JacobBarthelmeh Date: Thu, 31 Oct 2024 15:25:03 -0600 Subject: [PATCH 1/2] add check against previous two wolfSSL releases --- .github/workflows/ubuntu-check.yml | 93 +++++++++++++++++++++++------- 1 file changed, 71 insertions(+), 22 deletions(-) diff --git a/.github/workflows/ubuntu-check.yml b/.github/workflows/ubuntu-check.yml index d6c5f57..d924a0e 100644 --- a/.github/workflows/ubuntu-check.yml +++ b/.github/workflows/ubuntu-check.yml @@ -7,39 +7,88 @@ on: branches: [ '*' ] jobs: - build: + create_matrix: + runs-on: ubuntu-latest + outputs: + versions: ${{ steps.json.outputs.versions }} + steps: + - name: Create wolfSSL version matrix + id: json + run: | + current=`curl -s https://api.github.com/repos/wolfssl/wolfssl/releases | grep tag_name | cut -d : -f 2,3 | tr -d \" | tr -d , | tr -d ' ' | head -1` + last=`curl -s https://api.github.com/repos/wolfssl/wolfssl/releases | grep tag_name | cut -d : -f 2,3 | tr -d \" | tr -d , | tr -d ' ' | head -2 | tail -1` + VERSIONS=$(echo "[ \"master\", \"$current\", \"$last\" ]") + echo "wolfSSL versions found: $VERSIONS" + echo "versions=$VERSIONS" >> $GITHUB_OUTPUT + + build_wolfssl: + needs: create_matrix + strategy: + fail-fast: false + matrix: + os: [ ubuntu-latest, macos-latest ] + wolfssl: ${{ fromJson(needs.create_matrix.outputs['versions']) }} + name: Build wolfssl + runs-on: ${{ matrix.os }} + timeout-minutes: 4 + steps: + - name: Checking cache for wolfssl + uses: actions/cache@v4 + id: cache-wolfssl + with: + path: build-dir/ + key: wolfssh-os-check-wolfssl-${{ matrix.wolfssl }}-${{ matrix.os }} + lookup-only: true + + - name: debug + run: echo wolfssl version ${{ matrix.wolfssl }} + - name: Checkout, build, and install wolfssl + if: steps.cache-wolfssl.outputs.cache-hit != 'true' + uses: wolfSSL/actions-build-autotools-project@v1 + with: + repository: wolfssl/wolfssl + ref: ${{ matrix.wolfssl }} + path: wolfssl + configure: ./configure --enable-wolfclu --enable-crl --enable-dsa --enable-pkcs7 + check: false + install: true + + build_wolfclu: + needs: + - build_wolfssl + - create_matrix runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + wolfssl: ${{ fromJson(needs.create_matrix.outputs['versions']) }} + name: Build wolfclu + timeout-minutes: 4 steps: - - uses: actions/checkout@master - with: - repository: wolfssl/wolfssl - path: wolfssl - - name: wolfssl autogen - working-directory: ./wolfssl - run: ./autogen.sh - - name: wolfssl configure - working-directory: ./wolfssl - run: ./configure --enable-wolfclu --enable-crl --enable-dsa --enable-pkcs7 - - name: wolfssl make - working-directory: ./wolfssl - run: make - - name: wolfssl make install - working-directory: ./wolfssl - run: sudo make install - - name: ldconfig - working-directory: ./wolfssl - run: sudo ldconfig + - name: Checking cache for wolfssl + uses: actions/cache@v4 + with: + path: build-dir/ + key: wolfssh-os-check-wolfssl-${{ matrix.wolfssl }}-${{ matrix.os }} + fail-on-cache-miss: true + + - name: Checkout, build, and test wolfssh + uses: wolfSSL/actions-build-autotools-project@v1 + with: + repository: wolfssl/wolfssh + path: wolfssh + check: true - uses: actions/checkout@master - name: autogen run: ./autogen.sh - name: configure - run: ./configure + run: ./configure LDFLAGS="-L${{ github.workspace }}/build-dir/lib" CPPFLAGS="-I${{ github.workspace }}/build-dir/include" - name: make run: make - name: make check - run: make check + run: LD_LIBRARY_PATH=${{ github.workspace }}/build-dir/lib make check - name: display log if: always() run: cat test-suite.log From e92ffd4da2d2e32820b1731189b6e8c25c3f90d0 Mon Sep 17 00:00:00 2001 From: JacobBarthelmeh Date: Thu, 31 Oct 2024 15:29:13 -0600 Subject: [PATCH 2/2] fix up to os matrix --- .github/workflows/ubuntu-check.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ubuntu-check.yml b/.github/workflows/ubuntu-check.yml index d924a0e..e897bec 100644 --- a/.github/workflows/ubuntu-check.yml +++ b/.github/workflows/ubuntu-check.yml @@ -26,7 +26,7 @@ jobs: strategy: fail-fast: false matrix: - os: [ ubuntu-latest, macos-latest ] + os: [ ubuntu-latest ] wolfssl: ${{ fromJson(needs.create_matrix.outputs['versions']) }} name: Build wolfssl runs-on: ${{ matrix.os }} @@ -58,13 +58,14 @@ jobs: needs: - build_wolfssl - create_matrix - runs-on: ubuntu-latest strategy: fail-fast: false matrix: + os: [ ubuntu-latest ] wolfssl: ${{ fromJson(needs.create_matrix.outputs['versions']) }} name: Build wolfclu + runs-on: ${{ matrix.os }} timeout-minutes: 4 steps: - name: Checking cache for wolfssl