release-rc.yml 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. name: Release Docker Images for RC
  2. on:
  3. push:
  4. branches:
  5. - rc/**
  6. jobs:
  7. build-rc:
  8. runs-on: ubuntu-latest
  9. steps:
  10. - uses: actions/checkout@v2
  11. - name: Cache/Restore yarn cache
  12. uses: actions/cache@v1
  13. with:
  14. path: /usr/local/share/.cache/yarn
  15. key: ${{ runner.os }}-yarn-${{ matrix.node-version }}-${{ hashFiles('**/yarn.lock') }}
  16. restore-keys: |
  17. ${{ runner.os }}-yarn-${{ matrix.node-version }}-
  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:4
  26. docker buildx build \
  27. --tag growi \
  28. --platform linux/amd64 \
  29. --load \
  30. --cache-from=type=registry,ref=$CACHE_REF \
  31. --cache-to=type=registry,ref=$CACHE_REF,mode=max \
  32. --file ./docker/Dockerfile .
  33. - name: Get SemVer
  34. run: |
  35. semver=`npm run version --silent`
  36. echo ::set-env name=SEMVER::$semver
  37. - name: Docker Tags by SemVer
  38. uses: weseek/ghaction-docker-tags-by-semver@v1.0.3
  39. with:
  40. source: growi
  41. target: weseek/growi
  42. semver: ${{ env.SEMVER }}
  43. publish: true
  44. - name: Check whether workspace is clean
  45. run: |
  46. STATUS=`git status --porcelain`
  47. if [ -z "$STATUS" ]; then exit 0; else exit 1; fi