From 3413fe05eb77d49a5cff962e42cff949750fefd8 Mon Sep 17 00:00:00 2001 From: Aidan Garske Date: Fri, 1 Aug 2025 15:33:51 -0700 Subject: [PATCH 1/6] Add libcryptsetup github workflow --- .github/workflows/libcryptsetup.yml | 102 ++++++++++++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 .github/workflows/libcryptsetup.yml diff --git a/.github/workflows/libcryptsetup.yml b/.github/workflows/libcryptsetup.yml new file mode 100644 index 00000000..1148b1b1 --- /dev/null +++ b/.github/workflows/libcryptsetup.yml @@ -0,0 +1,102 @@ +name: Libcryptsetup Tests + +# START OF COMMON SECTION +on: + push: + branches: [ 'master', 'main', 'release/**' ] + pull_request: + branches: [ '*' ] + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true +# END OF COMMON SECTION + +jobs: + build_wolfprovider: + uses: ./.github/workflows/build-wolfprovider.yml + with: + wolfssl_ref: ${{ matrix.wolfssl_ref }} + openssl_ref: ${{ matrix.openssl_ref }} + strategy: + matrix: + wolfssl_ref: ['v5.8.0-stable', 'master'] + openssl_ref: ['openssl-3.5.0'] + + test_cryptsetup: + runs-on: ubuntu-22.04 + needs: build_wolfprovider + # This should be a safe limit for the tests to run. + timeout-minutes: 20 + strategy: + fail-fast: false + matrix: + cryptsetup_ref: ['v2.6.1'] + wolfssl_ref: ['v5.8.0-stable', 'master'] + openssl_ref: ['openssl-3.5.0'] + force_fail: ['WOLFPROV_FORCE_FAIL=1', ''] + + steps: + - name: Checkout wolfProvider + uses: actions/checkout@v4 + with: + fetch-depth: 1 + + - name: Retrieving wolfSSL/wolfProvider from cache + uses: actions/cache/restore@v4 + id: wolfprov-cache + with: + path: | + wolfssl-install + wolfprov-install + openssl-install/lib64 + openssl-install/include + openssl-install/bin + + key: wolfprov-${{ matrix.wolfssl_ref }}-${{ matrix.openssl_ref }}-${{ github.sha }} + fail-on-cache-miss: true + + - name: Install dependencies + run: | + sudo apt-get update + sudo apt-get install -y \ + build-essential autoconf libtool pkg-config \ + uuid-dev libdevmapper-dev libpopt-dev \ + libjson-c-dev libargon2-dev + + - name: Checkout cryptsetup + uses: actions/checkout@v4 + with: + repository: cryptsetup/cryptsetup + path: cryptsetup + ref: ${{ matrix.cryptsetup_ref }} + + - name: Checkout OSP + uses: actions/checkout@v4 + with: + repository: wolfssl/osp + path: osp + fetch-depth: 1 + - run: | + cd cryptsetup + patch -p1 < $GITHUB_WORKSPACE/osp/wolfProvider/cryptsetup/cryptsetup-${{ matrix.cryptsetup_ref }}-wolfprov.patch + + - name: Build cryptsetup + working-directory: cryptsetup + run: | + ./autogen.sh + ./configure --enable-static \ + --with-crypto-backend=openssl \ + --with-openssl-includes=$GITHUB_WORKSPACE/openssl-install/include \ + --with-openssl-libs=$GITHUB_WORKSPACE/openssl-install/lib64 + make -j$(nproc) + + - name: Run cryptsetup tests + working-directory: cryptsetup + run: | + source $GITHUB_WORKSPACE/scripts/env-setup + export ${{ matrix.force_fail }} + + make check 2>&1 | tee cryptsetup-test.log + TEST_RESULT=$(grep -q "All 10 tests passed" cryptsetup-test.log && echo "0" || echo "1") + $GITHUB_WORKSPACE/.github/scripts/check-workflow-result.sh $TEST_RESULT ${{ matrix.force_fail }} cryptsetup From 62fded29a8d93cf29e7d290a12359f51d44e640a Mon Sep 17 00:00:00 2001 From: Aidan Garske Date: Fri, 1 Aug 2025 16:13:51 -0700 Subject: [PATCH 2/6] Add correct repo --- .github/workflows/libcryptsetup.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/libcryptsetup.yml b/.github/workflows/libcryptsetup.yml index 1148b1b1..595abf87 100644 --- a/.github/workflows/libcryptsetup.yml +++ b/.github/workflows/libcryptsetup.yml @@ -67,7 +67,7 @@ jobs: - name: Checkout cryptsetup uses: actions/checkout@v4 with: - repository: cryptsetup/cryptsetup + repository: mbroz/cryptsetup path: cryptsetup ref: ${{ matrix.cryptsetup_ref }} From 1f1eec8c96c22c628a7a3e9b19ee117d35cb6c96 Mon Sep 17 00:00:00 2001 From: Aidan Garske Date: Wed, 6 Aug 2025 16:58:32 -0700 Subject: [PATCH 3/6] Add correct name for path --- .github/workflows/libcryptsetup.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/libcryptsetup.yml b/.github/workflows/libcryptsetup.yml index 595abf87..f38f6de4 100644 --- a/.github/workflows/libcryptsetup.yml +++ b/.github/workflows/libcryptsetup.yml @@ -79,7 +79,7 @@ jobs: fetch-depth: 1 - run: | cd cryptsetup - patch -p1 < $GITHUB_WORKSPACE/osp/wolfProvider/cryptsetup/cryptsetup-${{ matrix.cryptsetup_ref }}-wolfprov.patch + patch -p1 < $GITHUB_WORKSPACE/osp/wolfProvider/libcryptsetup/libcryptsetup-${{ matrix.cryptsetup_ref }}-wolfprov.patch - name: Build cryptsetup working-directory: cryptsetup From dbb54032a80e569239ce2f3d64c3694eae88c234 Mon Sep 17 00:00:00 2001 From: Aidan Garske Date: Thu, 7 Aug 2025 10:02:16 -0700 Subject: [PATCH 4/6] Add autopoint and gettext --- .github/workflows/libcryptsetup.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/libcryptsetup.yml b/.github/workflows/libcryptsetup.yml index f38f6de4..3b50e626 100644 --- a/.github/workflows/libcryptsetup.yml +++ b/.github/workflows/libcryptsetup.yml @@ -60,9 +60,8 @@ jobs: run: | sudo apt-get update sudo apt-get install -y \ - build-essential autoconf libtool pkg-config \ - uuid-dev libdevmapper-dev libpopt-dev \ - libjson-c-dev libargon2-dev + build-essential autoconf gettext autopoint libtool pkg-config \ + uuid-dev libdevmapper-dev libpopt-dev libjson-c-dev libargon2-dev - name: Checkout cryptsetup uses: actions/checkout@v4 From d78281c0964fdd20f35929e39f6eb325e0ecd360 Mon Sep 17 00:00:00 2001 From: Aidan Garske Date: Thu, 7 Aug 2025 10:53:35 -0700 Subject: [PATCH 5/6] Add asciidoctor --- .github/workflows/libcryptsetup.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/libcryptsetup.yml b/.github/workflows/libcryptsetup.yml index 3b50e626..94cad1d9 100644 --- a/.github/workflows/libcryptsetup.yml +++ b/.github/workflows/libcryptsetup.yml @@ -60,8 +60,9 @@ jobs: run: | sudo apt-get update sudo apt-get install -y \ - build-essential autoconf gettext autopoint libtool pkg-config \ - uuid-dev libdevmapper-dev libpopt-dev libjson-c-dev libargon2-dev + build-essential autoconf asciidoctor gettext autopoint libtool \ + pkg-config uuid-dev libdevmapper-dev libpopt-dev libjson-c-dev \ + libargon2-dev - name: Checkout cryptsetup uses: actions/checkout@v4 From 453f249e6ef88726b8100b80e4b2f1a7edd5ca16 Mon Sep 17 00:00:00 2001 From: Aidan Garske Date: Thu, 7 Aug 2025 11:40:24 -0700 Subject: [PATCH 6/6] Cant use libssh disable token --- .github/workflows/libcryptsetup.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/libcryptsetup.yml b/.github/workflows/libcryptsetup.yml index 94cad1d9..19e727e9 100644 --- a/.github/workflows/libcryptsetup.yml +++ b/.github/workflows/libcryptsetup.yml @@ -87,6 +87,7 @@ jobs: ./autogen.sh ./configure --enable-static \ --with-crypto-backend=openssl \ + --disable-ssh-token \ --with-openssl-includes=$GITHUB_WORKSPACE/openssl-install/include \ --with-openssl-libs=$GITHUB_WORKSPACE/openssl-install/lib64 make -j$(nproc)