[U-Boot] [PATCH v2 8/8] Add Micirosoft Azure pipelines configuration

Bin Meng bmeng.cn at gmail.com
Thu Oct 24 15:10:23 UTC 2019


Hi Tom,

On Thu, Oct 24, 2019 at 11:01 PM Tom Rini <trini at konsulko.com> wrote:
>
> On Wed, Oct 23, 2019 at 08:11:52PM -0700, Bin Meng wrote:
>
> > Microsoft Azure Pipelines provides unlimited CI/CD minutes and 10
> > parallel jobs to every open source project for free [1].
> >
> > This adds a configuration file for Azure Pipelines to utilize the
> > free Windows VM hosted by Microsoft to ensure no build broken in
> > building U-Boot host tools for Windows.
> >
> > [1] https://azure.microsoft.com/en-us/blog/announcing-azure-pipelines-with-unlimited-ci-cd-minutes-for-open-source/
> >
> > Signed-off-by: Bin Meng <bmeng.cn at gmail.com>
> >
> > ---
> > See the build result at:
> > https://dev.azure.com/bmeng/GitHub/_build/results?buildId=53
> >
> > Changes in v2:
> > - new patch: Add Micirosoft Azure pipelines configuration
> >
> >  azure-pipelines.yml | 35 +++++++++++++++++++++++++++++++++++
> >  1 file changed, 35 insertions(+)
> >  create mode 100644 azure-pipelines.yml
>
> Thanks a lot for doing this.  I'm starting to look at what's needed so
> that I can also run this automatically and perhaps evaluate it for other
> uses in U-Boot as well.  One thing I would like to change is that it
> looks like under pipeline settings we can specify the file and I'd like
> to call this ".azure-pipelines.yml" instead to match travis/gitlab
> files.

I named this as I see examples from other open source projects have
such a name. Let me try ".azure-pipelines.yml".

>
> > diff --git a/azure-pipelines.yml b/azure-pipelines.yml
> > new file mode 100644
> > index 0000000..cc0514b
> > --- /dev/null
> > +++ b/azure-pipelines.yml
> > @@ -0,0 +1,35 @@
> > +jobs:
> > +  - job: tools_only_windows
> > +    displayName: 'Ensure host tools build for Windows'
> > +    pool:
> > +      vmImage: vs2015-win2012r2
> > +    strategy:
> > +      matrix:
> > +        i686:
> > +          MSYS_DIR: msys32
> > +          BASE_REPO: msys2-ci-base-i686
> > +        x86_64:
> > +          MSYS_DIR: msys64
> > +          BASE_REPO: msys2-ci-base
> > +    steps:
> > +      - script: |
> > +          git clone https://github.com/msys2/$(BASE_REPO).git %CD:~0,2%\$(MSYS_DIR)
> > +        displayName: 'Install MSYS2'
> > +      - script: |
> > +          set PATH=%CD:~0,2%\$(MSYS_DIR)\usr\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem
> > +          %CD:~0,2%\$(MSYS_DIR)\usr\bin\pacman --noconfirm -Syyuu
> > +        displayName: 'Update MSYS2'
> > +      - script: |
> > +          set PATH=%CD:~0,2%\$(MSYS_DIR)\usr\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem
> > +          %CD:~0,2%\$(MSYS_DIR)\usr\bin\pacman --noconfirm --needed -S make gcc bison diffutils openssl-devel
> > +        displayName: 'Install Toolchain'
> > +      - script: |
> > +          set PATH=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem
> > +          echo make tools-only_defconfig tools-only NO_SDL=1 > build-tools.sh
> > +          %CD:~0,2%\$(MSYS_DIR)\usr\bin\bash -lc "bash build-tools.sh"
> > +        displayName: 'Build Host Tools'
> > +        env:
> > +          # Tell MSYS2 we need a POSIX emulation layer
> > +          MSYSTEM: MSYS
> > +          # Tell MSYS2 not to ‘cd’ our startup directory to HOME
> > +          CHERE_INVOKING: yes
>
> While I start understanding overall syntax, is this particular style one
> that would allow us to add in more jobs, like say all of the ones we do
> in GitLab, and in that staged fashion (do all of the testsuites, then
> test.py runs then world build)?  Thanks!

Yes, it supports concepts like pipeline / stage / job. A pipeline is
composed of stages, and only when the first stage finishes can the
second stage start. A stage is composed of jobs.
Please see https://docs.microsoft.com/en-us/azure/devops/pipelines/yaml-schema?view=azure-devops&tabs=schema

Regards,
Bin


More information about the U-Boot mailing list