1
0

config.yml 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. version: 2.1
  2. workflows:
  3. version: 2
  4. build:
  5. jobs:
  6. - checkout_code
  7. - lint:
  8. requires:
  9. - checkout_code
  10. go_version: "1.12"
  11. vips_version: "8.7"
  12. - build:
  13. name: go1.12_vips8.7
  14. requires:
  15. - checkout_code
  16. go_version: "1.12"
  17. vips_version: "8.7"
  18. - build:
  19. name: go1.12_vips8.6
  20. requires:
  21. - checkout_code
  22. go_version: "1.12"
  23. vips_version: "8.6"
  24. - build:
  25. name: go1.12_vips8.5
  26. requires:
  27. - checkout_code
  28. go_version: "1.12"
  29. vips_version: "8.5"
  30. - build:
  31. name: go1.11_vips8.7
  32. requires:
  33. - checkout_code
  34. go_version: "1.11"
  35. vips_version: "8.7"
  36. - build:
  37. name: go1.11_vips8.6
  38. requires:
  39. - checkout_code
  40. go_version: "1.11"
  41. vips_version: "8.6"
  42. - build:
  43. name: go1.11_vips8.5
  44. requires:
  45. - checkout_code
  46. go_version: "1.11"
  47. vips_version: "8.5"
  48. - build:
  49. name: go1.10_vips8.7
  50. requires:
  51. - checkout_code
  52. go_version: "1.10"
  53. vips_version: "8.7"
  54. - build:
  55. name: go1.10_vips8.6
  56. requires:
  57. - checkout_code
  58. go_version: "1.10"
  59. vips_version: "8.6"
  60. - build:
  61. name: go1.10_vips8.5
  62. requires:
  63. - checkout_code
  64. go_version: "1.10"
  65. vips_version: "8.5"
  66. jobs:
  67. checkout_code:
  68. docker:
  69. - image: circleci/slim-base:latest
  70. working_directory: /go/src/imgproxy
  71. steps:
  72. - checkout:
  73. path: /go/src/imgproxy
  74. - persist_to_workspace:
  75. root: .
  76. paths: [.]
  77. lint:
  78. docker:
  79. - image: "darthsim/imgproxy-circleci:latest"
  80. working_directory: /go/src/imgproxy
  81. environment:
  82. BASH_ENV: "/root/.bashrc"
  83. parameters:
  84. go_version:
  85. type: string
  86. vips_version:
  87. type: string
  88. steps:
  89. - attach_workspace:
  90. at: .
  91. - run:
  92. name: Build imgproxy
  93. command: |
  94. gvm install go<< parameters.go_version >> -B
  95. gvm use go<< parameters.go_version >>
  96. export GOPATH=/go
  97. export PATH="$PATH:$(go env GOPATH)/bin"
  98. export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/root/vips/<< parameters.vips_version >>/lib
  99. export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/root/vips/<< parameters.vips_version >>/lib/pkgconfig
  100. export CGO_LDFLAGS_ALLOW="-s|-w"
  101. curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | sh -s -- -b $(go env GOPATH)/bin v1.16.0
  102. golangci-lint run .
  103. build:
  104. docker:
  105. - image: "darthsim/imgproxy-circleci:latest"
  106. working_directory: /go/src/imgproxy
  107. environment:
  108. BASH_ENV: "/root/.bashrc"
  109. parameters:
  110. go_version:
  111. type: string
  112. vips_version:
  113. type: string
  114. steps:
  115. - attach_workspace:
  116. at: .
  117. - run:
  118. name: Build imgproxy
  119. command: |
  120. gvm install go<< parameters.go_version >> -B
  121. gvm use go<< parameters.go_version >>
  122. export GOPATH=/go
  123. export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/root/vips/<< parameters.vips_version >>/lib
  124. export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/root/vips/<< parameters.vips_version >>/lib/pkgconfig
  125. export CGO_LDFLAGS_ALLOW="-s|-w"
  126. go test -v