[Openvpn-devel,v2] fix GitHub workflow working directories in MinGW builds

Message ID 20220425215822.18569-1-becm@gmx.de
State Accepted
Headers show
Series
  • [Openvpn-devel,v2] fix GitHub workflow working directories in MinGW builds
Related show

Commit Message

Marc Becker April 25, 2022, 9:58 p.m.
replace hardcoded directory names with env variable version info
bump pkcs11-helper version to 1.29.0
bump OpenSSL version to 1.1.1n
add OpenSSL version to cache key
use release file for pkcs11-helper archive
use OpenSSL URL endpoint with all/current versions

Signed-off-by: Marc Becker <becm@gmx.de>
---
 
 fix whitespace (lost during SMTP transfer, retry with base64)
 
 .github/workflows/build.yaml | 36 ++++++++++++++++++------------------
 1 file changed, 18 insertions(+), 18 deletions(-)

Comments

Gert Doering April 26, 2022, 7:53 a.m. | #1
Acked-by: Gert Doering <gert@greenie.muc.de>

Applied (changes look reasonable and simplify future version bumps), and 
verified that everything builds in my GH repo and that it does, indeed, 
build with pkcs11-helper 1.29.0 (.bz2!) and OpenSSL 1.1.1n.

Your patch has been applied to the master branch.

commit 33abca041519b3f72bb6cc3eea81eb987e72d178
Author: Marc Becker
Date:   Mon Apr 25 23:58:22 2022 +0200

     fix GitHub workflow working directories in MinGW builds

     Signed-off-by: Marc Becker <becm@gmx.de>
     Acked-by: Gert Doering <gert@greenie.muc.de>
     Message-Id: <20220425215822.18569-1-becm@gmx.de>
     URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg24202.html
     Signed-off-by: Gert Doering <gert@greenie.muc.de>


--
kind regards,

Gert Doering

Patch

diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml
index fa99e12b..34a9d9b9 100644
--- a/.github/workflows/build.yaml
+++ b/.github/workflows/build.yaml
@@ -19,8 +19,8 @@  jobs:
     env:
       MAKEFLAGS: -j3
       LZO_VERSION: "2.10"
-      PKCS11_HELPER_VERSION: "1.26"
-      OPENSSL_VERSION: "1.1.1j"
+      PKCS11_HELPER_VERSION: "1.29.0"
+      OPENSSL_VERSION: "1.1.1n"
       TAP_WINDOWS_VERSION: "9.23.3"
       CHOST: ${{ matrix.chost }}
       TARGET: ${{ matrix.target }}
@@ -46,20 +46,20 @@  jobs:
         uses: actions/cache@v2
         with:
           path: '~/mingw/'
-          key: ${{ matrix.target }}-mingw-${{ env.LZO_VERSION }}-${{ env.PKCS11_HELPER_VERSION }}-${{ env.TAP_WINDOWS_VERSION }}
+          key: ${{ matrix.target }}-mingw-${{ env.OPENSSL_VERSION }}-${{ env.LZO_VERSION }}-${{ env.PKCS11_HELPER_VERSION }}-${{ env.TAP_WINDOWS_VERSION }}
 
       # Repeating  if: steps.cache.outputs.cache-hit != 'true'
       # on every step for building dependencies is ugly but
       # I haven't found a better solution so far.
 
-      - name: Download mingw depnendencies
+      - name: Download mingw dependencies
         if: steps.cache.outputs.cache-hit != 'true'
         run: |
           wget -c -P download-cache/ "https://build.openvpn.net/downloads/releases/tap-windows-${TAP_WINDOWS_VERSION}.zip"
           wget -c -P download-cache/ "https://www.oberhumer.com/opensource/lzo/download/lzo-${LZO_VERSION}.tar.gz"
-          wget -c -P download-cache/ "https://github.com/OpenSC/pkcs11-helper/archive/pkcs11-helper-${PKCS11_HELPER_VERSION}.tar.gz"
-          wget -c -P download-cache/ "https://www.openssl.org/source/old/1.1.1/openssl-${OPENSSL_VERSION}.tar.gz"
-          tar zxf "download-cache/pkcs11-helper-${PKCS11_HELPER_VERSION}.tar.gz"
+          wget -c -P download-cache/ "https://github.com/OpenSC/pkcs11-helper/releases/download/pkcs11-helper-${PKCS11_HELPER_VERSION}/pkcs11-helper-${PKCS11_HELPER_VERSION}.tar.bz2"
+          wget -c -P download-cache/ "https://www.openssl.org/source/openssl-${OPENSSL_VERSION}.tar.gz"
+          tar jxf "download-cache/pkcs11-helper-${PKCS11_HELPER_VERSION}.tar.bz2"
           tar zxf "download-cache/openssl-${OPENSSL_VERSION}.tar.gz"
           tar zxf "download-cache/lzo-${LZO_VERSION}.tar.gz"
           unzip download-cache/tap-windows-${TAP_WINDOWS_VERSION}.zip
@@ -67,56 +67,56 @@  jobs:
       - name: Configure OpenSSL
         if: steps.cache.outputs.cache-hit != 'true'
         run: ./Configure --cross-compile-prefix=${CHOST}- shared ${{ matrix.target }} no-capieng --prefix="${HOME}/mingw/opt" --openssldir="${HOME}/mingw/opt" -static-libgcc
-        working-directory: "./openssl-1.1.1j"
+        working-directory: "./openssl-${{ env.OPENSSL_VERSION }}"
 
       - name: Build OpenSSL
         if: steps.cache.outputs.cache-hit != 'true'
         run: make
-        working-directory: "./openssl-1.1.1j/"
+        working-directory: "./openssl-${{ env.OPENSSL_VERSION }}"
 
       - name: Install OpenSSL
         if: steps.cache.outputs.cache-hit != 'true'
         run: make install
-        working-directory: "./openssl-1.1.1j/"
+        working-directory: "./openssl-${{ env.OPENSSL_VERSION }}"
 
       - name: autoreconf pkcs11-helper
         if: steps.cache.outputs.cache-hit != 'true'
         run: autoreconf -iv
-        working-directory: "./pkcs11-helper-pkcs11-helper-1.26"
+        working-directory: "./pkcs11-helper-${{ env.PKCS11_HELPER_VERSION }}"
 
       - name: configure pkcs11-helper
         if: steps.cache.outputs.cache-hit != 'true'
         run: OPENSSL_LIBS="-L${HOME}/mingw/opt/lib -lssl -lcrypto" OPENSSL_CFLAGS=-I$HOME/mingw/opt/include PKG_CONFIG_PATH=${HOME}/mingw/opt/lib/pkgconfig ./configure --host=${CHOST} --program-prefix='' --libdir=${HOME}/mingw/opt/lib --prefix=${HOME}/mingw/opt --build=x86_64-pc-linux-gnu --disable-crypto-engine-gnutls --disable-crypto-engine-nss --disable-crypto-engine-polarssl --disable-crypto-engine-mbedtls
-        working-directory: "./pkcs11-helper-pkcs11-helper-1.26"
+        working-directory: "./pkcs11-helper-${{ env.PKCS11_HELPER_VERSION }}"
 
       - name: build pkcs11-helper
         if: steps.cache.outputs.cache-hit != 'true'
         run: make all
-        working-directory: "./pkcs11-helper-pkcs11-helper-1.26"
+        working-directory: "./pkcs11-helper-${{ env.PKCS11_HELPER_VERSION }}"
 
       - name: install pkcs11-helper
         if: steps.cache.outputs.cache-hit != 'true'
         run: make install
-        working-directory: "./pkcs11-helper-pkcs11-helper-1.26"
+        working-directory: "./pkcs11-helper-${{ env.PKCS11_HELPER_VERSION }}"
 
       - name: Configure lzo
         if: steps.cache.outputs.cache-hit != 'true'
         run: ./configure --host=${CHOST} --program-prefix='' --libdir=${HOME}/mingw/opt/lib --prefix=${HOME}/mingw/opt --build=x86_64-pc-linux-gnu
-        working-directory: "./lzo-2.10"
+        working-directory: "./lzo-${{ env.LZO_VERSION }}"
 
       - name: build lzo
         if: steps.cache.outputs.cache-hit != 'true'
-        working-directory: "./lzo-2.10"
+        working-directory: "./lzo-${{ env.LZO_VERSION }}"
         run: make
 
       - name: install lzo
         if: steps.cache.outputs.cache-hit != 'true'
-        working-directory: "./lzo-2.10"
+        working-directory: "./lzo-${{ env.LZO_VERSION }}"
         run: make install
 
       - name: copy tap-windows.h header
         if: steps.cache.outputs.cache-hit != 'true'
-        run: cp ./tap-windows-9.23.3/include/tap-windows.h ${HOME}/mingw/opt/include/
+        run: cp ./tap-windows-${TAP_WINDOWS_VERSION}/include/tap-windows.h ${HOME}/mingw/opt/include/
 
       - name: configure OpenVPN
         run: PKG_CONFIG_PATH=${HOME}/mingw/opt/lib/pkgconfig DCO_SOURCEDIR=$(realpath ../ovpn-dco-win) LDFLAGS=-L$HOME/mingw/opt/lib CFLAGS=-I$HOME/mingw/opt/include OPENSSL_LIBS="-L${HOME}/opt/lib -lssl -lcrypto" OPENSSL_CFLAGS=-I$HOME/mingw/opt/include PREFIX=$HOME/mingw/opt LZO_CFLAGS=-I$HOME/mingw/opt/include LZO_LIBS="-L${HOME}/mingw/opt/lib -llzo2" ./configure  --host=${CHOST} --disable-lz4 --enable-dco