.travis.yml 9.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219
  1. language: go
  2. go:
  3. - "1.13"
  4. - master
  5. services:
  6. - docker
  7. script:
  8. - go test -v ./cmd/nps/
  9. - curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
  10. - sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
  11. - sudo apt-get update
  12. - sudo apt-get -y -o Dpkg::Options::="--force-confnew" install docker-ce
  13. - docker --version
  14. - git clone https://github.com/cnlh/spksrc.git ~/spksrc
  15. - docker run -itd --name spksrc -v ~/spksrc:/spksrc synocommunity/spksrc /bin/bash
  16. - docker exec -it spksrc /bin/bash -c 'cd /spksrc && make setup && cd /spksrc/spk/npc && make'
  17. - export DOCKER_CLI_EXPERIMENTAL=enabled
  18. - export VERSION=0.24.1
  19. - docker run --rm --privileged docker/binfmt:66f9012c56a8316f9244ffd7622d7c21c1f6f28d
  20. - docker buildx create --use --name mybuilder
  21. - docker buildx build --tag ffdfgdfg/nps:$VERSION --output type=image,push=true --file Dockerfile.nps --platform=linux/amd64,linux/arm64,linux/386,linux/arm .
  22. - docker buildx build --tag ffdfgdfg/npc:$VERSION --output type=image,push=true --file Dockerfile.npc --platform=linux/amd64,linux/arm64,linux/386,linux/arm .
  23. before_deploy:
  24. - wget https://github.com/upx/upx/releases/download/v3.95/upx-3.95-amd64_linux.tar.xz
  25. - tar -xvf upx-3.95-amd64_linux.tar.xz
  26. - cp upx-3.95-amd64_linux/upx ./
  27. - CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags "-s -w -extldflags -static -extldflags -static" ./cmd/npc/npc.go
  28. - tar -czvf linux_amd64_client.tar.gz npc conf/npc.conf
  29. - CGO_ENABLED=0 GOOS=linux GOARCH=386 go build -ldflags "-s -w -extldflags -static -extldflags -static" ./cmd/npc/npc.go
  30. - tar -czvf linux_386_client.tar.gz npc conf/npc.conf
  31. - CGO_ENABLED=0 GOOS=freebsd GOARCH=386 go build -ldflags "-s -w -extldflags -static -extldflags -static" ./cmd/npc/npc.go
  32. - tar -czvf freebsd_386_client.tar.gz npc conf/npc.conf
  33. - CGO_ENABLED=0 GOOS=freebsd GOARCH=amd64 go build -ldflags "-s -w -extldflags -static -extldflags -static" ./cmd/npc/npc.go
  34. - tar -czvf freebsd_amd64_client.tar.gz npc conf/npc.conf
  35. - CGO_ENABLED=0 GOOS=freebsd GOARCH=arm go build -ldflags "-s -w -extldflags -static -extldflags -static" ./cmd/npc/npc.go
  36. - tar -czvf freebsd_arm_client.tar.gz npc conf/npc.conf
  37. - CGO_ENABLED=0 GOOS=linux GOARCH=arm GOARM=7 go build -ldflags "-s -w -extldflags -static -extldflags -static" ./cmd/npc/npc.go
  38. - tar -czvf linux_arm_v7_client.tar.gz npc conf/npc.conf
  39. - CGO_ENABLED=0 GOOS=linux GOARCH=arm GOARM=6 go build -ldflags "-s -w -extldflags -static -extldflags -static" ./cmd/npc/npc.go
  40. - tar -czvf linux_arm_v6_client.tar.gz npc conf/npc.conf
  41. - CGO_ENABLED=0 GOOS=linux GOARCH=arm GOARM=5 go build -ldflags "-s -w -extldflags -static -extldflags -static" ./cmd/npc/npc.go
  42. - tar -czvf linux_arm_v5_client.tar.gz npc conf/npc.conf
  43. - CGO_ENABLED=0 GOOS=linux GOARCH=arm64 go build -ldflags "-s -w -extldflags -static -extldflags -static" ./cmd/npc/npc.go
  44. - tar -czvf linux_arm64_client.tar.gz npc conf/npc.conf
  45. - CGO_ENABLED=0 GOOS=linux GOARCH=mips64 go build -ldflags "-s -w -extldflags -static -extldflags -static" ./cmd/npc/npc.go
  46. - tar -czvf linux_mips64_client.tar.gz npc conf/npc.conf
  47. - CGO_ENABLED=0 GOOS=linux GOARCH=mips64le go build -ldflags "-s -w -extldflags -static -extldflags -static" ./cmd/npc/npc.go
  48. - tar -czvf linux_mips64le_client.tar.gz npc conf/npc.conf
  49. - CGO_ENABLED=0 GOOS=linux GOARCH=mipsle go build -ldflags "-s -w -extldflags -static -extldflags -static" ./cmd/npc/npc.go
  50. - tar -czvf linux_mipsle_client.tar.gz npc conf/npc.conf
  51. - CGO_ENABLED=0 GOOS=linux GOARCH=mips go build -ldflags "-s -w -extldflags -static -extldflags -static" ./cmd/npc/npc.go
  52. - tar -czvf linux_mips_client.tar.gz npc conf/npc.conf
  53. - CGO_ENABLED=0 GOOS=windows GOARCH=386 go build -ldflags "-s -w -extldflags -static -extldflags -static" ./cmd/npc/npc.go
  54. - tar -czvf win_386_client.tar.gz npc.exe conf/npc.conf
  55. - CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -ldflags "-s -w -extldflags -static -extldflags -static" ./cmd/npc/npc.go
  56. - tar -czvf win_amd64_client.tar.gz npc.exe conf/npc.conf
  57. - CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build -ldflags "-s -w -extldflags -static -extldflags -static" ./cmd/npc/npc.go
  58. - tar -czvf macos_client.tar.gz npc conf/npc.conf
  59. - CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags "-s -w -extldflags -static -extldflags -static" ./cmd/nps/nps.go
  60. - tar -czvf linux_amd64_server.tar.gz conf/nps.conf conf/tasks.json conf/clients.json conf/hosts.json conf/server.key conf/server.pem web/views web/static nps
  61. - CGO_ENABLED=0 GOOS=linux GOARCH=386 go build -ldflags "-s -w -extldflags -static -extldflags -static" ./cmd/nps/nps.go
  62. - tar -czvf linux_386_server.tar.gz conf/nps.conf conf/tasks.json conf/clients.json conf/hosts.json conf/server.key conf/server.pem web/views web/static nps
  63. - CGO_ENABLED=0 GOOS=linux GOARCH=arm GOARM=5 go build -ldflags "-s -w -extldflags -static -extldflags -static" ./cmd/nps/nps.go
  64. - tar -czvf linux_arm_v5_server.tar.gz conf/nps.conf conf/tasks.json conf/clients.json conf/hosts.json conf/server.key conf/server.pem web/views web/static nps
  65. - CGO_ENABLED=0 GOOS=linux GOARCH=arm GOARM=6 go build -ldflags "-s -w -extldflags -static -extldflags -static" ./cmd/nps/nps.go
  66. - tar -czvf linux_arm_v6_server.tar.gz conf/nps.conf conf/tasks.json conf/clients.json conf/hosts.json conf/server.key conf/server.pem web/views web/static nps
  67. - CGO_ENABLED=0 GOOS=linux GOARCH=arm GOARM=7 go build -ldflags "-s -w -extldflags -static -extldflags -static" ./cmd/nps/nps.go
  68. - tar -czvf linux_arm_v7_server.tar.gz conf/nps.conf conf/tasks.json conf/clients.json conf/hosts.json conf/server.key conf/server.pem web/views web/static nps
  69. - CGO_ENABLED=0 GOOS=linux GOARCH=arm64 go build -ldflags "-s -w -extldflags -static -extldflags -static" ./cmd/nps/nps.go
  70. - tar -czvf linux_arm64_server.tar.gz conf/nps.conf conf/tasks.json conf/clients.json conf/hosts.json conf/server.key conf/server.pem web/views web/static nps
  71. - CGO_ENABLED=0 GOOS=freebsd GOARCH=arm go build -ldflags "-s -w -extldflags -static -extldflags -static" ./cmd/nps/nps.go
  72. - tar -czvf freebsd_arm_server.tar.gz conf/nps.conf conf/tasks.json conf/clients.json conf/hosts.json conf/server.key conf/server.pem web/views web/static nps
  73. - CGO_ENABLED=0 GOOS=freebsd GOARCH=386 go build -ldflags "-s -w -extldflags -static -extldflags -static" ./cmd/nps/nps.go
  74. - tar -czvf freebsd_386_server.tar.gz conf/nps.conf conf/tasks.json conf/clients.json conf/hosts.json conf/server.key conf/server.pem web/views web/static nps
  75. - CGO_ENABLED=0 GOOS=freebsd GOARCH=amd64 go build -ldflags "-s -w -extldflags -static -extldflags -static" ./cmd/nps/nps.go
  76. - tar -czvf freebsd_amd64_server.tar.gz conf/nps.conf conf/tasks.json conf/clients.json conf/hosts.json conf/server.key conf/server.pem web/views web/static nps
  77. - CGO_ENABLED=0 GOOS=linux GOARCH=mips go build -ldflags "-s -w -extldflags -static -extldflags -static" ./cmd/nps/nps.go
  78. - tar -czvf linux_mips_server.tar.gz conf/nps.conf conf/tasks.json conf/clients.json conf/hosts.json conf/server.key conf/server.pem web/views web/static nps
  79. - CGO_ENABLED=0 GOOS=linux GOARCH=mips64 go build -ldflags "-s -w -extldflags -static -extldflags -static" ./cmd/nps/nps.go
  80. - tar -czvf linux_mips64_server.tar.gz conf/nps.conf conf/tasks.json conf/clients.json conf/hosts.json conf/server.key conf/server.pem web/views web/static nps
  81. - CGO_ENABLED=0 GOOS=linux GOARCH=mips64le go build -ldflags "-s -w -extldflags -static -extldflags -static" ./cmd/nps/nps.go
  82. - tar -czvf linux_mips64le_server.tar.gz conf/nps.conf conf/tasks.json conf/clients.json conf/hosts.json conf/server.key conf/server.pem web/views web/static nps
  83. - CGO_ENABLED=0 GOOS=linux GOARCH=mipsle go build -ldflags "-s -w -extldflags -static -extldflags -static" ./cmd/nps/nps.go
  84. - tar -czvf linux_mipsle_server.tar.gz conf/nps.conf conf/tasks.json conf/clients.json conf/hosts.json conf/server.key conf/server.pem web/views web/static nps
  85. - CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build -ldflags "-s -w -extldflags -static -extldflags -static" ./cmd/nps/nps.go
  86. - tar -czvf macos_server.tar.gz conf/nps.conf conf/tasks.json conf/clients.json conf/hosts.json conf/server.key conf/server.pem web/views web/static nps
  87. - CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -ldflags "-s -w -extldflags -static -extldflags -static" ./cmd/nps/nps.go
  88. - tar -czvf win_amd64_server.tar.gz conf/nps.conf conf/tasks.json conf/clients.json conf/hosts.json conf/server.key conf/server.pem web/views web/static nps.exe
  89. - CGO_ENABLED=0 GOOS=windows GOARCH=386 go build -ldflags "-s -w -extldflags -static -extldflags -static" ./cmd/nps/nps.go
  90. - tar -czvf win_386_server.tar.gz conf/nps.conf conf/tasks.json conf/clients.json conf/hosts.json conf/server.key conf/server.pem web/views web/static nps.exe
  91. deploy:
  92. provider: releases
  93. api_key:
  94. secure: ${TOKEN}
  95. skip_cleanup: true
  96. file:
  97. - freebsd_386_client.tar.gz
  98. - freebsd_386_server.tar.gz
  99. - freebsd_amd64_client.tar.gz
  100. - freebsd_amd64_server.tar.gz
  101. - freebsd_arm_client.tar.gz
  102. - freebsd_arm_server.tar.gz
  103. - linux_386_client.tar.gz
  104. - linux_386_server.tar.gz
  105. - linux_amd64_client.tar.gz
  106. - linux_amd64_server.tar.gz
  107. - linux_arm64_client.tar.gz
  108. - linux_arm64_server.tar.gz
  109. - linux_arm_v5_client.tar.gz
  110. - linux_arm_v6_client.tar.gz
  111. - linux_arm_v7_client.tar.gz
  112. - linux_arm_v5_server.tar.gz
  113. - linux_arm_v6_server.tar.gz
  114. - linux_arm_v7_server.tar.gz
  115. - linux_mips64le_client.tar.gz
  116. - linux_mips64le_server.tar.gz
  117. - linux_mips64_client.tar.gz
  118. - linux_mips64_server.tar.gz
  119. - linux_mipsle_client.tar.gz
  120. - linux_mipsle_server.tar.gz
  121. - linux_mips_client.tar.gz
  122. - linux_mips_server.tar.gz
  123. - macos_client.tar.gz
  124. - macos_server.tar.gz
  125. - win_386_client.tar.gz
  126. - win_386_server.tar.gz
  127. - win_amd64_client.tar.gz
  128. - win_amd64_server.tar.gz
  129. on:
  130. tags: true
  131. all_branches: true