From patchwork Tue Aug 23 03:42:18 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Timo Rothenpieler X-Patchwork-Id: 2715 Return-Path: Delivered-To: patchwork@openvpn.net Delivered-To: patchwork@openvpn.net Received: from director13.mail.ord1d.rsapps.net ([172.30.191.6]) by backend30.mail.ord1d.rsapps.net with LMTP id APC5GX7ZBGMKYgAAIUCqbw (envelope-from ) for ; Tue, 23 Aug 2022 09:43:26 -0400 Received: from proxy14.mail.ord1d.rsapps.net ([172.30.191.6]) by director13.mail.ord1d.rsapps.net with LMTP id 6FWAGX7ZBGMcdgAA91zNiA (envelope-from ) for ; Tue, 23 Aug 2022 09:43:26 -0400 Received: from smtp3.gate.ord1d ([172.30.191.6]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) by proxy14.mail.ord1d.rsapps.net with LMTPS id 2J0vGX7ZBGPVSwAAtEH5vw (envelope-from ) for ; Tue, 23 Aug 2022 09:43:26 -0400 X-Spam-Threshold: 95 X-Spam-Score: 0 X-Spam-Flag: NO X-Virus-Scanned: OK X-Orig-To: openvpnslackdevel@openvpn.net X-Originating-Ip: [216.105.38.7] Authentication-Results: smtp3.gate.ord1d.rsapps.net; iprev=pass policy.iprev="216.105.38.7"; spf=pass smtp.mailfrom="openvpn-devel-bounces@lists.sourceforge.net" smtp.helo="lists.sourceforge.net"; dkim=fail (signature verification failed) header.d=sourceforge.net; dkim=fail (signature verification failed) header.d=sf.net; dkim=fail (signature verification failed) header.d=rothenpieler.org; dmarc=fail (p=none; dis=none) header.from=rothenpieler.org X-Suspicious-Flag: YES X-Classification-ID: 8fe086c2-22e9-11ed-8b53-5254006d4589-1-1 Received: from [216.105.38.7] ([216.105.38.7:40480] helo=lists.sourceforge.net) by smtp3.gate.ord1d.rsapps.net (envelope-from ) (ecelerity 4.2.38.62370 r(:)) with ESMTPS (cipher=DHE-RSA-AES256-GCM-SHA384) id 6A/BA-30582-D79D4036; Tue, 23 Aug 2022 09:43:26 -0400 Received: from [127.0.0.1] (helo=sfs-ml-2.v29.lw.sourceforge.com) by sfs-ml-2.v29.lw.sourceforge.com with esmtp (Exim 4.95) (envelope-from ) id 1oQUAr-00036O-LC; Tue, 23 Aug 2022 13:42:33 +0000 Received: from [172.30.20.202] (helo=mx.sourceforge.net) by sfs-ml-2.v29.lw.sourceforge.com with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.95) (envelope-from ) id 1oQUAq-00036E-7q for openvpn-devel@lists.sourceforge.net; Tue, 23 Aug 2022 13:42:32 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sourceforge.net; s=x; h=Content-Transfer-Encoding:MIME-Version:References: In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender:Reply-To:Content-Type: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=02MB0T3sbg5DeadKhfmP9fMo/1uea/hB3iU3bxmK6tc=; b=WrK54Oa+FAXKLck7UIeroC9mOc KfbxjCkKKI0NELfxv8LdMVdkhFtfCekZQXs06OO/I1fOJsvtf5CoQeT+oAI30bVE1ALv2I6TbphL6 AAeWoUxxyCoKjuZfneT49jxNuUBB/R1czwCp/MZJNhSS8EEO4Lww0bErTf1KWkjnGL4c=; DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sf.net; s=x ; h=Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-Id: Date:Subject:Cc:To:From:Sender:Reply-To:Content-Type:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=02MB0T3sbg5DeadKhfmP9fMo/1uea/hB3iU3bxmK6tc=; b=gl8W9EXtngOPEe4oaZVFMcu++8 z84FX5ceo3+PtCFVuO6o5STTP4x21QXn53xdhKs9NnGqPY0RLd+vHc5HWrHa7B8I0EMkTpsMeg4E+ XpigoL3ovTP0KxxXoO6k5h3xz9ZOnc6sFVfg6g63f446DxhrV8OpJ7diHkhSmQcTXapI=; Received: from btbn.de ([136.243.74.85]) by sfi-mx-1.v28.lw.sourceforge.com with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.95) id 1oQUAm-00ELXA-AN for openvpn-devel@lists.sourceforge.net; Tue, 23 Aug 2022 13:42:32 +0000 Received: from [authenticated] by btbn.de (Postfix) with ESMTPSA id 05C443A6ECB; Tue, 23 Aug 2022 15:42:22 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rothenpieler.org; s=mail; t=1661262142; bh=02MB0T3sbg5DeadKhfmP9fMo/1uea/hB3iU3bxmK6tc=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=Jh1GKjheAaLVjhrDNDRUKm1tlq2DG9fg3Zrko5qXZz+i83N5SN9+OPKFqbWNJVU/m wjIRUgCm7oKsMKE0k/PGFx+pP9TzWITmFRVLthsj/HPH8sk22bJLdvbtf1gM3jHdQ2 EyyqGiEi3fQpcukZs0UQz2wyCWBrjlIf2w7xdc6J6NfMrrxk5oVndVJSArWkMUn9Bz AtD04iXS2jJaw4BEA89OzK7ueyBirZGCjdOo78kGYU/DPv78srnY6VP5lRalQ7FdrT bMMFPdKKWIFS2BJoQnxrc+5VkZ1xwifwY30JL8Z6mkmKw08zr1yirRcF8q+bhq0m7N HmUepqi+wMbUw== From: Timo Rothenpieler To: openvpn-devel@lists.sourceforge.net Date: Tue, 23 Aug 2022 15:42:18 +0200 Message-Id: <20220823134218.895-1-timo@rothenpieler.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220823120902.738-1-timo@rothenpieler.org> References: <20220823120902.738-1-timo@rothenpieler.org> MIME-Version: 1.0 X-Spam-Report: Spam detection software, running on the system "util-spamd-1.v13.lw.sourceforge.com", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: The ubuntu-18.04 base image is deprecated and in the process of being phased out: https://github.blog/changelog/2022-08-09-github-actions-the-ubuntu-18-04-actions-runner-image-is-being-deprecated-and- [...] Content analysis details: (-0.2 points, 6.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 SPF_HELO_PASS SPF: HELO matches SPF record -0.0 SPF_PASS SPF: sender matches SPF record 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from envelope-from domain -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature X-Headers-End: 1oQUAm-00ELXA-AN Subject: [Openvpn-devel] [PATCH v2] GitHub Actions: Use Docker Images for Ubuntu test runs X-BeenThere: openvpn-devel@lists.sourceforge.net X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: openvpn-devel-bounces@lists.sourceforge.net X-getmail-retrieved-from-mailbox: Inbox The ubuntu-18.04 base image is deprecated and in the process of being phased out: https://github.blog/changelog/2022-08-09-github-actions-the-ubuntu-18-04-actions-runner-image-is-being-deprecated-and-will-be-removed-by-12-1-22/ It is already causing build failures during the scheduled periods mentioned in the blog post. This is the best alternative I found which does not drop any tests or test environments. Sadly GHAs build-in container-capabilities can't be used, since they don't allow specifying --network host. Without that, IPv6 related tests fail, since the Docker deployment on GHA does not support IPv6, even in 2022: https://github.com/actions/runner-images/issues/668 So instead this manually invokes docker to run the tests in the respective Ubuntu Docker-Image. Some dependencies had to be added since the Docker-Images are more barebones than the Github-Runner images. Otherwise, nothing about the test setup changed. --- Was missing DEBIAN_FRONTEND=noninteractive .github/workflows/build.yaml | 43 ++++++++++++++++++++---------------- 1 file changed, 24 insertions(+), 19 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index b0f67a78..53662120 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -162,79 +162,84 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-18.04, ubuntu-20.04, ubuntu-22.04] + img: ["ubuntu:18.04", "ubuntu:20.04", "ubuntu:22.04"] sslpkg: [libmbedtls-dev] ssllib: [mbedtls] libname: [mbed TLS] include: - - os: ubuntu-18.04 + - img: "ubuntu:18.04" sslpkg: "libssl1.0-dev" ssllib: openssl libname: OpenSSL 1.0.2 - - os: ubuntu-18.04 + - img: "ubuntu:18.04" sslpkg: "libssl-dev" libname: OpenSSL 1.1.1 ssllib: openssl - - os: ubuntu-20.04 + - img: "ubuntu:20.04" sslpkg: "libssl-dev" libname: OpenSSL 1.1.1 ssllib: openssl - - os: ubuntu-22.04 + - img: "ubuntu:22.04" sslpkg: "libssl-dev" libname: OpenSSL 3.0.2 ssllib: openssl - - os: ubuntu-20.04 + - img: "ubuntu:20.04" sslpkg: "libssl-dev" libname: OpenSSL 1.1.1 ssllib: openssl extraconf: "--enable-iproute2" - - os: ubuntu-20.04 + - img: "ubuntu:20.04" sslpkg: "libssl-dev" libname: OpenSSL 1.1.1 ssllib: openssl extraconf: "--enable-async-push" - - os: ubuntu-20.04 + - img: "ubuntu:20.04" sslpkg: "libssl-dev" libname: OpenSSL 1.1.1 ssllib: openssl extraconf: "--disable-management" - - os: ubuntu-20.04 + - img: "ubuntu:20.04" sslpkg: "libssl-dev" libname: OpenSSL 1.1.1 ssllib: openssl extraconf: "--enable-small" - - os: ubuntu-20.04 + - img: "ubuntu:20.04" sslpkg: "libssl-dev" libname: OpenSSL 1.1.1 ssllib: openssl extraconf: "--disable-lzo --disable-lz4" - - os: ubuntu-20.04 + - img: "ubuntu:20.04" sslpkg: "libssl-dev" libname: OpenSSL 1.1.1 ssllib: openssl extraconf: "--enable-dco" nlpkg: "libnl-genl-3-dev" - name: "gcc - ${{matrix.os}} - ${{matrix.libname}} ${{matrix.extraconf}}" + name: "gcc - ${{matrix.img}} - ${{matrix.libname}} ${{matrix.extraconf}}" env: SSLPKG: "${{matrix.sslpkg}}" NLPKG: "${{matrix.nlpkg}}" - runs-on: ${{matrix.os}} + runs-on: ubuntu-latest steps: - - name: Install dependencies - run: sudo apt update && sudo apt install -y liblzo2-dev libpam0g-dev liblz4-dev libcap-ng-dev linux-libc-dev man2html libcmocka-dev python3-docutils libtool automake autoconf ${SSLPKG} ${NLPKG} - name: Checkout OpenVPN uses: actions/checkout@v3 + - name: Setup Container + run: docker run --name ovpn --detach --rm --cap-add NET_ADMIN --network host -v "$PWD:/wd" --workdir=/wd "${{matrix.img}}" sleep 3600 + - name: Install dependencies + run: docker exec ovpn -e DEBIAN_FRONTEND=noninteractive sh -c "apt update && apt install -y liblzo2-dev libpam0g-dev liblz4-dev libcap-ng-dev linux-libc-dev man2html libcmocka-dev python3-docutils build-essential pkgconf libtool automake autoconf iproute2 git ${SSLPKG} ${NLPKG}" - name: autoconf - run: autoreconf -fvi + run: docker exec ovpn autoreconf -fvi - name: configure - run: ./configure --with-crypto-library=${{matrix.ssllib}} ${{matrix.extraconf}} --enable-werror + run: docker exec ovpn ./configure --with-crypto-library=${{matrix.ssllib}} ${{matrix.extraconf}} --enable-werror - name: make all - run: make -j3 + run: docker exec ovpn make -j3 - name: make check - run: make check + run: docker exec ovpn make check + - name: Docker Cleanup + if: always() + run: docker kill ovpn || true ubuntu-clang-asan: strategy: