From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bin Meng Date: Thu, 24 Oct 2019 23:10:23 +0800 Subject: [U-Boot] [PATCH v2 8/8] Add Micirosoft Azure pipelines configuration In-Reply-To: <20191024150110.GL11173@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> 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:01 PM Tom Rini 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 > > > > --- > > 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