1+ trigger :
2+ branches :
3+ exclude :
4+ # master branch publishes releases - avoid merges triggering a new release
5+ - master
6+
17schedules :
28- cron : " 0 4 * * *"
39 displayName : Nightly build at 0400 UTC
@@ -26,6 +32,7 @@ stages:
2632 jobs :
2733 - job : build_toolchain
2834 displayName : Build toolchain
35+ timeoutInMinutes : 0
2936 strategy :
3037 matrix :
3138 linux_x86_64 :
@@ -34,9 +41,6 @@ stages:
3441 osx :
3542 ARCH : darwin
3643 vm_image : macOS-10.15
37- # win64:
38- # ARCH: windows_amd64
39- # vm_image: vs2017-win2016
4044 pool :
4145 vmImage : ' $(vm_image)'
4246 steps :
@@ -53,6 +57,54 @@ stages:
5357 name : build_toolchain
5458 - publish : _packages/build_$(ARCH)/fpga-toolchain-$(ARCH)-$(RELEASE_TAG).tar.gz
5559 artifact : fpga-toolchain-$(ARCH)-$(RELEASE_TAG)
60+ - job : build_toolchain_windows_amd64
61+ displayName : Build toolchain windows_amd64
62+ timeoutInMinutes : 0
63+ pool :
64+ vmImage : vs2017-win2016
65+ variables :
66+ ARCH : windows_amd64
67+ MINGW_ARCH : x86_64
68+ steps :
69+ - powershell : |
70+ Set-MpPreference -DisableArchiveScanning $true
71+ Set-MpPreference -DisableRealtimeMonitoring $true
72+ Set-MpPreference -DisableBehaviorMonitoring $true
73+ - download : current
74+ artifact : ecp5-bba
75+ - bash : |
76+ RELEASE_TAG=nightly-$(date +'%Y%m%d')
77+ # create pipeline variable
78+ echo "##vso[task.setvariable variable=RELEASE_TAG]$RELEASE_TAG"
79+ - script : copy $(Pipeline.Workspace)\ecp5-bba\ecp5-bba-linux_x86_64-nightly.tar.gz $(Build.Repository.LocalPath)\chipdb.tar.gz
80+ displayName : Copy BBA artifact
81+ - script : |
82+ set MSYS_ROOT=%CD:~0,2%\msys64
83+ echo ##vso[task.setvariable variable=MSYS_ROOT]%MSYS_ROOT%
84+ git clone https://github.com/msys2/msys2-ci-base.git %MSYS_ROOT%
85+ %MSYS_ROOT%\usr\bin\rm -rf %MSYS_ROOT%\.git
86+ displayName: Install MSYS2
87+ - script : |
88+ set PATH=%MSYS_ROOT%\usr\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem
89+ %MSYS_ROOT%\usr\bin\pacman --noconfirm -Syyuu
90+ displayName: Update MSYS2
91+ - script : |
92+ set PATH=%MSYS_ROOT%\usr\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem
93+ %MSYS_ROOT%\usr\bin\pacman --noconfirm --needed -S git base-devel mingw-w64-x86_64-toolchain mingw-w64-x86_64-cmake
94+ %MSYS_ROOT%\usr\bin\pacman --noconfirm -Scc
95+ displayName: Install Toolchain
96+ - script : |
97+ set PATH=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem
98+ %MSYS_ROOT%\usr\bin\sed -i "s|#CacheDir.*|CacheDir=/c/Users/%USERNAME%/AppData/Local/Temp|g" /etc/pacman.conf
99+ set MSYS=winsymlinks:nativestrict
100+ %MSYS_ROOT%\msys2_shell.cmd -defterm -no-start -mingw64 -full-path -here -c "./build.sh windows_amd64"
101+ displayName: CI-Build
102+ env:
103+ MSYSTEM: MINGW64
104+ CHERE_INVOKING: yes
105+ MINGW_INSTALLS: mingw64
106+ - publish : _packages/build_$(ARCH)/fpga-toolchain-$(ARCH)-$(RELEASE_TAG).zip
107+ artifact : fpga-toolchain-$(ARCH)-$(RELEASE_TAG)
56108
57109- stage : publish_release
58110 displayName : publish release
0 commit comments