From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bin Meng Date: Fri, 25 Oct 2019 13:52:33 +0800 Subject: [U-Boot] [PATCH v2 8/8] Add Micirosoft Azure pipelines configuration In-Reply-To: <20191024153836.GM11173@bill-the-cat> References: <1571886712-24514-1-git-send-email-bmeng.cn@gmail.com> <1571886712-24514-9-git-send-email-bmeng.cn@gmail.com> <20191024150110.GL11173@bill-the-cat> <20191024153836.GM11173@bill-the-cat> Message-ID: List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit To: u-boot@lists.denx.de Hi Tom, On Thu, Oct 24, 2019 at 11:38 PM Tom Rini 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 wrote: > > > > > > Hi Tom, > > > > > > On Thu, Oct 24, 2019 at 11:01 PM Tom Rini 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 > > > > > > > > > > --- > > > > > 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. Regards, Bin