]> git.ipfire.org Git - thirdparty/openssl.git/commitdiff
Add workflow to do nightly build of interop container and push to quay
authorNeil Horman <nhorman@openssl.org>
Mon, 5 Aug 2024 20:52:06 +0000 (16:52 -0400)
committerNeil Horman <nhorman@openssl.org>
Fri, 16 Aug 2024 18:34:08 +0000 (14:34 -0400)
Reviewed-by: Kurt Roeckx <kurt@roeckx.be>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/25091)

.github/workflows/build_quic_interop_container.yml [new file with mode: 0644]
interop/quic-openssl-docker/Dockerfile
interop/quic-openssl-docker/README.md
interop/quic-openssl-docker/run_endpoint.sh

diff --git a/.github/workflows/build_quic_interop_container.yml b/.github/workflows/build_quic_interop_container.yml
new file mode 100644 (file)
index 0000000..be6596c
--- /dev/null
@@ -0,0 +1,25 @@
+name: "Build openssl interop container from master"
+
+on:
+  schedule:
+    - cron:  '20 0 * * *'
+  workflow_dispatch:
+
+jobs:
+  update_quay_container:
+    runs-on: ubuntu-latest
+    steps:
+      - uses: actions/checkout@v4
+        with:
+         fetch-depth: 0
+      - name: "log in to quay.io"
+        run: |
+          docker login -u openssl-ci+machine -p ${{ secrets.QUAY_IO_PASSWORD }} quay.io
+      - name: "Build container"
+        run: |
+          cd interop/quic-openssl-docker/
+          docker build -t quay.io/openssl-ci/openssl-quic-interop:latest .
+      - name: "Push to quay"
+        run: |
+          docker push quay.io/openssl-ci/openssl-quic-interop:latest
+
index c35c0f80b827d2511d4959bb712985c3ee8229d4..57bf25c30e766797e1a7e64bc1683175512abee0 100644 (file)
@@ -10,28 +10,30 @@ RUN apt-get update && apt-get install -y \
     git make gcc perl cmake build-essential \
     autoconf libtool pkg-config libpsl-dev
 
+WORKDIR /
+
 # build nghttp3
 RUN git clone https://github.com/ngtcp2/nghttp3.git && \
     cd nghttp3 && \
     git submodule update --init && \
     autoreconf -i && \
     ./configure --prefix=/usr && \
-    make -j check && \
+    make -j check && \
     make install && \
-    rm -rf nghttp3
+    rm -rf /nghttp3
 
 # download and build openssl 
 RUN git clone https://github.com/openssl/openssl.git && \
     cd openssl && \
     ./Configure enable-fips no-docs --prefix=/usr --openssldir=/etc/pki/tls && \
-    make -j && make install && \
-    rm -rf openssl
+    make -j && make install && \
+    rm -rf /openssl
 
 # Build curl
 RUN git clone https://github.com/curl/curl.git && \
     cd curl && \
     autoreconf -fi && ./configure --with-openssl-quic --with-openssl --with-nghttp3 --prefix=/usr && \
-    make -j && \
+    make -j && \
     make install && \
     rm -rf /curl
 
index ff5a55834f11412328a178cadf3197f0b75772b4..097710d057624019c881ce3ec9bd7b3d1528f41b 100644 (file)
@@ -7,7 +7,7 @@ Overview
 --------
 
 This Dockerfile builds a container for use with the
-[QUIC working group interop testing facility](https://interop.seemann.io/?run=2024-08-05T08:30)
+[QUIC working group interop testing facility](https://interop.seemann.io/)
 It can also be used locally to test QUIC interoperability via the
 [QUIC interop runner](https://github.com/quic-interop/quic-interop-runner)
 Please see instructions there for running local interop testing
index c9ecd668f72a61a87218649e06008fe5c0bc409a..b6af9d3ec14df1498314bba0b28bc20f57ac81f5 100644 (file)
@@ -1,5 +1,7 @@
 #!/bin/bash
 
+set -euxo pipefail
+
 CURLRC=~/testcase_curlrc
 
 # Set up the routing needed for the simulation
@@ -83,5 +85,8 @@ if [ "$ROLE" == "client" ]; then
 elif [ "$ROLE" == "server" ]; then
     echo "UNSUPPORTED"
     exit 127
+else
+    echo "Unknown ROLE $ROLE"
+    exit 127
 fi