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

Tom Rini trini at konsulko.com
Thu Oct 24 15:38:36 UTC 2019


On Thu, Oct 24, 2019 at 11:31:30PM +0800, Bin Meng wrote:
> On Thu, Oct 24, 2019 at 11:10 PM Bin Meng <bmeng.cn at gmail.com> wrote:
> >
> > 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:
> > >
> 
> Oops, just noticed a typo in the commit summary. Will correct it in v3.
> 
> > > > 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".
> 
> I tried to rename it to ".azure-pipelines.yml", but the Azure
> pipelines does not recognize it.

Did you find the place in the pipeline settings page to change where it
looks?
https://stackoverflow.com/questions/55614307/can-you-change-the-location-of-azure-pipelines-yaml-in-azure-devops
is what I found and why I asked.

> > > > 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.
> 
> Jobs can be paralleled executed. Up to 10 jobs for free.
> 
> > Please see https://docs.microsoft.com/en-us/azure/devops/pipelines/yaml-schema?view=azure-devops&tabs=schema

Right, OK.  I'll pencil in some time to find out if that means we can
really only have 10 job stanzas and if so, figure out what if anything
makes sense to have as an attempt to have another free CI builder for
everything and not just this use-case.

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20191024/3b69f3e3/attachment.sig>


More information about the U-Boot mailing list