
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@gmail.com wrote:
Hi Tom,
On Thu, Oct 24, 2019 at 11:38 PM Tom Rini trini@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@gmail.com wrote:
Hi Tom,
On Thu, Oct 24, 2019 at 11:01 PM Tom Rini trini@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-unlim... > > Signed-off-by: Bin Meng bmeng.cn@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-... 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=azu...
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!