authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2018-11-04 16:24:46-05:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2018-11-04 22:32:59-05:00
logc2df9236c4c322573e481afa81a127cde26d9db9
tree48a4a5fc1df8c00d8cb71bbce4597fb14a004b9a
parent5d014d4b3775783b2f4dc991b827c298369d066a
signature Commit is signed but in an unrecognized format.

ci: use azure for all CI

* appveyor and travis are removed * add a job to update the download page when all targets pass. closes #1046

17 files changed, 190 insertions(+), 141 deletions(-)

.travis.yml deleted-22
...@@ -1,22 +0,0 @@
1sudo: required
2services:
3- docker
4os:
5- linux
6- osx
7dist: trusty
8osx_image: xcode8.3
9language: cpp
10before_install:
11- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then ci/travis_linux_before_install; fi
12- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then ci/travis_osx_before_install; fi
13install:
14- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then ci/travis_linux_install; fi
15- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then ci/travis_osx_install; fi
16script:
17- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then ci/travis_linux_script; fi
18- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then ci/travis_osx_script; fi
19env:
20 global:
21 - secure: QmJ+eLOxj3Irl5SHxt6lQvrj7++1AIz8bYri6RScAQGHQPIztkmbpBjAkpFgYaWPkZ04ROtamFXdS7oHtJHSECesgPoqM/CHIychQkgpDq30+TsFyYbBpDGHY+N6r2WnQTvg+9EuAp6P365us6qFS0D5zQ3P40c56uMbazFu3J4W1HZP+pLWlLjEXaN88ePhHWqNZyvwGMkLpYl3ghcrE9H4vGZQ7jenRW4UmskLEkuhUPJbQiow3Td8arJiRmLVISzWqneqNraLUpGyUVr4F3Rbjzacfoo3r9ZZynhY0mFsEye82x6TMGgH2xsNGkd91zpQuckWUT+pQv/G6FXpnEnjIJSO2Z5WAxXrx6xB1k2HZ17/4NWLF3fJVhdQJm3mS6odeGzUjgGrl1A42evxU+7VbcofEJq1aMiLgU1jUT2pt+pefCwmKJYLpEsSzuyrVxgvskQz0QpC053TAYSNf2Jj6Qhg9YDWyOeemYmDgffTqErF7AYhc6NKH0s0XKkIiNFSxorkEsfG/Ck1o+15slHNmWZXlmXToxDqFkLDoPvfGKg7koU5YTGvci/F9ZKb1juhGLxZbwap/18zN40BqA+Ip2yDBJAKxsIiwSjSIguy6g/Z1I50s0xNGOr36urfRRQX5H+rqr/xCZ63B6WSe6qBcZboWAQMDn8HLS9Xiwc=
22 - secure: dnb7r5guUeMOX9e7XlPUSZzmga8VW3G9Q1aa7LxEKiTjSnWhu5KpPDe8o1X3Rj6nc5iXDqmBH/C/7eNXPDyXJJWPvpE2YRpGymyUkRaakul0QBKJEaMvwy2SuAfS69CWC+TSzfGRvtSYkdpBhhLvs0h5S819S5jYbCNSCmOKfFucaP5NsHNIZ/I19oIeTPTa0/UnVm7DLFZXZjvbS+czkdyH1DhbT85sLj+XqNTzLePImE68efrjaHnlSy/CzBVJzj55UgD5i9fxNCQWzGWim/SD5xZ0zKtLycSOf6wQN2lCo0lkjw9rDlYz69mM5L9ikfYL9oHDPZnh84oXKglQ5miOHCgqs/qs4439I05lIu8i/EfbFA55YG4NyO3rL9YVOOt5gwiwvJYhDcnkVVzSl0o5bsoZgQfYvPWaIQKNkl3C53zfDQjgqS54CeDzlZpFrQTDQ1RrH8oeVC1gfYAeMabMDadox5rfZmLIN5JTf/F8iD/QdxGcoUvkEENcQgfP9PnubExtexgHGsEmqbm6ORSZ1MkEh2m3fo0f8KE6TbN1UigmcQ8nTkWBHsSmfHnB8HwJQp8mwQmDamXA+Hl3e3w4LOdYkJVlNW1/TTyJJOOvjMQCjF8SJmPHuh+QpqKbSaT9XM/vBhxbIZEufH8kawJKCBBcCNspGMNjhXfNjM0=
ci/appveyor/after_build.bat deleted-17
...@@ -1,17 +0,0 @@
1@echo on
2cd %APPVEYOR_BUILD_FOLDER%
3
4build-msvc-release\bin\zig.exe version >version.txt
5set /p ZIGVERSION=<version.txt
6appveyor UpdateBuild -Version "%ZIGVERSION%"
7SET "RELEASEDIR=zig-%ZIGVERSION%"
8mkdir "%RELEASEDIR%"
9move build-msvc-release\bin\zig.exe "%RELEASEDIR%"
10move build-msvc-release\lib "%RELEASEDIR%"
11move zig-cache\langref.html "%RELEASEDIR%"
12move LICENSE "%RELEASEDIR%"
13
14SET "RELEASEZIP=zig-%ZIGVERSION%.zip"
15
167z a "%RELEASEZIP%" "%RELEASEDIR%"
17appveyor PushArtifact "%RELEASEZIP%"
ci/appveyor/appveyor.yml deleted-9
...@@ -1,9 +0,0 @@
1image: Visual Studio 2017
2platform:
3 - x64
4build_script:
5 - '%APPVEYOR_BUILD_FOLDER%\ci\appveyor\build_script.bat'
6after_build:
7 - '%APPVEYOR_BUILD_FOLDER%\ci\appveyor\after_build.bat'
8cache:
9 - 'llvm+clang-7.0.0-win64-msvc-release.tar.xz'
ci/appveyor/build_script.bat deleted-26
...@@ -1,26 +0,0 @@
1@echo on
2cd %APPVEYOR_BUILD_FOLDER%
3SET "PREVPATH=%PATH%"
4SET "PREVMSYSEM=%MSYSTEM%"
5
6SET "PATH=C:\msys64\mingw64\bin;C:\msys64\usr\bin;%PATH%"
7SET "MSYSTEM=MINGW64"
8SET "APPVEYOR_CACHE_ENTRY_ZIP_ARGS=-m0=Copy"
9
10bash -lc "cd ${APPVEYOR_BUILD_FOLDER} && if [ -s ""llvm+clang-7.0.0-win64-msvc-release.tar.xz"" ]; then echo 'skipping LLVM download'; else wget 'https://s3.amazonaws.com/ziglang.org/deps/llvm%%2bclang-7.0.0-win64-msvc-release.tar.xz'; fi && tar xf llvm+clang-7.0.0-win64-msvc-release.tar.xz" || exit /b
11
12
13SET "PATH=%PREVPATH%"
14SET "MSYSTEM=%PREVMSYSTEM%"
15SET "ZIGBUILDDIR=%APPVEYOR_BUILD_FOLDER%\build-msvc-release"
16SET "ZIGPREFIXPATH=%APPVEYOR_BUILD_FOLDER%\llvm+clang-7.0.0-win64-msvc-release"
17
18call "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x64
19call "C:\Program Files (x86)\Microsoft Visual Studio 15.0\VC\vcvarsall.bat" x86_amd64
20
21mkdir %ZIGBUILDDIR%
22cd %ZIGBUILDDIR%
23cmake.exe .. -Thost=x64 -G"Visual Studio 15 2017 Win64" "-DCMAKE_INSTALL_PREFIX=%ZIGBUILDDIR%" "-DCMAKE_PREFIX_PATH=%ZIGPREFIXPATH%" -DCMAKE_BUILD_TYPE=Release || exit /b
24msbuild /p:Configuration=Release INSTALL.vcxproj || exit /b
25
26bin\zig.exe build --build-file ..\build.zig test -Dskip-release || exit /b
ci/azure/linux_script created+40
...@@ -0,0 +1,40 @@
1#!/bin/sh
2
3set -x
4set -e
5
6BUILDDIR="$(pwd)"
7
8sudo sh -c 'echo "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-7 main" >> /etc/apt/sources.list'
9wget -O - http://apt.llvm.org/llvm-snapshot.gpg.key|sudo apt-key add -
10sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
11sudo apt-get update -q
12
13sudo apt-get remove -y llvm-*
14sudo rm -rf /usr/local/*
15sudo apt-get install -y libxml2-dev libclang-7-dev llvm-7 llvm-7-dev cmake s3cmd gcc-7 g++-7
16
17export CC=gcc-7
18export CXX=g++-7
19mkdir build
20cd build
21cmake .. -DCMAKE_BUILD_TYPE=Release
22make -j2 install
23./zig build --build-file ../build.zig test
24
25if [ "${BUILD_REASON}" != "PullRequest" ]; then
26 ARTIFACTSDIR="$BUILDDIR/artifacts"
27 mkdir "$ARTIFACTSDIR"
28 docker run -i --mount type=bind,source="$ARTIFACTSDIR",target=/z ziglang/static-base:llvm7-1 -j2 $BUILD_SOURCEVERSION
29 TARBALL="$(ls $ARTIFACTSDIR)"
30 mv "$DOWNLOADSECUREFILE_SECUREFILEPATH" "$HOME/.s3cfg"
31 s3cmd put -P "$ARTIFACTSDIR/$TARBALL" s3://ziglang.org/builds/
32 touch empty
33 s3cmd put -P empty s3://ziglang.org/builds/zig-linux-x86_64-$BUILD_SOURCEBRANCHNAME.tar.xz --add-header="Cache-Control: max-age=0, must-revalidate" --add-header=x-amz-website-redirect-location:/builds/$TARBALL
34
35 SHASUM=$(sha256sum $ARTIFACTSDIR/$TARBALL)
36 BYTESIZE=$(wc -c < $ARTIFACTSDIR/$TARBALL)
37 echo "##vso[task.setvariable variable=tarball;isOutput=true]$TARBALL"
38 echo "##vso[task.setvariable variable=shasum;isOutput=true]$SHASUM"
39 echo "##vso[task.setvariable variable=bytesize;isOutput=true]$BYTESIZE"
40fi
ci/azure/macos_script+6
...@@ -95,4 +95,10 @@ if [ "${BUILD_REASON}" != "PullRequest" ]; then...@@ -95,4 +95,10 @@ if [ "${BUILD_REASON}" != "PullRequest" ]; then
95 s3cmd put -P "$TARBALL" s3://ziglang.org/builds/95 s3cmd put -P "$TARBALL" s3://ziglang.org/builds/
96 touch empty96 touch empty
97 s3cmd put -P empty s3://ziglang.org/builds/zig-macos-x86_64-$BUILD_SOURCEBRANCHNAME.tar.xz --add-header="Cache-Control: max-age=0, must-revalidate" --add-header="x-amz-website-redirect-location:/builds/$TARBALL"97 s3cmd put -P empty s3://ziglang.org/builds/zig-macos-x86_64-$BUILD_SOURCEBRANCHNAME.tar.xz --add-header="Cache-Control: max-age=0, must-revalidate" --add-header="x-amz-website-redirect-location:/builds/$TARBALL"
98
99 SHASUM=$(sha256sum $TARBALL)
100 BYTESIZE=$(wc -c < $TARBALL)
101 echo "##vso[task.setvariable variable=tarball;isOutput=true]$TARBALL"
102 echo "##vso[task.setvariable variable=shasum;isOutput=true]$SHASUM"
103 echo "##vso[task.setvariable variable=bytesize;isOutput=true]$BYTESIZE"
98fi104fi
ci/azure/pipelines.yml+58-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1jobs:1jobs:
2- job: Build2- job: BuildMacOS
3 pool:3 pool:
4 vmImage: 'macOS 10.13'4 vmImage: 'macOS 10.13'
55
...@@ -10,4 +10,60 @@ jobs:...@@ -10,4 +10,60 @@ jobs:
10 inputs:10 inputs:
11 secureFile: s3cfg11 secureFile: s3cfg
12 - script: ci/azure/macos_script12 - script: ci/azure/macos_script
13 displayName: 'macOS build and test'13 name: main
14 displayName: 'Build and test'
15- job: BuildLinux
16 pool:
17 vmImage: 'ubuntu-16.04'
18
19 timeoutInMinutes: 360
20
21 steps:
22 - task: DownloadSecureFile@1
23 inputs:
24 secureFile: s3cfg
25 - script: ci/azure/linux_script
26 name: main
27 displayName: 'Build and test'
28- job: BuildWindows
29 pool:
30 vmImage: 'vs2017-win2016'
31
32 timeoutInMinutes: 360
33
34 steps:
35 - script: |
36 git clone https://github.com/lazka/msys2-ci-base.git %CD:~0,2%\msys64
37 %CD:~0,2%\msys64\usr\bin\rm -rf %CD:~0,2%\msys64\.git
38 set PATH=%CD:~0,2%\msys64\usr\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem
39 %CD:~0,2%\msys64\usr\bin\pacman --noconfirm -Syyuu
40 displayName: Install and Update MSYS2
41 - task: DownloadSecureFile@1
42 inputs:
43 secureFile: s3cfg
44 - script: ci/azure/windows_script.bat
45 name: main
46 displayName: 'Build and test'
47- job: UpdateDownloadPage
48 dependsOn:
49 - BuildMacOS
50 - BuildLinux
51 - BuildWindows
52 condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/master'))
53 pool:
54 vmImage: 'ubuntu-16.04'
55 variables:
56 macos_tarball: $[ dependencies.BuildMacOS.outputs['main.tarball'] ]
57 macos_shasum: $[ dependencies.BuildMacOS.outputs['main.shasum'] ]
58 macos_bytesize: $[ dependencies.BuildMacOS.outputs['main.bytesize'] ]
59 linux_tarball: $[ dependencies.BuildLinux.outputs['main.tarball'] ]
60 linux_shasum: $[ dependencies.BuildLinux.outputs['main.shasum'] ]
61 linux_bytesize: $[ dependencies.BuildLinux.outputs['main.bytesize'] ]
62 windows_tarball: $[ dependencies.BuildWindows.outputs['main.tarball'] ]
63 windows_shasum: $[ dependencies.BuildWindows.outputs['main.shasum'] ]
64 windows_bytesize: $[ dependencies.BuildWindows.outputs['main.bytesize'] ]
65 - task: DownloadSecureFile@1
66 inputs:
67 secureFile: s3cfg
68 - script: ci/azure/update_download_page
69 displayName: 'Update download page'
ci/azure/update_download_page created+20
...@@ -0,0 +1,20 @@
1#!/bin/sh
2
3set -x
4set -e
5
6cd "$HOME"
7wget "https://ziglang.org/builds/$LINUX_TARBALL"
8tar xf $LINUX_TARBALL
9rm $LINUX_TARBALL
10ZIG="$(ls zig-*)/zig"
11LANGREF="$(ls zig-*)/langref.html"
12
13git clone https://github.com/ziglang/www.ziglang.org --depth 1
14cd www.ziglang.org
15export MASTER_DATE=$(date +%Y-%m-%d)
16"$ZIG" run update-download-page.zig
17
18mv "$DOWNLOADSECUREFILE_SECUREFILEPATH" "$HOME/.s3cfg"
19s3cmd put -P "$LANGREF" s3://ziglang.org/documentation/master/index.html --add-header="Cache-Control: max-age=0, must-revalidate"
20s3cmd put -P www/download/index.html s3://ziglang.org/download/index.html --add-header="Cache-Control: max-age=0, must-revalidate"
ci/azure/windows_install created+9
...@@ -0,0 +1,9 @@
1#!/bin/sh
2
3set -x
4set -e
5
6pacman -S --needed --noconfirm wget zip python3-pip
7pip install s3cmd
8wget "https://ziglang.org/deps/llvm%2bclang-7.0.0-win64-msvc-release.tar.xz"
9tar xf llvm+clang-7.0.0-win64-msvc-release.tar.xz
ci/azure/windows_script.bat created+27
...@@ -0,0 +1,27 @@
1@echo on
2SET "SRCROOT=%cd%"
3SET "PREVPATH=%PATH%"
4SET "PREVMSYSEM=%MSYSTEM%"
5
6set "PATH=%CD:~0,2%\msys64\usr\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem"
7SET "MSYSTEM=MINGW64"
8bash -lc "cd ${SRCROOT} && ci/azure/windows_install" || exit /b
9SET "PATH=%PREVPATH%"
10SET "MSYSTEM=%PREVMSYSTEM%"
11
12SET "ZIGBUILDDIR=%SRCROOT%\build"
13SET "ZIGINSTALLDIR=%ZIGBUILDDIR%\release"
14SET "ZIGPREFIXPATH=%SRCROOT%\llvm+clang-7.0.0-win64-msvc-release"
15
16call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x64
17
18mkdir %ZIGBUILDDIR%
19cd %ZIGBUILDDIR%
20cmake.exe .. -Thost=x64 -G"Visual Studio 15 2017 Win64" "-DCMAKE_INSTALL_PREFIX=%ZIGINSTALLDIR%" "-DCMAKE_PREFIX_PATH=%ZIGPREFIXPATH%" -DCMAKE_BUILD_TYPE=Release || exit /b
21msbuild /p:Configuration=Release INSTALL.vcxproj || exit /b
22
23"%ZIGINSTALLDIR%\bin\zig.exe" build --build-file ..\build.zig test || exit /b
24
25set "PATH=%CD:~0,2%\msys64\usr\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem"
26SET "MSYSTEM=MINGW64"
27bash -lc "cd ${SRCROOT} && ci/azure/windows_upload" || exit /b
ci/azure/windows_upload created+30
...@@ -0,0 +1,30 @@
1#!/bin/sh
2
3set -x
4set -e
5
6if [ "${BUILD_REASON}" != "PullRequest" ]; then
7 cd "$ZIGBUILDDIR"
8
9 mv ../LICENSE release/
10 mv ../zig-cache/langref.html release/
11 mv release/bin/zig.exe release/
12 rmdir release/bin
13
14 VERSION=$(release/zig.exe version)
15 DIRNAME="zig-windows-x86_64-$VERSION"
16 TARBALL="$DIRNAME.zip"
17 mv release "$DIRNAME"
18 zip -r "$TARBALL" "$DIRNAME"
19
20 mv "$DOWNLOADSECUREFILE_SECUREFILEPATH" "$HOME/.s3cfg"
21 s3cmd put -P "$TARBALL" s3://ziglang.org/builds/
22 touch empty
23 s3cmd put -P empty s3://ziglang.org/builds/zig-windows-x86_64-$BUILD_SOURCEBRANCHNAME.tar.xz --add-header="Cache-Control: max-age=0, must-revalidate" --add-header="x-amz-website-redirect-location:/builds/$TARBALL"
24
25 SHASUM=$(sha256sum $TARBALL)
26 BYTESIZE=$(wc -c < $TARBALL)
27 echo "##vso[task.setvariable variable=tarball;isOutput=true]$TARBALL"
28 echo "##vso[task.setvariable variable=shasum;isOutput=true]$SHASUM"
29 echo "##vso[task.setvariable variable=bytesize;isOutput=true]$BYTESIZE"
30fi
ci/travis_linux_before_install deleted-8
...@@ -1,8 +0,0 @@
1#!/bin/sh
2
3set -x
4
5sudo sh -c 'echo "deb http://apt.llvm.org/trusty/ llvm-toolchain-trusty-7 main" >> /etc/apt/sources.list'
6wget -O - http://apt.llvm.org/llvm-snapshot.gpg.key|sudo apt-key add -
7sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
8sudo apt-get update -q
ci/travis_linux_install deleted-7
...@@ -1,7 +0,0 @@
1#!/bin/sh
2
3set -x
4
5sudo apt-get remove -y llvm-*
6sudo rm -rf /usr/local/*
7sudo apt-get install -y libxml2-dev libclang-7-dev llvm-7 llvm-7-dev cmake s3cmd gcc-7 g++-7
ci/travis_linux_script deleted-26
...@@ -1,26 +0,0 @@
1#!/bin/sh
2
3set -x
4set -e
5
6export CC=gcc-7
7export CXX=g++-7
8echo $PATH
9mkdir build
10cd build
11cmake .. -DCMAKE_BUILD_TYPE=Release
12make -j2 install
13./zig build --build-file ../build.zig test -Dskip-release-small
14
15if [ "${TRAVIS_PULL_REQUEST}" = "false" ]; then
16 mkdir $TRAVIS_BUILD_DIR/artifacts
17 docker run -it --mount type=bind,source="$TRAVIS_BUILD_DIR/artifacts",target=/z ziglang/static-base:llvm7-1 -j2 $TRAVIS_COMMIT
18 echo "access_key = $AWS_ACCESS_KEY_ID" >> ~/.s3cfg
19 echo "secret_key = $AWS_SECRET_ACCESS_KEY" >> ~/.s3cfg
20 s3cmd put -P $TRAVIS_BUILD_DIR/artifacts/* s3://ziglang.org/builds/
21 touch empty
22 s3cmd put -P empty s3://ziglang.org/builds/zig-linux-x86_64-$TRAVIS_BRANCH.tar.xz --add-header="Cache-Control: max-age=0, must-revalidate" --add-header=x-amz-website-redirect-location:/builds/$(ls $TRAVIS_BUILD_DIR/artifacts)
23 if [ "${TRAVIS_BRANCH}" = "master" ]; then
24 s3cmd put -P ../zig-cache/langref.html s3://ziglang.org/documentation/master/index.html --add-header="Cache-Control: max-age=0, must-revalidate"
25 fi
26fi
ci/travis_osx_before_install deleted-5
...@@ -1,5 +0,0 @@
1#!/bin/sh
2
3set -x
4
5brew update
ci/travis_osx_install deleted-7
...@@ -1,7 +0,0 @@
1#!/bin/sh
2
3set -x
4
5brew install llvm@7
6brew outdated llvm@7 || brew upgrade llvm@7
7
ci/travis_osx_script deleted-12
...@@ -1,12 +0,0 @@
1#!/bin/sh
2
3set -x
4set -e
5
6mkdir build
7cd build
8cmake .. -DCMAKE_PREFIX_PATH=/usr/local/opt/llvm@7/ -DCMAKE_BUILD_TYPE=Release
9make VERBOSE=1
10make install
11
12./zig build --build-file ../build.zig test -Dskip-release-small