Skip to content

Update hitch support.#9897

Open
kareem-wolfssl wants to merge 5 commits into
wolfSSL:masterfrom
kareem-wolfssl:gh218
Open

Update hitch support.#9897
kareem-wolfssl wants to merge 5 commits into
wolfSSL:masterfrom
kareem-wolfssl:gh218

Conversation

@kareem-wolfssl
Copy link
Copy Markdown
Contributor

Description

Update hitch support for the latest release of hitch, 1.8.0.
Re-enable hitch CI/CD test support.
Requires wolfSSL/osp#325.
Fixes wolfSSL/osp#218

Testing

How did you test?

Checklist

  • added tests
  • updated/added doxygen
  • updated appropriate READMEs
  • Updated manual and documentation

@kareem-wolfssl kareem-wolfssl self-assigned this Mar 5, 2026
Copilot AI review requested due to automatic review settings March 5, 2026 23:48
@kareem-wolfssl kareem-wolfssl added the Not For This Release Not for release 5.9.2 label Mar 5, 2026
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates wolfSSL's hitch support from version 1.7.3 to 1.8.0, re-enabling the previously disabled CI/CD workflow.

Changes:

  • Bumps the hitch version reference from 1.7.3 to 1.8.0 in the CI workflow
  • Adds CERTIFICATE_STATUS_REQUEST and WC_NO_STATIC_ASSERT flags to the hitch build configuration
  • Updates the hitch build steps to use the new patch file and ./bootstrap instead of autoreconf

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
configure.ac Adds CSR and static assert suppression flags needed for hitch 1.8.0 compatibility
.github/workflows/disabled/hitch.yml Updates CI to target hitch 1.8.0, adjusts build steps and ignored tests

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .github/workflows/hitch.yml
@MarkAtwood
Copy link
Copy Markdown
Contributor

@kareem-wolfssl — friendly ping: @julek-wolfssl's review comment from 2026-03-06 is the only blocker here. It's a one-line refactor: use matrix.ref in .github/workflows/hitch.yml rather than hardcoding the hitch version.

Landing this would unblock wolfSSL/osp#325 and resolve wolfSSL/osp#218.

@MarkAtwood
Copy link
Copy Markdown
Contributor

Opened kareem-wolfssl#4 against the gh218 branch with the two-line refactor addressing @julek-wolfssl's review — both remaining hardcoded 1.8.0 occurrences replaced with ${{ matrix.ref }}, matrix entry kept as the single source of truth.

Once @kareem-wolfssl merges that into gh218, this PR picks up the fix automatically and is ready for re-review.

kareem-wolfssl pushed a commit to kareem-wolfssl/wolfssl that referenced this pull request May 11, 2026
Address julek-wolfssl's review on wolfSSL#9897: replace the
two remaining hardcoded 1.8.0 occurrences with ${{ matrix.ref }} so the
matrix entry is the single source of truth for the hitch version under
test.
kareem-wolfssl pushed a commit to kareem-wolfssl/wolfssl that referenced this pull request May 11, 2026
Address julek-wolfssl's review on wolfSSL#9897: replace the
two remaining hardcoded 1.8.0 occurrences with ${{ matrix.ref }} so the
matrix entry is the single source of truth for the hitch version under
test.
@kareem-wolfssl
Copy link
Copy Markdown
Contributor Author

Retest this please

@kareem-wolfssl
Copy link
Copy Markdown
Contributor Author

kareem-wolfssl commented May 11, 2026

Updated. OSP PR needs to be merged first so the re-enabled hitch test can work correctly. (wolfSSL/osp#325)

@kareem-wolfssl
Copy link
Copy Markdown
Contributor Author

FYI: Not ready for merge just yet as the Github hitch test is still having an issue with including wolfSSL settings.
I am working on a patch for this, it will most likely require further hitch patching.

@kareem-wolfssl
Copy link
Copy Markdown
Contributor Author

This now depends on wolfSSL/osp#338 being merged to fix the warnings in the Github runner hitch build.

@kareem-wolfssl kareem-wolfssl removed the Not For This Release Not for release 5.9.2 label May 13, 2026
@kareem-wolfssl
Copy link
Copy Markdown
Contributor Author

Retest this please

julek-wolfssl
julek-wolfssl previously approved these changes May 20, 2026
kareem-wolfssl pushed a commit to kareem-wolfssl/wolfssl that referenced this pull request Jun 2, 2026
Address julek-wolfssl's review on wolfSSL#9897: replace the
two remaining hardcoded 1.8.0 occurrences with ${{ matrix.ref }} so the
matrix entry is the single source of truth for the hitch version under
test.
Comment thread configure.ac Outdated
Comment on lines +9091 to +9092
# wolfSSL inclusion of assert.h conflicts with hitch's assert definition
AM_CFLAGS="$AM_CFLAGS -DWC_NO_STATIC_ASSERT"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This here is a landmine, because if hitch were added to the enable-all-osp roster, we'd silently lose static asserts in enable-all. I think it will be fine to just disable static asserts unless building the library, something like this:

diff --git a/wolfssl/wolfcrypt/types.h b/wolfssl/wolfcrypt/types.h
index eb11f8436..704f55dfa 100644
--- a/wolfssl/wolfcrypt/types.h
+++ b/wolfssl/wolfcrypt/types.h
@@ -2186,6 +2186,10 @@ WOLFSSL_API word32 CheckRunTimeSettings(void);
 
 #define WC_CPP_CAT4_(a, b, c, d) a ## b ## c ## d
 #define WC_CPP_CAT4(a, b, c, d) WC_CPP_CAT4_(a, b, c, d)
+#if !defined(BUILDING_WOLFSSL) && !defined(WC_USE_STATIC_ASSERT) && \
+    !defined(WC_NO_STATIC_ASSERT)
+    #define WC_NO_STATIC_ASSERT
+#endif
 #if defined(WC_NO_STATIC_ASSERT)
     #define wc_static_assert(expr) struct wc_static_assert_dummy_struct
     #define wc_static_assert2(expr, msg) wc_static_assert(expr)

kareem-wolfssl and others added 4 commits June 4, 2026 15:36
Address julek-wolfssl's review on wolfSSL#9897: replace the
two remaining hardcoded 1.8.0 occurrences with ${{ matrix.ref }} so the
matrix entry is the single source of truth for the hitch version under
test.
…fine WC_NO_STATIC_ASSERT while not building the library to avoid including assert.h in external applications like hitch.
Comment thread wolfssl/wolfcrypt/types.h Outdated
Comment on lines +2189 to +2192
#if !defined(BUILDING_WOLFSSL) && !defined(WC_USE_STATIC_ASSERT) && \
!defined(WC_NO_STATIC_ASSERT)
#define WC_NO_STATIC_ASSERT
#endif
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I just realized I gave you bad advice on how to do this -- we use wc_static_assert() in the test layer, e.g.

tests/api/test_mldsa.h
tests/api/test_mldsa_legacy.c

So we actually need one more nuance in the gate:

if !defined(BUILDING_WOLFSSL) && !defined(WOLFSSL_VIS_FOR_TESTS) && \
    !defined(WC_USE_STATIC_ASSERT) && !defined(WC_NO_STATIC_ASSERT)
    #define WC_NO_STATIC_ASSERT
#endif

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Hitch OSP build issue

6 participants