[dpdk-dev] [PATCH v2 1/2] ci: hook to GitHub Actions

Ferruh Yigit ferruh.yigit at intel.com
Fri Dec 11 21:07:38 CET 2020


On 12/4/2020 5:36 PM, David Marchand wrote:
> With the recent changes in terms of free access to the Travis CI, let's
> offer an alternative with GitHub Actions.
> Running jobs on ARM is not supported unless using external runners, so
> this commit only adds builds for x86_64 and cross compiling for i386 and
> aarch64.
> 
> Differences with the Travis CI integration:
> - Error logs are not dumped to the console when something goes wrong.
>    Instead, they are gathered in a "catch-all" step and attached as
>    artifacts.
> - A cache entry is stored once and for all, but if no cache is found you
>    can inherit from the default branch cache. The cache is 5GB large, for
>    the whole git repository.
> - The maximum retention of logs and artifacts is 3 months.
> - /home/runner is world writable, so a workaround has been added for
>    starting dpdk processes.
> - Ilya, working on OVS GHA support, noticed that jobs can run with
>    processors that don't have the same capabilities. For DPDK, this
>    impacts the ccache content since everything was built with
>    -march=native so far, and we will end up with binaries that can't run
>    in a later build. The problem has not been seen in Travis CI (?) but
>    it is safer to use a fixed "-Dmachine=default" in any case.
> - Scheduling jobs is part of the configuration and takes the form of a
>    crontab. A build is scheduled every Monday at 0:00 (UTC) to provide a
>    default ccache for the week (useful for the ovsrobot).
> 
> Signed-off-by: David Marchand <david.marchand at redhat.com>
> ---
> Changelog since v1:
> - changed shell variables value in CI scripts and Travis configuration
>    (s/=[^\$]*1/=\1true), this makes it easier for GHA,
> - forced compilation as 'default' to avoid random unit tests issues in
>    GHA,
> - scheduled a run per week on Monday at 0:00 UTC,
> - updated the ccache key:
>    - no need to depend on the default-library parameter since this
>      parameter only impacts the linking of dpdk binaries,
>    - the week when the cache is generated is added so that jobs in
>      other branches can benefit from a recent cache (mimicking what we had
>      for the robot in Travis),
> - realigned documentation generation with what is done in Travis:
>    generating the doc in all jobs was a waste of resources,
> 

For series,
Tested-by: Ferruh Yigit <ferruh.yigit at intel.com>

Confirmed that ABI check script is detecting issues, in the absence of the 
Travis checks I am for having this alternative.


More information about the dev mailing list