From: Michael Santana <msantana@redhat.com>
To: Serena He <serena.he@arm.com>,
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
Subject: Re: [dpdk-dev] [PATCH v1 1/1] ci: enable DPDK GHA for arm64 with self-hosted runners
Date: Wed, 13 Oct 2021 07:32:11 -0400 [thread overview]
Message-ID: <26f60b25-9c65-4ac1-1f92-b1e83eeef3e9@redhat.com> (raw)
In-Reply-To: <20211013080341.29561-2-serena.he@arm.com>
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 <serena.he@arm.com>
>
> ---
> .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!
> +
>
next prev parent reply other threads:[~2021-10-13 11:32 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-10-13 8:03 [dpdk-dev] [PATCH v1 0/1] " Serena He
2021-10-13 8:03 ` [dpdk-dev] [PATCH v1 1/1] " Serena He
2021-10-13 9:47 ` Thomas Monjalon
2021-10-14 4:20 ` Serena He
2021-10-14 6:36 ` Thomas Monjalon
2021-10-14 8:18 ` Serena He
2021-10-14 8:28 ` Thomas Monjalon
2021-10-13 11:32 ` Michael Santana [this message]
2021-10-14 7:04 ` Serena He
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=26f60b25-9c65-4ac1-1f92-b1e83eeef3e9@redhat.com \
--to=msantana@redhat.com \
--cc=Dean.Arnold@arm.com \
--cc=aconole@redhat.com \
--cc=david.marchand@redhat.com \
--cc=dev@dpdk.org \
--cc=honnappa.nagarahalli@arm.com \
--cc=maicolgabriel@hotmail.com \
--cc=nd@arm.com \
--cc=ruifeng.wang@arm.com \
--cc=serena.he@arm.com \
--cc=stable@dpdk.org \
--cc=thomas@monjalon.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).