1616 required : false
1717 type : boolean
1818 default : false
19- build_packages :
20- required : false
21- type : boolean
22- default : false
2319
2420jobs :
2521 build_wolfprovider :
@@ -38,29 +34,103 @@ jobs:
3834 steps :
3935 # Install git prior to cloning to ensure we have the full repo
4036 # TODO: create a docker with these pre-installed
41- - name : Install common dependencies
37+ - name : Install build dependencies
4238 run : |
4339 apt-get update && apt-get install -y --no-install-recommends \
40+ git \
4441 build-essential \
45- devscripts \
4642 debhelper \
43+ devscripts \
44+ dpkg-dev \
45+ dh-exec \
4746 dh-autoreconf \
48- libtool \
4947 pkg-config \
50- git \
51- wget \
52- curl \
48+ autoconf \
49+ automake \
5350 ca-certificates \
5451 openssl \
55- dpkg-dev \
56- lintian \
57- fakeroot \
58- dh-exec \
59- equivs \
60- expect \
61- xxd \
62- bc \
63- libdistro-info-perl
52+ libtool
53+
54+ # Download pre-built packages from debs branch
55+ - name : Checkout debs branch
56+ uses : actions/checkout@v4
57+ with :
58+ repository : wolfSSL/wolfProvider
59+ ref : debs
60+ sparse-checkout : |
61+ fips
62+ nonfips
63+ openssl
64+ sparse-checkout-cone-mode : false
65+ path : debs
66+
67+ - name : Setup packages from debs branch
68+ run : |
69+ mkdir -p ${{ env.WOLFSSL_PACKAGES_PATH }}
70+ mkdir -p ${{ env.OPENSSL_PACKAGES_PATH }}
71+
72+ echo "Available packages in debs branch:"
73+ ls -la debs/
74+
75+ # Copy packages based on build type
76+ if [ "${{ inputs.fips_ref }}" = "FIPS" ]; then
77+ if [ -d "debs/fips" ] && [ "$(ls -A debs/fips/*.deb 2>/dev/null)" ]; then
78+ echo "Copying FIPS wolfSSL packages..."
79+ cp debs/fips/*.deb ${{ env.WOLFSSL_PACKAGES_PATH }}/
80+ else
81+ echo "ERROR: No FIPS packages found in debs branch"
82+ exit 1
83+ fi
84+ else
85+ if [ -d "debs/nonfips" ] && [ "$(ls -A debs/nonfips/*.deb 2>/dev/null)" ]; then
86+ echo "Copying non-FIPS wolfSSL packages..."
87+ cp debs/nonfips/*.deb ${{ env.WOLFSSL_PACKAGES_PATH }}/
88+ else
89+ echo "ERROR: No non-FIPS packages found in debs branch"
90+ exit 1
91+ fi
92+ fi
93+ # Copy OpenSSL packages
94+ if [ -d "debs/openssl" ] && [ "$(ls -A debs/openssl/*.deb 2>/dev/null)" ]; then
95+ echo "Copying OpenSSL packages..."
96+ cp debs/openssl/*.deb ${{ env.OPENSSL_PACKAGES_PATH }}/
97+ else
98+ echo "WARNING: No OpenSSL packages found in debs branch"
99+ fi
100+
101+ echo ""
102+ echo "Packages ready for installation:"
103+ echo "wolfSSL packages:"
104+ ls -la ${{ env.WOLFSSL_PACKAGES_PATH }}
105+ echo ""
106+ echo "OpenSSL packages:"
107+ ls -la ${{ env.OPENSSL_PACKAGES_PATH }}
108+
109+ - name : Install OpenSSL and wolfSSL packages
110+ run : |
111+ echo "Installing OpenSSL and wolfSSL packages (${{ inputs.fips_ref }})..."
112+
113+ # Install OpenSSL packages first
114+ if [ -n "$(ls -A ${{ env.OPENSSL_PACKAGES_PATH }}/*.deb 2>/dev/null)" ]; then
115+ echo "Installing OpenSSL packages..."
116+ dpkg -i ${{ env.OPENSSL_PACKAGES_PATH }}/*.deb || true
117+ fi
118+ # Install wolfSSL packages
119+ if [ -n "$(ls -A ${{ env.WOLFSSL_PACKAGES_PATH }}/*.deb 2>/dev/null)" ]; then
120+ echo "Installing wolfSSL packages..."
121+ dpkg -i ${{ env.WOLFSSL_PACKAGES_PATH }}/*.deb || true
122+ fi
123+
124+ # Fix any dependency issues
125+ apt-get install -f -y
126+
127+ echo ""
128+ echo "Packages installed successfully:"
129+ echo "OpenSSL:"
130+ dpkg -l | grep openssl || echo " No OpenSSL packages found"
131+ echo ""
132+ echo "wolfSSL:"
133+ dpkg -l | grep wolfssl || echo " No wolfSSL packages found"
64134
65135 - name : Checkout wolfProvider
66136 uses : actions/checkout@v4
@@ -79,22 +149,33 @@ jobs:
79149 git remote add upstream https://github.com/wolfSSL/wolfProvider.git || true
80150 git fetch upstream --tags --no-recurse-submodules
81151
82- - name : Install wolfSSL
152+ - name : Build wolfProvider
83153 run : |
84- $GITHUB_WORKSPACE/debian/install-wolfssl.sh --tag ${{ inputs.wolfssl_ref }} ${{ env.WOLFSSL_PACKAGES_PATH }}
154+ echo "Building ${{ inputs.fips_ref }} wolfProvider..."
155+ WOLFSSL_TAG=${{ inputs.wolfssl_ref }} OPENSSL_TAG=${{ inputs.openssl_ref }} \
156+ yes "Y" | $GITHUB_WORKSPACE/scripts/build-wolfprovider.sh --debian \
157+ ${{ inputs.fips_ref == 'FIPS' && '--enable-fips' || '' }} \
158+ ${{ inputs.replace_default && '--replace-default' || '' }}
85159
86- - name : Install OpenSSL
160+ - name : Setup packages directory
87161 run : |
88- $GITHUB_WORKSPACE/debian/install-openssl.sh ${{ inputs.replace_default && '--replace-default' || '' }} ${{ env.OPENSSL_PACKAGES_PATH }}
162+ mkdir -p ${{ env.WOLFPROV_PACKAGES_PATH }}
163+
164+ # Copy wolfProvider packages (built in previous step)
165+ cp $GITHUB_WORKSPACE/../libwolfprov*.deb ${{ env.WOLFPROV_PACKAGES_PATH }}
166+ cp $GITHUB_WORKSPACE/../libwolfprov*.dsc ${{ env.WOLFPROV_PACKAGES_PATH }}
167+ cp $GITHUB_WORKSPACE/../libwolfprov*.tar.gz ${{ env.WOLFPROV_PACKAGES_PATH }}
89168
90- - name : Install wolfProvider
91- run : |
92- $GITHUB_WORKSPACE/debian/install-wolfprov.sh ${{ env.WOLFPROV_PACKAGES_PATH }}
93-
94- - name : List packages directories
95- run : |
169+ # Note: OpenSSL and wolfSSL packages already copied from debs branch earlier
170+
171+ printf "Listing packages directory:\n"
172+ echo "wolfProvider packages:"
96173 ls -la ${{ env.WOLFPROV_PACKAGES_PATH }}
174+ echo ""
175+ echo "wolfSSL packages:"
97176 ls -la ${{ env.WOLFSSL_PACKAGES_PATH }}
177+ echo ""
178+ echo "OpenSSL packages:"
98179 ls -la ${{ env.OPENSSL_PACKAGES_PATH }}
99180
100181 # Save all packages as artifacts for consumers
0 commit comments