release.yml 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. name: Release
  2. on:
  3. release:
  4. types: [published]
  5. branches: [ master ]
  6. jobs:
  7. build_assets:
  8. runs-on: ubuntu-latest
  9. steps:
  10. - name: Set up Go 1.x
  11. uses: actions/setup-go@v2
  12. with:
  13. go-version: ^1.14
  14. id: go
  15. - name: Check out code into the Go module directory
  16. uses: actions/checkout@v2
  17. - name: Get dependencies
  18. run: |
  19. go get -v -t -d ./...
  20. if [ -f Gopkg.toml ]; then
  21. curl https://raw.githubusercontent.com/golang/dep/master/install.sh | sh
  22. dep ensure
  23. fi
  24. - name: Build
  25. run: |
  26. chmod +x build.assets.sh
  27. ./build.assets.sh
  28. build_android:
  29. runs-on: ubuntu-latest
  30. steps:
  31. - name: Check out code into the Go module directory
  32. uses: actions/checkout@v2
  33. - name: Build
  34. run: |
  35. chmod +x build.android.sh
  36. docker run --rm -i -w /app -v $(pwd):/app -e ANDROID_HOME=/usr/local/android_sdk -e GOPROXY=direct lucor/fyne-cross:android-latest /app/build.android.sh
  37. build_spk:
  38. runs-on: ubuntu-latest
  39. steps:
  40. - name: Check out code into the Go module directory
  41. uses: actions/checkout@v2
  42. - name: Set env
  43. run: echo ::set-env name=VERSION::${GITHUB_REF#refs/*/}
  44. - name: Build
  45. run: |
  46. git clone https://github.com/cnlh/spksrc.git ~/spksrc
  47. mkdir ~/spksrc/nps && cp -rf ./* ~/spksrc/nps/
  48. docker run -itd --name spksrc --env VERSION=$VERSION -e GOPROXY=direct -v ~/spksrc:/spksrc synocommunity/spksrc /bin/bash
  49. docker exec -it spksrc /bin/bash -c 'cd /spksrc && make setup && cd /spksrc/spk/npc && make'
  50. cp ~/spksrc/packages/npc_noarch-all_$VERSION-1.spk ./npc_syno.spk
  51. build_docker:
  52. runs-on: ubuntu-latest
  53. steps:
  54. - name: Check out code into the Go module directory
  55. uses: actions/checkout@v2
  56. - name: Set env
  57. run: echo ::set-env name=VERSION::${GITHUB_REF#refs/*/}
  58. - name: Set up QEMU
  59. uses: docker/setup-qemu-action@v1
  60. - name: Set up Docker Buildx
  61. uses: docker/setup-buildx-action@v1
  62. - name: Login to DockerHub
  63. uses: docker/login-action@v1
  64. with:
  65. username: ${{ secrets.DOCKERHUB_USERNAME }}
  66. password: ${{ secrets.DOCKERHUB_TOKEN }}
  67. - name: Build and push nps
  68. uses: docker/build-push-action@v2
  69. with:
  70. context: .
  71. file: ./Dockerfile.nps
  72. platforms: linux/386,linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64
  73. push: true
  74. tags: |
  75. ${{ secrets.DOCKERHUB_USERNAME }}/nps:latest
  76. ${{ secrets.DOCKERHUB_USERNAME }}/nps:$VERSION
  77. - name: Build and push npc
  78. uses: docker/build-push-action@v2
  79. with:
  80. context: .
  81. file: ./Dockerfile.npc
  82. platforms: linux/386,linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64
  83. push: true
  84. tags: |
  85. ${{ secrets.DOCKERHUB_USERNAME }}/npc:latest
  86. ${{ secrets.DOCKERHUB_USERNAME }}/npc:$VERSION