From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 274EDA0C55; Wed, 13 Oct 2021 13:32:17 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id DB41C410DA; Wed, 13 Oct 2021 13:32:16 +0200 (CEST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by mails.dpdk.org (Postfix) with ESMTP id 1033A40E64 for ; Wed, 13 Oct 2021 13:32:15 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1634124735; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=TX3pgv6QzE1Q7w5HfWSX6UTXOQh1lfG8D5NE6QL6SnQ=; b=JRNFP8Cnikc1AM0aBV2Z+HajKgucxFp9Or6HiMH1PEUVPbV3dMrP1s7ngJU8q5rwuoT9sM uxqHiKX0VONFuGMxgDQ2NK/I0yTi4elDfXv5qmsBR8Y0JP6UCWWy0grMvD+o8ahMwtfF3N WXqBh9g0Kot49wtEyKMExo6VSa4YGvc= Received: from mail-qk1-f200.google.com (mail-qk1-f200.google.com [209.85.222.200]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-575-4LIOdB_NPHGVvuhPVeUDUA-1; Wed, 13 Oct 2021 07:32:13 -0400 X-MC-Unique: 4LIOdB_NPHGVvuhPVeUDUA-1 Received: by mail-qk1-f200.google.com with SMTP id y8-20020a05620a09c800b0045f77ea0f98so1562533qky.23 for ; Wed, 13 Oct 2021 04:32:13 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=TX3pgv6QzE1Q7w5HfWSX6UTXOQh1lfG8D5NE6QL6SnQ=; b=D49l0KlzJ+yn+1ugOcQP/4RdNBWqzJCmOmM+zS8BHz015INspT/cILMLtgsP12cxFd HZJiZ9umH2Qx9Kzh3VwGl1WCpwsXV49U7Z2lnWqrW8bwTcWsEJj+BF89Q9fDjJWWZ4iY uhORu+y5/MwnkYA2ESscRxQU7rBjpvoe1Clnc1szqkbj5uuuGp5zPXEsDKa/ON+CSCLC WGfR+a3H3/au9Vp4azjELiPVPTb6HeTJd80tHC3aP0nWrNQ+UaMq59gqkEjPdLCwYexq 8o9h188/zJzSNwnhyefR+S2Bqx8iAeUcp7sSqKLOvTALIE32gufO5UDfA2K8iUBYXqIW RZEw== X-Gm-Message-State: AOAM533kkLQzqv6q3eupUiWLCdkQUvPQoxCpBoIG7JFX4r36M5X4QPtw qo7hm17mJZqxEnRP8WsRXruPU/EbzXe8alv734FvpqBe7KaPWGDMR50GkJ7sULmOIw0sN1wNJsF JQp8= X-Received: by 2002:a37:b586:: with SMTP id e128mr25028611qkf.43.1634124732930; Wed, 13 Oct 2021 04:32:12 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwcJohFMEs37wCTo4rPbPtGRaZsovmo5du0euJKfnwpYwzjvt1YEbSlhz1jbjeqg08BZ9IowQ== X-Received: by 2002:a37:b586:: with SMTP id e128mr25028587qkf.43.1634124732679; Wed, 13 Oct 2021 04:32:12 -0700 (PDT) Received: from [10.0.0.122] (c-73-60-151-108.hsd1.ma.comcast.net. [73.60.151.108]) by smtp.gmail.com with ESMTPSA id m6sm7943600qti.38.2021.10.13.04.32.11 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 13 Oct 2021 04:32:12 -0700 (PDT) To: Serena He , aconole@redhat.com, maicolgabriel@hotmail.com, david.marchand@redhat.com, thomas@monjalon.net Cc: dev@dpdk.org, nd@arm.com, honnappa.nagarahalli@arm.com, ruifeng.wang@arm.com, Dean.Arnold@arm.com, stable@dpdk.org References: <20211013080341.29561-1-serena.he@arm.com> <20211013080341.29561-2-serena.he@arm.com> From: Michael Santana Message-ID: <26f60b25-9c65-4ac1-1f92-b1e83eeef3e9@redhat.com> Date: Wed, 13 Oct 2021 07:32:11 -0400 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 MIME-Version: 1.0 In-Reply-To: <20211013080341.29561-2-serena.he@arm.com> Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=msantana@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Subject: Re: [dpdk-dev] [PATCH v1 1/1] ci: enable DPDK GHA for arm64 with self-hosted runners X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On 10/13/21 4:03 AM, Serena He wrote: > CI jobs are triggered only for repos installed with given GHApp and runners > > Cc: stable@dpdk.org > > Signed-off-by: Serena He > > --- > .github/workflows/build-arm64.yml | 118 ++++++++++++++++++++++++++++++ > 1 file changed, 118 insertions(+) > create mode 100644 .github/workflows/build-arm64.yml > > diff --git a/.github/workflows/build-arm64.yml b/.github/workflows/build-arm64.yml > new file mode 100644 > index 0000000000..570563f7c8 > --- /dev/null > +++ b/.github/workflows/build-arm64.yml Adding a new workflow should work on our 0-day-bot. We now support having multiple workflows so this looks good > @@ -0,0 +1,118 @@ > +name: build-arm64 > + > +on: > + push: > + schedule: > + - cron: '0 0 * * 1' nit: Please add a comment for when this is scheduled so we dont have to do cron math :) > + > +defaults: > + run: > + shell: bash --noprofile --norc -exo pipefail {0} > + > +jobs: > + build: > + # Here, runners for arm64 are accessed by installed GitHub APP, thus will not be available by fork. > + # you can change the following 'if' and 'runs-on' if you have your own runners installed. > + # or request to get your repo on the whitelist to use GitHub APP and delete this 'if'. I think I understand. I think you mean s/GitHub APP/GitHub/ . otherwise I dont know what that is. From my understanding you had to request special arm-based runners from github Are DPDK/dpdk and ovsrobot/dpdk whitelisted to use the arm-based runners? Maybe there was a thread about this in the past that I missed, but where and how do you get these arm-based runners from github? > + if: ${{ github.repository == 'DPDK/dpdk' || github.repository == 'ovsrobot/dpdk' }} > + name: ${{ join(matrix.config.*, '-') }} > + runs-on: ${{ matrix.config.os }} > + env: > + ABI_CHECKS: ${{ contains(matrix.config.checks, 'abi') }} > + BUILD_DOCS: ${{ contains(matrix.config.checks, 'doc') }} > + CL: ${{ matrix.config.compiler == 'clang' }} > + CC: ccache ${{ matrix.config.compiler }} > + DEF_LIB: ${{ matrix.config.library }} > + LIBABIGAIL_VERSION: libabigail-1.8 > + REF_GIT_TAG: none > + > + strategy: > + fail-fast: false > + matrix: > + config: > + - os: [self-hosted,arm-ubuntu-20.04] > + compiler: gcc > + library: static > + - os: [self-hosted,arm-ubuntu-20.04] > + compiler: gcc > + library: shared > + checks: doc+tests > + - os: [self-hosted,arm-ubuntu-20.04] > + compiler: clang > + library: static > + - os: [self-hosted,arm-ubuntu-20.04] > + compiler: clang > + library: shared > + checks: doc+tests > + > + steps: > + - name: Checkout sources > + uses: actions/checkout@v2 > + - name: Generate cache keys > + id: get_ref_keys > + run: | > + echo -n '::set-output name=ccache::' > + echo 'ccache-${{ matrix.config.os }}-${{ matrix.config.compiler }}-${{ matrix.config.cross }}-'$(date -u +%Y-w%W) > + echo -n '::set-output name=libabigail::' > + echo 'libabigail-${{ matrix.config.os }}' > + echo -n '::set-output name=abi::' > + echo 'abi-${{ matrix.config.os }}-${{ matrix.config.compiler }}-${{ matrix.config.cross }}-${{ env.LIBABIGAIL_VERSION }}-${{ env.REF_GIT_TAG }}' > + - name: Retrieve ccache cache > + uses: actions/cache@v2 > + with: > + path: ~/.ccache > + key: ${{ steps.get_ref_keys.outputs.ccache }}-${{ github.ref }} > + restore-keys: | > + ${{ steps.get_ref_keys.outputs.ccache }}-refs/heads/main > + - name: Retrieve libabigail cache > + id: libabigail-cache > + uses: actions/cache@v2 > + if: env.ABI_CHECKS == 'true' > + with: > + path: libabigail > + key: ${{ steps.get_ref_keys.outputs.libabigail }} > + - name: Retrieve ABI reference cache > + uses: actions/cache@v2 > + if: env.ABI_CHECKS == 'true' > + with: > + path: reference > + key: ${{ steps.get_ref_keys.outputs.abi }} > + - name: Update APT cache > + run: sudo apt update || true > + - name: Install packages > + run: sudo apt install -y ccache libnuma-dev python3-setuptools > + python3-wheel python3-pip python3-pyelftools ninja-build libbsd-dev > + libpcap-dev libibverbs-dev libcrypto++-dev libfdt-dev libjansson-dev > + libarchive-dev zlib1g-dev pkgconf > + - name: Install libabigail build dependencies if no cache is available > + if: env.ABI_CHECKS == 'true' && steps.libabigail-cache.outputs.cache-hit != 'true' > + run: sudo apt install -y autoconf automake libtool pkg-config libxml2-dev > + libdw-dev Lots of caching stuff. All of it needed? > + > + - name: Install test tools packages > + run: sudo apt install -y gdb > + - name: Install doc generation packages > + if: env.BUILD_DOCS == 'true' > + run: sudo apt install -y doxygen graphviz python3-sphinx > + python3-sphinx-rtd-theme > + - name: Run setup > + run: | > + .ci/linux-setup.sh > + # Workaround on $HOME permissions as EAL checks them for plugin loading > + chmod o-w $HOME > + - name: Install clang > + if: env.CL == 'true' > + run: sudo apt install -y clang > + - name: Build and test > + run: .ci/linux-build.sh > + - name: Upload logs on failure > + if: failure() > + uses: actions/upload-artifact@v2 > + with: > + name: meson-logs-${{ join(matrix.config.*, '-') }} > + path: | > + build/meson-logs/testlog.txt > + build/.ninja_log > + build/meson-logs/meson-log.txt > + build/gdb.log LGTM! > + >