11name : ML-KEM Interop Tests
22
33on :
4+ push :
5+ branches : [ 'master', 'main', 'release/**' ]
46 pull_request :
57 branches : [ '*' ]
8+ workflow_dispatch :
69
710concurrency :
811 group : ${{ github.workflow }}-${{ github.ref }}
912 cancel-in-progress : true
1013
1114env :
12- openssh : V_10_2_P1
15+ OS_REF : ubuntu-latest
16+ WOLFSSL_REF : v5.9.1-stable
17+ OPENSSH_REF : V_10_2_P1
1318
1419jobs :
1520 build_wolfssl :
1621 name : Build wolfSSL
1722 runs-on : ubuntu-latest
1823 strategy :
1924 fail-fast : false
20- matrix :
21- wolfssl : [v5.8.4-stable, master]
2225 timeout-minutes : 4
2326 steps :
2427 - name : Checking cache for wolfSSL
2528 uses : actions/cache@v5
2629 id : cache-wolfssl
2730 with :
2831 path : build-dir/
29- key : wolfssh-mlkem-wolfssl-${{ matrix.wolfssl }}
32+ key : wolfssh-mlkem-wolfssl-${{ env.WOLFSSL_REF }}-${{ env.OS_REF }}
3033 lookup-only : true
3134
3235 - name : Checkout, build, and install wolfSSL
3336 if : steps.cache-wolfssl.outputs.cache-hit != 'true'
3437 uses : wolfSSL/actions-build-autotools-project@v1
3538 with :
3639 repository : wolfSSL/wolfssl
37- ref : ${{ matrix.wolfssl }}
40+ ref : ${{ env.WOLFSSL_REF }}
3841 path : wolfssl
3942 configure : --enable-wolfssh --enable-mlkem --enable-ed25519 --enable-ed25519-stream --enable-curve25519 --enable-base64encode --enable-cryptonly --disable-examples --disable-crypttests
4043 check : false
@@ -50,15 +53,15 @@ jobs:
5053 id : cache-openssh
5154 with :
5255 path : build-dir/
53- key : wolfssh-mlkem-openssh-${{ env.openssh }}
56+ key : wolfssh-mlkem-openssh-${{ env.OPENSSH_REF }}
5457 lookup-only : true
5558
56- - name : Checkout, build, and install wolfSSL
59+ - name : Checkout, build, and install OpenSSH
5760 if : steps.cache-openssh.outputs.cache-hit != 'true'
5861 uses : wolfSSL/actions-build-autotools-project@v1
5962 with :
6063 repository : openssh/openssh-portable
61- ref : ${{ env.openssh }}
64+ ref : ${{ env.OPENSSH_REF }}
6265 path : openssh
6366 configure : --with-privsep-path=/tmp/empty
6467 check : false
@@ -70,47 +73,44 @@ jobs:
7073 strategy :
7174 fail-fast : false
7275 matrix :
73- wolfssl : [v5.8.4-stable, master]
7476 config : [
7577 ' ' ,
7678 ' --enable-smallstack' ,
7779 ]
7880 runs-on : ubuntu-latest
7981 timeout-minutes : 4
80- env :
81- build_dir : ${{ github.workspace }}/build-dir
8282 steps :
8383 - name : Checking cache for wolfSSL
8484 uses : actions/cache@v5
8585 with :
8686 path : build-dir/
87- key : wolfssh-mlkem-wolfssl-${{ matrix.wolfssl }}
87+ key : wolfssh-mlkem-wolfssl-${{ env.WOLFSSL_REF }}-${{ env.OS_REF }}
8888 fail-on-cache-miss : true
8989
9090 - name : Checking cache for OpenSSH
9191 uses : actions/cache@v5
9292 with :
9393 path : build-dir/
94- key : wolfssh-mlkem-openssh-${{ env.openssh }}
94+ key : wolfssh-mlkem-openssh-${{ env.OPENSSH_REF }}
9595 fail-on-cache-miss : true
9696
9797 - name : Checkout, build, and test wolfSSH
9898 uses : wolfSSL/actions-build-autotools-project@v1
9999 with :
100100 repository : wolfSSL/wolfssh
101101 path : wolfssh
102- configure : ${{ matrix.config }} --with-wolfssl=${{ env.build_dir }}
102+ configure : ${{ matrix.config }} --with-wolfssl=${{ github.workspace }}/build-dir
103103 check : true
104104
105105 - name : Make test key
106106 working-directory : ./wolfssh/
107107 run : |
108- ${{ env.build_dir }}/bin/ssh-keygen -f $HOME/.ssh/id_ed25519 -N "" -t ed25519
108+ ${{ github.workspace }}/build-dir /bin/ssh-keygen -f $HOME/.ssh/id_ed25519 -N "" -t ed25519
109109 cp $HOME/.ssh/id_ed25519.pub $HOME/.ssh/authorized_keys
110110
111111 - name : Run connect wolfSSH client to OpenSSH server test
112112 working-directory : ./wolfssh/
113113 run : |
114114 mkdir -p /tmp/empty
115- ${{ env.build_dir }}/sbin/sshd -p 22222 -o KbdInteractiveAuthentication=no -o PasswordAuthentication=no -o KexAlgorithms=mlkem768x25519-sha256
115+ ${{ github.workspace }}/build-dir /sbin/sshd -p 22222 -o KbdInteractiveAuthentication=no -o PasswordAuthentication=no -o KexAlgorithms=mlkem768x25519-sha256
116116 ./examples/client/client -u $USER -i $HOME/.ssh/id_ed25519 -j $HOME/.ssh/id_ed25519.pub -c "ls /"
0 commit comments