build.yml 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. name: Release Docker Images
  2. on:
  3. push:
  4. tags:
  5. - v3.*
  6. jobs:
  7. build:
  8. runs-on: ubuntu-latest
  9. strategy:
  10. matrix:
  11. flavor: [default, nocdn]
  12. steps:
  13. - uses: actions/checkout@v1
  14. - name: Determine suffix
  15. run: |
  16. [[ ${{ matrix.flavor }} = "nocdn" ]] && suffix="-nocdn" || suffix=""
  17. echo ::set-env name=SUFFIX::$suffix
  18. - name: Set up Docker Buildx
  19. uses: crazy-max/ghaction-docker-buildx@v1.0.4
  20. - name: Login to docker.io registry
  21. run: |
  22. echo ${{ secrets. DOCKER_REGISTRY_PASSWORD }} | docker login --username wsmoogle --password-stdin
  23. - name: Build Docker Image
  24. run: |
  25. CACHE_REF=weseek/growi-cache:3${{ env.SUFFIX }}
  26. docker buildx build \
  27. --tag growi \
  28. --build-arg flavor=${{ matrix.flavor }} \
  29. --platform linux/amd64 \
  30. --load \
  31. --cache-from=type=registry,ref=$CACHE_REF \
  32. --cache-to=type=registry,ref=$CACHE_REF,mode=max \
  33. --file ./docker/Dockerfile .
  34. - name: Get SemVer
  35. run: |
  36. semver=`npm run version --silent`
  37. echo ::set-env name=SEMVER::$semver
  38. - name: Docker Tags by SemVer
  39. uses: weseek/ghaction-docker-tags-by-semver@v1.0.3
  40. with:
  41. source: growi
  42. target: weseek/growi
  43. semver: ${{ env.SEMVER }}
  44. suffix: ${{ env.SUFFIX }}
  45. publish: true
  46. publish-desc:
  47. runs-on: ubuntu-latest
  48. needs: build
  49. steps:
  50. - uses: actions/checkout@v1
  51. - name: Update Docker Hub Description
  52. uses: peter-evans/dockerhub-description@v2.1.0
  53. env:
  54. DOCKERHUB_USERNAME: wsmoogle
  55. DOCKERHUB_PASSWORD: ${{ secrets.DOCKER_REGISTRY_PASSWORD }}
  56. DOCKERHUB_REPOSITORY: weseek/growi
  57. README_FILEPATH: ./docker/README.md