|
@@ -0,0 +1,531 @@
|
|
|
+variables:
|
|
|
+ - group: variables-haxe
|
|
|
+ - name: AZURE_PIPELINES_REPO_URL
|
|
|
+ value: $(Build.Repository.Uri)
|
|
|
+ - name: AZURE_PIPELINES_BRANCH
|
|
|
+ value: $(Build.SourceBranchName)
|
|
|
+
|
|
|
+stages:
|
|
|
+ - stage: BuildAndTest
|
|
|
+ jobs:
|
|
|
+ - job: BuildLinux
|
|
|
+ pool:
|
|
|
+ vmImage: 'ubuntu-16.04'
|
|
|
+ variables:
|
|
|
+ OPAMYES: 1
|
|
|
+ ADD_REVISION: 1
|
|
|
+ steps:
|
|
|
+ - checkout: self
|
|
|
+ submodules: recursive
|
|
|
+ - script: |
|
|
|
+ set -ex
|
|
|
+ sudo add-apt-repository ppa:avsm/ppa -y # provides newer version of OCaml and OPAM
|
|
|
+ sudo apt-get update -qqy
|
|
|
+ sudo apt-get install -qqy ocaml-nox camlp4-extra opam libpcre3-dev zlib1g-dev libgtk2.0-dev ninja-build
|
|
|
+ displayName: Install dependencies
|
|
|
+ - script: |
|
|
|
+ set -ex
|
|
|
+ unset MACHINE RELEASE SYSTEM VERSION # https://marc.info/?l=gentoo-commits&m=155026142713994
|
|
|
+ mkdir $HOME/neko
|
|
|
+ pushd $HOME/neko
|
|
|
+ git clone --recursive https://github.com/HaxeFoundation/neko.git .
|
|
|
+ cmake . -DSTATIC_DEPS=all -G Ninja
|
|
|
+ ninja download_static_deps || ninja download_static_deps || ninja download_static_deps
|
|
|
+ ninja
|
|
|
+ sudo ninja install
|
|
|
+ popd
|
|
|
+ displayName: Install Neko
|
|
|
+ - script: |
|
|
|
+ set -ex
|
|
|
+ opam init
|
|
|
+ opam update
|
|
|
+ opam pin add haxe . --no-action
|
|
|
+ opam install haxe --deps-only
|
|
|
+ opam list
|
|
|
+ ocamlopt -v
|
|
|
+ displayName: Install OCaml libraries
|
|
|
+ - script: |
|
|
|
+ set -ex
|
|
|
+ opam config exec -- make -s STATICLINK=1 libs
|
|
|
+ opam config exec -- make -s STATICLINK=1 prebuild
|
|
|
+ opam config exec -- make -s -j`nproc` STATICLINK=1 haxe
|
|
|
+ opam config exec -- make -s haxelib
|
|
|
+ make -s package_bin
|
|
|
+ ls -l out
|
|
|
+ ldd -v ./haxe
|
|
|
+ ldd -v ./haxelib
|
|
|
+ displayName: Build Haxe
|
|
|
+ - task: PublishPipelineArtifact@0
|
|
|
+ inputs:
|
|
|
+ artifactName: 'linuxBinaries'
|
|
|
+ targetPath: out
|
|
|
+ - script: |
|
|
|
+ set -ex
|
|
|
+ make -s xmldoc
|
|
|
+ cat >extra/doc/info.json <<EOL
|
|
|
+ {
|
|
|
+ "commit": "$(Build.SourceVersion)",
|
|
|
+ "branch": "$(Build.SourceBranchName)"
|
|
|
+ }
|
|
|
+ EOL
|
|
|
+ displayName: Build xmldoc
|
|
|
+ - task: PublishPipelineArtifact@0
|
|
|
+ inputs:
|
|
|
+ artifactName: 'xmldoc'
|
|
|
+ targetPath: extra/doc
|
|
|
+
|
|
|
+ - job: BuildMac
|
|
|
+ pool:
|
|
|
+ vmImage: 'macOS-10.13'
|
|
|
+ variables:
|
|
|
+ OPAMYES: 1
|
|
|
+ ADD_REVISION: 1
|
|
|
+ steps:
|
|
|
+ - checkout: self
|
|
|
+ submodules: recursive
|
|
|
+ - script: |
|
|
|
+ set -ex
|
|
|
+ brew update
|
|
|
+ brew bundle --file=tests/Brewfile --no-upgrade
|
|
|
+ displayName: Install dependencies
|
|
|
+ - script: |
|
|
|
+ set -ex
|
|
|
+ mkdir $HOME/neko
|
|
|
+ pushd $HOME/neko
|
|
|
+ git clone --recursive https://github.com/HaxeFoundation/neko.git .
|
|
|
+ cmake . -DSTATIC_DEPS=all -G Ninja
|
|
|
+ ninja download_static_deps || ninja download_static_deps || ninja download_static_deps
|
|
|
+ ninja -j 4
|
|
|
+ sudo ninja install
|
|
|
+ popd
|
|
|
+ displayName: Install Neko
|
|
|
+ - script: |
|
|
|
+ set -ex
|
|
|
+ opam init
|
|
|
+ opam update
|
|
|
+ opam pin add haxe . --no-action
|
|
|
+ opam install haxe --deps-only
|
|
|
+ opam list
|
|
|
+ ocamlopt -v
|
|
|
+ displayName: Install OCaml libraries
|
|
|
+ - script: |
|
|
|
+ set -ex
|
|
|
+ opam config exec -- make -s STATICLINK=1 "LIB_PARAMS=/usr/local/opt/zlib/lib/libz.a /usr/local/lib/libpcre.a" libs
|
|
|
+ opam config exec -- make -s STATICLINK=1 "LIB_PARAMS=/usr/local/opt/zlib/lib/libz.a /usr/local/lib/libpcre.a" prebuild
|
|
|
+ opam config exec -- make -s -j`sysctl -n hw.ncpu` STATICLINK=1 "LIB_PARAMS=/usr/local/opt/zlib/lib/libz.a /usr/local/lib/libpcre.a" haxe
|
|
|
+ opam config exec -- make -s haxelib
|
|
|
+ make -s package_bin package_installer_mac
|
|
|
+ ls -l out
|
|
|
+ otool -L ./haxe
|
|
|
+ otool -L ./haxelib
|
|
|
+ displayName: Build Haxe
|
|
|
+ - task: PublishPipelineArtifact@0
|
|
|
+ inputs:
|
|
|
+ artifactName: 'macBinaries'
|
|
|
+ targetPath: out
|
|
|
+
|
|
|
+ - job: BuildWindows
|
|
|
+ pool:
|
|
|
+ vmImage: 'windows-2019'
|
|
|
+ variables:
|
|
|
+ OPAMYES: 1
|
|
|
+ ADD_REVISION: 1
|
|
|
+ CYG_MIRROR: http://mirrors.kernel.org/sourceware/cygwin/
|
|
|
+ strategy:
|
|
|
+ matrix:
|
|
|
+ x64:
|
|
|
+ ARCH: 64
|
|
|
+ MINGW_ARCH: x86_64
|
|
|
+ CYGWIN_SETUP: https://cygwin.com/setup-x86_64.exe
|
|
|
+ CYG_ROOT: C:/cygwin64
|
|
|
+ x86:
|
|
|
+ ARCH: 32
|
|
|
+ MINGW_ARCH: i686
|
|
|
+ CYGWIN_SETUP: https://cygwin.com/setup-x86.exe
|
|
|
+ CYG_ROOT: C:/cygwin
|
|
|
+ steps:
|
|
|
+ - checkout: self
|
|
|
+ submodules: recursive
|
|
|
+ - powershell: |
|
|
|
+ Set-PSDebug -Trace 1
|
|
|
+ choco install --no-progress nsis.portable --version 3.02 -y
|
|
|
+ choco install --no-progress curl wget 7zip.portable -y
|
|
|
+ displayName: Install dependencies
|
|
|
+ - powershell: |
|
|
|
+ Set-PSDebug -Trace 1
|
|
|
+ choco install --no-progress neko --prerelease --ignore-dependencies -s 'https://ci.appveyor.com/nuget/neko' -y
|
|
|
+ neko -version
|
|
|
+ Set-PSDebug -Trace 0
|
|
|
+ Write-Host "##vso[task.setvariable variable=NEKOPATH]C:/ProgramData/chocolatey/lib/neko"
|
|
|
+ displayName: Install Neko
|
|
|
+ - powershell: |
|
|
|
+ Set-PSDebug -Trace 1
|
|
|
+ curl.exe -fsSL -o cygwin-setup.exe --retry 3 $(CYGWIN_SETUP)
|
|
|
+ Start-Process -FilePath "cygwin-setup.exe" -ArgumentList "-B -q -R $(CYG_ROOT) -l C:/tmp -s $(CYG_MIRROR) -P default -P make -P git -P zlib-devel -P rsync -P patch -P diffutils -P curl -P unzip -P tar -P m4 -P perl -P libpcre-devel -P mingw64-$(MINGW_ARCH)-zlib -P mingw64-$(MINGW_ARCH)-gcc-core -P mingw64-$(MINGW_ARCH)-pcre" -Wait
|
|
|
+ curl.exe -fsSL -o "opam.tar.xz" --retry 3 https://github.com/fdopen/opam-repository-mingw/releases/download/0.0.0.2/opam$(ARCH).tar.xz
|
|
|
+ & "$(CYG_ROOT)/bin/bash.exe" @('-lc', 'echo "$OLDPWD"')
|
|
|
+ & "$(CYG_ROOT)/bin/bash.exe" @('-lc', 'cd "$OLDPWD" && tar -xf opam.tar.xz')
|
|
|
+ & "$(CYG_ROOT)/bin/bash.exe" @('-lc', 'cd "$OLDPWD" && bash opam$(ARCH)/install.sh')
|
|
|
+ & "$(CYG_ROOT)/bin/bash.exe" @('-lc', 'opam init mingw "https://github.com/fdopen/opam-repository-mingw.git#opam2" --comp 4.07.0+mingw$(ARCH)c --switch 4.07.0+mingw$(ARCH)c --auto-setup --yes 2>&1')
|
|
|
+ & "$(CYG_ROOT)/bin/bash.exe" @('-lc', 'opam update --yes 2>&1')
|
|
|
+ & "$(CYG_ROOT)/bin/bash.exe" @('-lc', 'cd "$OLDPWD" && opam pin add haxe . --kind=path --no-action --yes 2>&1')
|
|
|
+ & "$(CYG_ROOT)/bin/bash.exe" @('-lc', 'opam install haxe --deps-only --yes 2>&1')
|
|
|
+ & "$(CYG_ROOT)/bin/bash.exe" @('-lc', 'opam list')
|
|
|
+ & "$(CYG_ROOT)/bin/bash.exe" @('-lc', 'ocamlopt -v')
|
|
|
+ displayName: Install OCaml and OCaml libraries
|
|
|
+ - powershell: Write-Host "##vso[task.prependpath]${env:CYG_ROOT}/usr/$(MINGW_ARCH)-w64-mingw32/sys-root/mingw/bin"
|
|
|
+ displayName: Expose mingw dll files
|
|
|
+ - powershell: |
|
|
|
+ Set-PSDebug -Trace 1
|
|
|
+ & "$(CYG_ROOT)/bin/bash.exe" @('-lc', 'cd "$OLDPWD" && opam config exec -- make -s -f Makefile.win libs prebuild 2>&1')
|
|
|
+ & "$(CYG_ROOT)/bin/bash.exe" @('-lc', 'cd "$OLDPWD" && opam config exec -- make -s -f Makefile.win -j`nproc` haxe 2>&1')
|
|
|
+ & "$(CYG_ROOT)/bin/bash.exe" @('-lc', 'cd "$OLDPWD" && opam config exec -- make -s -f Makefile.win haxelib 2>&1')
|
|
|
+ & "$(CYG_ROOT)/bin/bash.exe" @('-lc', 'cd "$OLDPWD" && opam config exec -- make -f Makefile.win echo_package_files package_bin package_installer_win package_choco 2>&1')
|
|
|
+ dir out
|
|
|
+ & "$(CYG_ROOT)/bin/bash.exe" @('-lc', 'cd "$OLDPWD" && cygcheck ./haxe.exe')
|
|
|
+ & "$(CYG_ROOT)/bin/bash.exe" @('-lc', 'cd "$OLDPWD" && cygcheck ./haxelib.exe')
|
|
|
+ displayName: Build Haxe
|
|
|
+ - task: PublishPipelineArtifact@0
|
|
|
+ inputs:
|
|
|
+ artifactName: 'win$(ARCH)Binaries'
|
|
|
+ targetPath: out
|
|
|
+
|
|
|
+ - job: TestLinux
|
|
|
+ dependsOn: BuildLinux
|
|
|
+ pool:
|
|
|
+ vmImage: 'ubuntu-16.04'
|
|
|
+ strategy:
|
|
|
+ matrix:
|
|
|
+ macro:
|
|
|
+ TEST: macro
|
|
|
+ neko:
|
|
|
+ TEST: neko
|
|
|
+ hl:
|
|
|
+ TEST: hl
|
|
|
+ APT_PACKAGES: cmake ninja-build
|
|
|
+ cpp:
|
|
|
+ TEST: cpp
|
|
|
+ HXCPP_COMPILE_CACHE: ~/hxcache
|
|
|
+ APT_PACKAGES: gcc-multilib g++-multilib
|
|
|
+ java:
|
|
|
+ TEST: java,jvm
|
|
|
+ cs:
|
|
|
+ TEST: cs
|
|
|
+ js:
|
|
|
+ TEST: js
|
|
|
+ SAUCE: 1
|
|
|
+ SAUCE_TUNNEL_ID: $(Agent.JobName)
|
|
|
+ SAUCE_BUILD: $(Build.BuildNumber)
|
|
|
+ php:
|
|
|
+ TEST: php
|
|
|
+ flash:
|
|
|
+ TEST: flash9,as3
|
|
|
+ APT_PACKAGES: libglib2.0 libfreetype6 xvfb
|
|
|
+ DISPLAY: ':99.0'
|
|
|
+ AUDIODEV: 'null'
|
|
|
+ python:
|
|
|
+ TEST: python
|
|
|
+ lua:
|
|
|
+ TEST: lua
|
|
|
+ steps:
|
|
|
+ - script: |
|
|
|
+ set -ex
|
|
|
+ sudo add-apt-repository -y ppa:haxe/snapshots
|
|
|
+ sudo apt-get update -qqy
|
|
|
+ sudo apt-get install -qqy neko
|
|
|
+ displayName: Setup Neko
|
|
|
+ - task: DownloadPipelineArtifact@0
|
|
|
+ inputs:
|
|
|
+ artifactName: 'linuxBinaries'
|
|
|
+ targetPath: linuxBinaries
|
|
|
+ - script: |
|
|
|
+ set -ex
|
|
|
+ tar -xf linuxBinaries/*_bin.tar.gz -C linuxBinaries --strip-components=1
|
|
|
+ sudo mkdir -p /usr/local/bin/
|
|
|
+ sudo mkdir -p /usr/local/share/haxe/
|
|
|
+ sudo ln -s `pwd`/linuxBinaries/haxe /usr/local/bin/haxe
|
|
|
+ sudo ln -s `pwd`/linuxBinaries/haxelib /usr/local/bin/haxelib
|
|
|
+ sudo ln -s `pwd`/linuxBinaries/std /usr/local/share/haxe/std
|
|
|
+ displayName: Setup Haxe
|
|
|
+ - script: haxe -version
|
|
|
+ displayName: Print Haxe version
|
|
|
+ - script: |
|
|
|
+ set -ex
|
|
|
+ mkdir ~/haxelib
|
|
|
+ haxelib setup ~/haxelib
|
|
|
+ displayName: Setup haxelib
|
|
|
+ - script: |
|
|
|
+ set -ex
|
|
|
+ sudo apt update -qqy
|
|
|
+ sudo apt install -qqy $APT_PACKAGES
|
|
|
+ condition: and(succeeded(), variables['APT_PACKAGES'])
|
|
|
+ displayName: Install apt packages
|
|
|
+ - script: haxe RunCi.hxml
|
|
|
+ workingDirectory: $(Build.SourcesDirectory)/tests
|
|
|
+ env:
|
|
|
+ SAUCE_USERNAME: $(SAUCE_USERNAME)
|
|
|
+ SAUCE_ACCESS_KEY: $(SAUCE_ACCESS_KEY)
|
|
|
+ displayName: Test
|
|
|
+
|
|
|
+ - job: TestMac
|
|
|
+ dependsOn: BuildMac
|
|
|
+ pool:
|
|
|
+ vmImage: 'macOS-10.13'
|
|
|
+ strategy:
|
|
|
+ matrix:
|
|
|
+ macro:
|
|
|
+ TEST: macro
|
|
|
+ neko:
|
|
|
+ TEST: neko
|
|
|
+ hl:
|
|
|
+ TEST: hl
|
|
|
+ BREW_PACKAGES: ninja
|
|
|
+ cpp:
|
|
|
+ TEST: cpp
|
|
|
+ HXCPP_COMPILE_CACHE: ~/hxcache
|
|
|
+ java:
|
|
|
+ TEST: java,jvm
|
|
|
+ cs:
|
|
|
+ TEST: cs
|
|
|
+ js:
|
|
|
+ TEST: js
|
|
|
+ php:
|
|
|
+ TEST: php
|
|
|
+ flash:
|
|
|
+ TEST: flash9,as3
|
|
|
+ python:
|
|
|
+ TEST: python
|
|
|
+ lua:
|
|
|
+ TEST: lua
|
|
|
+ steps:
|
|
|
+ - script: |
|
|
|
+ set -ex
|
|
|
+ brew update
|
|
|
+ brew install neko --HEAD
|
|
|
+ displayName: Setup Neko
|
|
|
+ - task: DownloadPipelineArtifact@0
|
|
|
+ inputs:
|
|
|
+ artifactName: 'macBinaries'
|
|
|
+ targetPath: macBinaries
|
|
|
+ - script: |
|
|
|
+ set -ex
|
|
|
+ tar -xf macBinaries/*_bin.tar.gz -C macBinaries --strip-components=1
|
|
|
+ sudo mkdir -p /usr/local/bin/
|
|
|
+ sudo mkdir -p /usr/local/share/haxe/
|
|
|
+ sudo ln -s `pwd`/macBinaries/haxe /usr/local/bin/haxe
|
|
|
+ sudo ln -s `pwd`/macBinaries/haxelib /usr/local/bin/haxelib
|
|
|
+ sudo ln -s `pwd`/macBinaries/std /usr/local/share/haxe/std
|
|
|
+ displayName: Setup Haxe
|
|
|
+ - script: haxe -version
|
|
|
+ displayName: Print Haxe version
|
|
|
+ - script: |
|
|
|
+ set -ex
|
|
|
+ mkdir ~/haxelib
|
|
|
+ haxelib setup ~/haxelib
|
|
|
+ displayName: Setup haxelib
|
|
|
+ - script: brew install $BREW_PACKAGES
|
|
|
+ condition: and(succeeded(), variables['BREW_PACKAGES'])
|
|
|
+ displayName: Install homebrew packages
|
|
|
+ - script: haxe RunCi.hxml
|
|
|
+ workingDirectory: $(Build.SourcesDirectory)/tests
|
|
|
+ displayName: Test
|
|
|
+
|
|
|
+ - job: TestWindows64
|
|
|
+ dependsOn: BuildWindows
|
|
|
+ pool:
|
|
|
+ vmImage: 'windows-2019'
|
|
|
+ variables:
|
|
|
+ HAXELIB_ROOT: C:/haxelib
|
|
|
+ HAXE_ARCH: 64
|
|
|
+ strategy:
|
|
|
+ matrix:
|
|
|
+ macro:
|
|
|
+ TEST: macro
|
|
|
+ neko:
|
|
|
+ TEST: neko
|
|
|
+ hl:
|
|
|
+ TEST: hl
|
|
|
+ cpp:
|
|
|
+ TEST: cpp
|
|
|
+ HXCPP_COMPILE_CACHE: C:/hxcache
|
|
|
+ java:
|
|
|
+ TEST: java,jvm
|
|
|
+ cs:
|
|
|
+ TEST: cs
|
|
|
+ js:
|
|
|
+ TEST: js
|
|
|
+ # https://github.com/microsoft/azure-pipelines-image-generation/issues/990
|
|
|
+ # php:
|
|
|
+ # TEST: php
|
|
|
+ # TODO. flash has never been enabled on our AppVeyor builds.
|
|
|
+ # flash:
|
|
|
+ # TEST: flash9,as3
|
|
|
+ python:
|
|
|
+ TEST: python
|
|
|
+ # TODO. Lua has never been enabled on our AppVeyor builds.
|
|
|
+ # lua:
|
|
|
+ # TEST: lua
|
|
|
+ steps:
|
|
|
+ - powershell: |
|
|
|
+ Set-PSDebug -Trace 1
|
|
|
+ choco install neko --prerelease --ignore-dependencies -s 'https://ci.appveyor.com/nuget/neko' -y
|
|
|
+ Set-PSDebug -Trace 0
|
|
|
+ Write-Host "##vso[task.setvariable variable=NEKOPATH]C:/ProgramData/chocolatey/lib/neko"
|
|
|
+ displayName: Setup Neko
|
|
|
+ - task: DownloadPipelineArtifact@0
|
|
|
+ inputs:
|
|
|
+ artifactName: 'win64Binaries'
|
|
|
+ targetPath: win64Binaries
|
|
|
+ - powershell: |
|
|
|
+ Set-PSDebug -Trace 1
|
|
|
+ 7z x win64Binaries/*_bin.zip -owin64Binaries
|
|
|
+ $dir = Get-ChildItem win64Binaries/* -Name -Directory
|
|
|
+ Rename-Item win64Binaries/$dir haxe
|
|
|
+ $dir = '' + ( get-location ) + '\win64Binaries\haxe'
|
|
|
+ dir $dir
|
|
|
+ Set-PSDebug -Trace 0
|
|
|
+ Write-Host "##vso[task.prependpath]$dir"
|
|
|
+ displayName: Setup Haxe
|
|
|
+ - script: haxe -version
|
|
|
+ displayName: Print Haxe version
|
|
|
+ - task: UsePythonVersion@0
|
|
|
+ inputs:
|
|
|
+ versionSpec: '3.7'
|
|
|
+ - powershell: |
|
|
|
+ Set-PSDebug -Trace 1
|
|
|
+ $pypath = python -c "import sys; print(sys.executable)"
|
|
|
+ $py3path = $pypath.replace("python.exe","python3.exe")
|
|
|
+ cmd /c mklink $py3path $pypath
|
|
|
+ python3 -V
|
|
|
+ displayName: "Make Python 3 be available as python3 in the cmdline"
|
|
|
+ - script: |
|
|
|
+ mkdir "$(HAXELIB_ROOT)"
|
|
|
+ haxelib setup "$(HAXELIB_ROOT)"
|
|
|
+ displayName: Setup haxelib
|
|
|
+ - script: haxe RunCi.hxml
|
|
|
+ workingDirectory: $(Build.SourcesDirectory)/tests
|
|
|
+ displayName: Test
|
|
|
+ - stage: Deploy
|
|
|
+ condition: and(succeeded(), not(variables['System.PullRequest.PullRequestId']))
|
|
|
+ jobs:
|
|
|
+ - job: S3
|
|
|
+ condition: and(succeeded(), variables['AWS_ACCESS_KEY_ID'], variables['S3_HXBUILDS_ADDR'])
|
|
|
+ pool:
|
|
|
+ vmImage: 'ubuntu-16.04'
|
|
|
+ steps:
|
|
|
+ - task: DownloadPipelineArtifact@0
|
|
|
+ inputs:
|
|
|
+ artifactName: 'linuxBinaries'
|
|
|
+ targetPath: linuxBinaries
|
|
|
+ - task: DownloadPipelineArtifact@0
|
|
|
+ inputs:
|
|
|
+ artifactName: 'macBinaries'
|
|
|
+ targetPath: macBinaries
|
|
|
+ - task: DownloadPipelineArtifact@0
|
|
|
+ inputs:
|
|
|
+ artifactName: 'win64Binaries'
|
|
|
+ targetPath: win64Binaries
|
|
|
+ - task: DownloadPipelineArtifact@0
|
|
|
+ inputs:
|
|
|
+ artifactName: 'win32Binaries'
|
|
|
+ targetPath: win32Binaries
|
|
|
+ - script: |
|
|
|
+ set -ex
|
|
|
+ sudo add-apt-repository -y ppa:haxe/snapshots
|
|
|
+ sudo apt-get update -qqy
|
|
|
+ sudo apt-get install -qqy neko
|
|
|
+ displayName: Setup Neko
|
|
|
+ - script: |
|
|
|
+ set -ex
|
|
|
+ tar -xf linuxBinaries/*_bin.tar.gz -C linuxBinaries --strip-components=1
|
|
|
+ sudo mkdir -p /usr/local/bin/
|
|
|
+ sudo mkdir -p /usr/local/share/haxe/
|
|
|
+ sudo ln -s `pwd`/linuxBinaries/haxe /usr/local/bin/haxe
|
|
|
+ sudo ln -s `pwd`/linuxBinaries/haxelib /usr/local/bin/haxelib
|
|
|
+ sudo ln -s `pwd`/linuxBinaries/std /usr/local/share/haxe/std
|
|
|
+ displayName: Setup Haxe
|
|
|
+ - script: |
|
|
|
+ set -ex
|
|
|
+ sudo apt-get update -qqy
|
|
|
+ sudo apt-get install -qqy awscli
|
|
|
+ displayName: "Install awscli"
|
|
|
+ - script: |
|
|
|
+ set -ex
|
|
|
+ aws s3 cp linuxBinaries/*_bin.tar.gz $(S3_HXBUILDS_ADDR)/linux64/ --dryrun
|
|
|
+ aws s3 cp macBinaries/*_bin.tar.gz $(S3_HXBUILDS_ADDR)/mac/ --dryrun
|
|
|
+ aws s3 cp win64Binaries/*_bin.zip $(S3_HXBUILDS_ADDR)/windows64/ --dryrun
|
|
|
+ aws s3 cp win64Binaries/*_installer.zip $(S3_HXBUILDS_ADDR)/windows64-installer/ --dryrun
|
|
|
+ aws s3 cp win32Binaries/*_bin.zip $(S3_HXBUILDS_ADDR)/windows/ --dryrun
|
|
|
+ aws s3 cp win32Binaries/*_installer.zip $(S3_HXBUILDS_ADDR)/windows-installer/ --dryrun
|
|
|
+ env:
|
|
|
+ AWS_SECRET_ACCESS_KEY: $(AWS_SECRET_ACCESS_KEY)
|
|
|
+ displayName: Upload binaries
|
|
|
+ - script: |
|
|
|
+ set -ex
|
|
|
+ aws s3 cp linuxBinaries/*_bin.tar.gz $(S3_HXBUILDS_ADDR)/linux64/haxe_latest.tar.gz --dryrun
|
|
|
+ aws s3 cp macBinaries/*_bin.tar.gz $(S3_HXBUILDS_ADDR)/mac/haxe_latest.tar.gz --dryrun
|
|
|
+ aws s3 cp win64Binaries/*_bin.zip $(S3_HXBUILDS_ADDR)/windows64/haxe_latest.zip --dryrun
|
|
|
+ aws s3 cp win64Binaries/*_installer.zip $(S3_HXBUILDS_ADDR)/windows64-installer/haxe_latest.zip --dryrun
|
|
|
+ aws s3 cp win32Binaries/*_bin.zip $(S3_HXBUILDS_ADDR)/windows/haxe_latest.zip --dryrun
|
|
|
+ aws s3 cp win32Binaries/*_installer.zip $(S3_HXBUILDS_ADDR)/windows-installer/haxe_latest.zip --dryrun
|
|
|
+ env:
|
|
|
+ AWS_SECRET_ACCESS_KEY: $(AWS_SECRET_ACCESS_KEY)
|
|
|
+ condition: and(succeeded(), eq(variables['Build.SourceBranchName'], 'development'))
|
|
|
+ displayName: Update "latest"
|
|
|
+ - script: |
|
|
|
+ set -ex
|
|
|
+ haxe --run runci.Indexer $(S3_HXBUILDS_ADDR)/linux64
|
|
|
+ aws s3 cp index.html $(S3_HXBUILDS_ADDR)/linux64/ --dryrun
|
|
|
+ haxe --run runci.Indexer $(S3_HXBUILDS_ADDR)/mac
|
|
|
+ aws s3 cp index.html $(S3_HXBUILDS_ADDR)/mac/ --dryrun
|
|
|
+ haxe --run runci.Indexer $(S3_HXBUILDS_ADDR)/windows64
|
|
|
+ aws s3 cp index.html $(S3_HXBUILDS_ADDR)/windows64/ --dryrun
|
|
|
+ haxe --run runci.Indexer $(S3_HXBUILDS_ADDR)/windows64-installer
|
|
|
+ aws s3 cp index.html $(S3_HXBUILDS_ADDR)/windows64-installer/ --dryrun
|
|
|
+ haxe --run runci.Indexer $(S3_HXBUILDS_ADDR)/windows
|
|
|
+ aws s3 cp index.html $(S3_HXBUILDS_ADDR)/windows/ --dryrun
|
|
|
+ haxe --run runci.Indexer $(S3_HXBUILDS_ADDR)/windows-installer
|
|
|
+ aws s3 cp index.html $(S3_HXBUILDS_ADDR)/windows-installer/ --dryrun
|
|
|
+ haxe --run runci.Indexer $(S3_HXBUILDS_ADDR)
|
|
|
+ aws s3 cp index.html $(S3_HXBUILDS_ADDR)/ --dryrun
|
|
|
+ workingDirectory: $(Build.SourcesDirectory)/tests
|
|
|
+ env:
|
|
|
+ AWS_SECRET_ACCESS_KEY: $(AWS_SECRET_ACCESS_KEY)
|
|
|
+ displayName: Update indices
|
|
|
+ - job: ApiHaxeOrg
|
|
|
+ condition: and(succeeded(), variables['GHP_USERNAME'], variables['GHP_EMAIL'])
|
|
|
+ pool:
|
|
|
+ vmImage: 'ubuntu-16.04'
|
|
|
+ steps:
|
|
|
+ - checkout: none
|
|
|
+ - script: |
|
|
|
+ set -ex
|
|
|
+ sudo add-apt-repository -y ppa:haxe/snapshots
|
|
|
+ sudo apt-get update -qqy
|
|
|
+ sudo apt-get install -qqy neko
|
|
|
+ displayName: Setup Neko
|
|
|
+ - task: DownloadPipelineArtifact@0
|
|
|
+ inputs:
|
|
|
+ artifactName: 'linuxBinaries'
|
|
|
+ targetPath: linuxBinaries
|
|
|
+ - script: |
|
|
|
+ set -ex
|
|
|
+ tar -xf linuxBinaries/*_bin.tar.gz -C linuxBinaries --strip-components=1
|
|
|
+ sudo mkdir -p /usr/local/bin/
|
|
|
+ sudo mkdir -p /usr/local/share/haxe/
|
|
|
+ sudo ln -s `pwd`/linuxBinaries/haxe /usr/local/bin/haxe
|
|
|
+ sudo ln -s `pwd`/linuxBinaries/haxelib /usr/local/bin/haxelib
|
|
|
+ sudo ln -s `pwd`/linuxBinaries/std /usr/local/share/haxe/std
|
|
|
+ displayName: Setup Haxe
|
|
|
+ - task: DownloadPipelineArtifact@0
|
|
|
+ inputs:
|
|
|
+ artifactName: 'xmldoc'
|
|
|
+ targetPath: xmldoc
|
|
|
+ - script: |
|
|
|
+ set -ex
|
|
|
+ LOCAL="`pwd`/extra/api.haxe.org"
|
|
|
+ git clone "${GHP_REMOTE}" "${LOCAL}"
|
|
|
+ haxe --cwd "${LOCAL}" --run ImportXml "`pwd`/xmldoc"
|
|
|
+ env:
|
|
|
+ GHP_REMOTE: $(GHP_REMOTE)
|
|
|
+ displayName: Deploy to api.haxe.org
|