mirror of https://github.com/wolfSSL/wolfTPM.git
Kill the intermittent apt-get mirror timeouts and rebuild waste in CI. apt deps (wolfBoot model): - Add .github/docker/wolftpm-ci/Dockerfile baking the common CI apt deps (autoconf, automake, build-essential, clang, clang-tools, cmake, git, libtool, libtss2-tcti-mssim0, pkg-config, tpm2-tools, valgrind, ...). - Add publish-ci-image.yml to build/push ghcr.io/<owner>/wolftpm-ci:v1.0. Image namespace follows the repo owner so a fork publishes and consumes its own image; lowercases the owner for the push tag. - Move the apt-using Linux jobs into `container:` (sanitizer, pqc-examples, release-checks scan_build, cmake-build static-export, wolfssl-versions-pqc, fwtpm-test ibmswtpm/valgrind). unshare --net jobs get SYS_ADMIN/NET_ADMIN/ NET_RAW caps so they can create a netns inside the container. - Add a reusable apt-retry action and use it for the jobs that cannot move into the image (mixed-OS matrices, version-specific compilers, mono, zephyr, CodeQL), giving bounded retries + Acquire timeouts. cached builds: - Add setup-ibmswtpm action (resolve commit -> actions/cache -> build on miss) and replace the 3 clone+make sites; fwtpm uses MAX_LOADED_OBJECTS=7. - Add setup-wolfcose action (cache wolfCOSE source builds, keyed on the wolfSSL SHA) ready for future wolfCOSE coverage. - Add inline wolfSSL build caching (resolve SHA -> actions/cache -> build on miss) to the jobs that still rebuilt it every run: release-checks, multi-compiler, coverity-scan-fixes, and make-test-swtpm old-wolfssl. |
||
|---|---|---|
| .. | ||
| apt-retry | ||
| setup-ibmswtpm | ||
| setup-wolfcose | ||
| setup-wolfssl | ||
| wait-for-smoke | ||