Hi Michael, thanks for the feedback, and here are some comments below.

> On 10/13/21 4:03 AM, Serena He wrote:
> > CI jobs are triggered only for repos installed with given GHApp and
> > runners
> >
> > Cc: sta...@dpdk.org
> >
> > Signed-off-by: Serena He <serena...@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

Great!

> > @@ -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 :)

Sure, I will add that. 

> > +
> > +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?

GitHub APPs are integrations with the GitHub APIs and this one provided here 
will send requests for arm-based runners from AWS cloud. Document will be 
provided along with the APP to make better understanding after release. 
DPDK/dpdk and ovsrobot/dpdk are both whitelisted to use.

> > +    if: ${{ github.repository == 'DPDK/dpdk' || github.repository ==
> 'ovsrobot/dpdk' }}
[...]
> > +    - 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?

All these caching stuff is in consistence with the build workflow on GitHub 
provided runners, so should be needed.

Reply via email to