Give zz9k_sdk_use_int2 a host-side stub #25
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
| # Build amissl.library with the ZZ9000 crypto-offload provider compiled in | |
| # (Path A). The result is a drop-in library users copy into LIBS:. | |
| # | |
| # Built inside the pinned adtools container (integration/amissl/Dockerfile) with | |
| # the sources cloned onto the container's own ext4 filesystem. That is the | |
| # supported, reproducible way to build AmiSSL + OpenSSL 3.x for m68k: the 2017 | |
| # adtools gcc 2.95.3 trips over bind-mount inodes / CRLF and over the sfdc stub | |
| # generation when run bare on a hosted runner. The drivers repo builds the same | |
| # library the same way. | |
| # | |
| # Trigger manually (Actions tab -> Run workflow) or on changes to the provider | |
| # or integration files. Artifacts: amissl-zz9000-<platform>. | |
| name: Build AmiSSL + ZZ9000 provider | |
| on: | |
| workflow_dispatch: | |
| push: | |
| paths: | |
| - amiga/provider/** | |
| - host/src/zz9k_host.c | |
| - tools/zz9k-crypto-soft.* | |
| - integration/amissl/** | |
| - .github/workflows/build-amissl-provider.yml | |
| jobs: | |
| build: | |
| runs-on: ubuntu-24.04 | |
| timeout-minutes: 180 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| platform: [os3-68020, os3-68060] | |
| steps: | |
| - name: Checkout zz9000-sdk | |
| uses: actions/checkout@v4 | |
| # The library is fully determined by the provider / integration / host | |
| # crypto sources and the toolchain image, so cache the built libs keyed on | |
| # those — unchanged runs skip the slow OpenSSL-for-m68k build entirely. | |
| - name: Restore cached amissl.library | |
| id: amisslcache | |
| uses: actions/cache@v4 | |
| with: | |
| path: integration/amissl/work/out | |
| key: >- | |
| amissl-${{ matrix.platform }}-${{ hashFiles( | |
| 'integration/amissl/AMISSL_REF', | |
| 'integration/amissl/amissl-zz9000.patch', | |
| 'integration/amissl/build.sh', | |
| 'integration/amissl/Dockerfile', | |
| 'amiga/provider/**', | |
| 'host/src/zz9k_host.c', | |
| 'tools/zz9k-crypto-soft.c', | |
| 'tools/zz9k-crypto-soft.h') }} | |
| - name: Build amissl.library (${{ matrix.platform }}) | |
| if: steps.amisslcache.outputs.cache-hit != 'true' | |
| run: | | |
| docker build -t zz9000-amissl-adtools integration/amissl | |
| mkdir -p integration/amissl/work/out | |
| docker run --rm \ | |
| -v "$PWD":/sdk-src:ro \ | |
| -v "$PWD/integration/amissl/work/out":/out \ | |
| -e OS=${{ matrix.platform }} \ | |
| zz9000-amissl-adtools sh -ec ' | |
| git config --global --add safe.directory "*" | |
| git clone -q /sdk-src /build/zz9000-sdk | |
| case "$OS" in | |
| os3-68020) libdir=68020-40 ;; | |
| os3-68060) libdir=68060 ;; | |
| *) echo "unknown OS target: $OS" >&2; exit 1 ;; | |
| esac | |
| AMISSL_DIR= ZZ9000_SDK=/build/zz9000-sdk OS="$OS" WORK=/build/work \ | |
| sh /build/zz9000-sdk/integration/amissl/build.sh | |
| mkdir -p "/out/$libdir" | |
| cp -v /build/work/out/"$OS"/amissl_v*.library "/out/$libdir/" | |
| ' | |
| - name: Upload library artifact | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: amissl-zz9000-${{ matrix.platform }} | |
| path: integration/amissl/work/out/*/amissl_v*.library | |
| if-no-files-found: error |