You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

152 lines
4.7 KiB

  1. name: "docker: build release containers"
  2. on:
  3. push:
  4. tags:
  5. - '*'
  6. workflow_dispatch: []
  7. jobs:
  8. build-default-release-container:
  9. runs-on: [ubuntu-latest]
  10. steps:
  11. -
  12. name: Checkout
  13. uses: actions/checkout@v2
  14. -
  15. name: Docker meta
  16. id: docker_meta
  17. uses: docker/metadata-action@v3
  18. with:
  19. images: |
  20. chrislusf/seaweedfs
  21. ghcr.io/chrislusf/seaweedfs
  22. tags: |
  23. type=ref,event=tag
  24. flavor: |
  25. latest=false
  26. labels: |
  27. org.opencontainers.image.title=seaweedfs
  28. org.opencontainers.image.description=SeaweedFS is a distributed storage system for blobs, objects, files, and data lake, to store and serve billions of files fast!
  29. org.opencontainers.image.vendor=Chris Lu
  30. -
  31. name: Set up QEMU
  32. uses: docker/setup-qemu-action@v1
  33. -
  34. name: Set up Docker Buildx
  35. uses: docker/setup-buildx-action@v1
  36. with:
  37. buildkitd-flags: "--debug"
  38. -
  39. name: Login to Docker Hub
  40. if: github.event_name != 'pull_request'
  41. uses: docker/login-action@v1
  42. with:
  43. username: ${{ secrets.DOCKER_USERNAME }}
  44. password: ${{ secrets.DOCKER_PASSWORD }}
  45. -
  46. name: Build
  47. uses: docker/build-push-action@v2
  48. with:
  49. context: ./docker
  50. push: ${{ github.event_name != 'pull_request' }}
  51. file: ./docker/Dockerfile.go_build
  52. platforms: linux/amd64, linux/arm, linux/arm64, linux/386
  53. tags: ${{ steps.docker_meta.outputs.tags }}
  54. labels: ${{ steps.docker_meta.outputs.labels }}
  55. build-large-release-container:
  56. runs-on: [ubuntu-latest]
  57. steps:
  58. -
  59. name: Checkout
  60. uses: actions/checkout@v2
  61. -
  62. name: Docker meta
  63. id: docker_meta
  64. uses: docker/metadata-action@v3
  65. with:
  66. images: |
  67. chrislusf/seaweedfs
  68. ghcr.io/chrislusf/seaweedfs
  69. tags: |
  70. type=ref,event=tag,suffix=_large_disk
  71. flavor: |
  72. latest=false
  73. labels: |
  74. org.opencontainers.image.title=seaweedfs
  75. org.opencontainers.image.description=SeaweedFS is a distributed storage system for blobs, objects, files, and data lake, to store and serve billions of files fast!
  76. org.opencontainers.image.vendor=Chris Lu
  77. -
  78. name: Set up QEMU
  79. uses: docker/setup-qemu-action@v1
  80. -
  81. name: Set up Docker Buildx
  82. uses: docker/setup-buildx-action@v1
  83. with:
  84. buildkitd-flags: "--debug"
  85. -
  86. name: Login to Docker Hub
  87. if: github.event_name != 'pull_request'
  88. uses: docker/login-action@v1
  89. with:
  90. username: ${{ secrets.DOCKER_USERNAME }}
  91. password: ${{ secrets.DOCKER_PASSWORD }}
  92. -
  93. name: Build
  94. uses: docker/build-push-action@v2
  95. with:
  96. context: ./docker
  97. push: ${{ github.event_name != 'pull_request' }}
  98. file: ./docker/Dockerfile.go_build_large
  99. platforms: linux/amd64, linux/arm, linux/arm64, linux/386
  100. tags: ${{ steps.docker_meta.outputs.tags }}
  101. labels: ${{ steps.docker_meta.outputs.labels }}
  102. build-large-release-container_rocksdb:
  103. runs-on: [ubuntu-latest]
  104. steps:
  105. -
  106. name: Checkout
  107. uses: actions/checkout@v2
  108. -
  109. name: Docker meta
  110. id: docker_meta
  111. uses: docker/metadata-action@v3
  112. with:
  113. images: |
  114. chrislusf/seaweedfs
  115. tags: |
  116. type=ref,event=tag,suffix=_large_disk_rocksdb
  117. flavor: |
  118. latest=false
  119. labels: |
  120. org.opencontainers.image.title=seaweedfs
  121. org.opencontainers.image.description=SeaweedFS is a distributed storage system for blobs, objects, files, and data lake, to store and serve billions of files fast!
  122. org.opencontainers.image.vendor=Chris Lu
  123. -
  124. name: Set up QEMU
  125. uses: docker/setup-qemu-action@v1
  126. -
  127. name: Set up Docker Buildx
  128. uses: docker/setup-buildx-action@v1
  129. -
  130. name: Login to Docker Hub
  131. if: github.event_name != 'pull_request'
  132. uses: docker/login-action@v1
  133. with:
  134. username: ${{ secrets.DOCKER_USERNAME }}
  135. password: ${{ secrets.DOCKER_PASSWORD }}
  136. -
  137. name: Build
  138. uses: docker/build-push-action@v2
  139. with:
  140. context: ./docker
  141. push: ${{ github.event_name != 'pull_request' }}
  142. file: ./docker/Dockerfile.rocksdb_large
  143. platforms: linux/amd64
  144. tags: ${{ steps.docker_meta.outputs.tags }}
  145. labels: ${{ steps.docker_meta.outputs.labels }}