2
0

build-linux.yml 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. parameters:
  2. name: 'BuildLinux'
  3. vmImage: 'ubuntu-16.04'
  4. jobs:
  5. - job: ${{ parameters.name }}
  6. pool:
  7. vmImage: ${{ parameters.vmImage }}
  8. variables:
  9. OPAMYES: 1
  10. ADD_REVISION: 1
  11. steps:
  12. - checkout: self
  13. submodules: recursive
  14. - script: |
  15. set -ex
  16. sudo add-apt-repository ppa:avsm/ppa -y # provides newer version of OCaml and OPAM
  17. sudo apt-get update -qqy
  18. sudo apt-get install -qqy ocaml-nox camlp5 opam libpcre3-dev zlib1g-dev libgtk2.0-dev ninja-build
  19. displayName: Install dependencies
  20. - template: install-neko-snapshot.yaml
  21. parameters:
  22. platform: linux64
  23. - script: |
  24. set -ex
  25. opam init
  26. opam update
  27. opam pin add haxe . --no-action
  28. opam install haxe --deps-only
  29. opam list
  30. ocamlopt -v
  31. displayName: Install OCaml libraries
  32. - script: |
  33. set -ex
  34. opam config exec -- make -s -j`nproc` STATICLINK=1 haxe
  35. opam config exec -- make -s haxelib
  36. make -s package_bin
  37. ls -l out
  38. ldd -v ./haxe
  39. ldd -v ./haxelib
  40. displayName: Build Haxe
  41. - task: PublishPipelineArtifact@0
  42. inputs:
  43. artifactName: 'linuxBinaries'
  44. targetPath: out
  45. - script: |
  46. set -ex
  47. make -s xmldoc
  48. cat >extra/doc/info.json <<EOL
  49. {
  50. "commit": "$(Build.SourceVersion)",
  51. "branch": "$(Build.SourceBranchName)"
  52. }
  53. EOL
  54. displayName: Build xmldoc
  55. - task: PublishPipelineArtifact@0
  56. inputs:
  57. artifactName: 'xmldoc'
  58. targetPath: extra/doc