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

Tom Rini trini at konsulko.com
Sat Oct 26 12:32:26 UTC 2019


On Sat, Oct 26, 2019 at 08:12:22PM +0800, Bin Meng wrote:
> Hi Tom,
> 
> On Fri, Oct 25, 2019 at 1:52 PM Bin Meng <bmeng.cn at gmail.com> wrote:
> >
> > Hi Tom,
> >
> > On Thu, Oct 24, 2019 at 11:38 PM Tom Rini <trini at konsulko.com> wrote:
> > >
> > > 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.
> >
> > Thanks. I followed this link and now it is able to accept
> > ".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.
> > > >
> > > > 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.
> 
> I enabled all CI testing in the Azure Pipeline. It took about 2 hour
> and 15 minutes for a complete run. I think it can be used as a backup.
> 
> See https://dev.azure.com/bmeng/GitHub/_build/results?buildId=104
> 
> There is still one build error I need fix. Please have a look.

Can you please post the full pipeline yaml file?  Thanks!

-- 
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/20191026/4fe1cc04/attachment.sig>


More information about the U-Boot mailing list