
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-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.
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!