Fix i686 build failures in cipher.c #497
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| --- | |
| name: OpenSSL master | |
| on: | |
| push: | |
| branches: ["main"] | |
| pull_request: | |
| branches: ["main"] | |
| env: | |
| OPENSSL_WITH_27483_FIX: 1 | |
| jobs: | |
| setup: | |
| name: Build OpenSSL from master branch | |
| runs-on: ubuntu-22.04 | |
| container: quay.io/fedora/fedora:rawhide | |
| steps: | |
| - name: Get Date for DNF cache entry | |
| id: get-date-dnf | |
| run: | | |
| echo "date=$(/bin/date -u "+%Y%V")" >> $GITHUB_OUTPUT | |
| shell: bash | |
| - name: DNF cache | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| /var/cache/libdnf5 | |
| key: ${{ runner.os }}-dnf-openssl-${{ steps.get-date-dnf.outputs.date }} | |
| - name: Install Dependencies | |
| run: | | |
| dnf -y install perl-FindBin perl-IPC-Cmd perl-File-Compare \ | |
| perl-File-Copy perl-Pod-Html perl-Time-Piece git clang | |
| - name: Checkout Repository | |
| uses: actions/checkout@v4 | |
| - name: Get Date for /opt cache entry | |
| id: get-date-opt | |
| run: | | |
| echo "date=$(/bin/date -u "+%Y%m%d")" >> $GITHUB_OUTPUT | |
| shell: bash | |
| - name: /opt cache | |
| id: cache-opt | |
| uses: actions/cache@v4 | |
| with: | |
| path: /opt | |
| key: ${{ runner.os }}-opt-${{ steps.get-date-opt.outputs.date }} | |
| - name: Get OpenSSL | |
| if: steps.cache-opt.outputs.cache-hit != 'true' | |
| run: | | |
| git clone https://github.com/openssl/openssl.git | |
| - name: Config, build and install OpenSSL | |
| if: steps.cache-opt.outputs.cache-hit != 'true' | |
| run: | | |
| cd openssl | |
| ./config --prefix=/opt && make && make install_sw | |
| build: | |
| name: Build and test pkcs11-provider | |
| needs: setup | |
| runs-on: ubuntu-22.04 | |
| container: quay.io/fedora/fedora:rawhide | |
| steps: | |
| - name: Get Date for DNF cache entry | |
| id: get-date-dnf | |
| run: | | |
| echo "date=$(/bin/date -u "+%Y%V")" >> $GITHUB_OUTPUT | |
| shell: bash | |
| - name: DNF cache | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| /var/cache/libdnf5 | |
| key: ${{ runner.os }}-dnf-openssl-${{ steps.get-date-dnf.outputs.date }} | |
| - name: Install Dependencies | |
| run: | | |
| dnf -y install clang meson cargo expect pkgconf-pkg-config opensc \ | |
| p11-kit-devel gcc g++ sqlite-devel python3-six which cmake \ | |
| nss-softokn nss-tools nss-softokn-devel nss-devel softhsm \ | |
| kryoptic | |
| - name: Checkout Repository | |
| uses: actions/checkout@v4 | |
| - name: Get Date for /opt cache entry | |
| id: get-date-opt | |
| run: | | |
| echo "date=$(/bin/date -u "+%Y%m%d")" >> $GITHUB_OUTPUT | |
| shell: bash | |
| - name: Fetch built openssl from cache | |
| id: cache-opt | |
| uses: actions/cache@v4 | |
| with: | |
| path: /opt | |
| key: ${{ runner.os }}-opt-${{ steps.get-date-opt.outputs.date }} | |
| fail-on-cache-miss: true | |
| - name: Setup and build pkcs11-provider | |
| run: | | |
| export LD_LIBRARY_PATH="/opt/lib64/:$LD_LIBRARY_PATH" | |
| export PATH="/opt/bin:$PATH" | |
| export PKG_CONFIG_PATH="/opt/lib64/pkgconfig" | |
| meson setup builddir | |
| meson compile -C builddir | |
| - name: Test | |
| run: | | |
| export LD_LIBRARY_PATH="/opt/lib64/:$LD_LIBRARY_PATH" | |
| export PATH="/opt/bin:$PATH" | |
| # FIXME: Temporarily disable Montgomery curves in groups until we | |
| # we find out the underlying failure or kryoptic is built with a | |
| # newer version that does not fail | |
| export NO_ECX_IN_TLS=1 | |
| meson test --num-processes 1 -C builddir | |
| - name: Test (with Montgomery curves, expecting failure) | |
| run: | | |
| export LD_LIBRARY_PATH="/opt/lib64/:$LD_LIBRARY_PATH" | |
| export PATH="/opt/bin:$PATH" | |
| # Re-run and expect an error, so we can catch when we can re-add | |
| # Montgomery curve groups in the above test. If this test passes, | |
| # the workflow will fail to indicate that the workaround can be | |
| # removed. | |
| ! meson test --num-processes 1 -C builddir | |
| - uses: actions/upload-artifact@v4 | |
| if: failure() | |
| with: | |
| name: Test logs | |
| path: | | |
| builddir/meson-logs/ | |
| builddir/tests/*.log |