name: Release Docker Images on: push: branches: - tmp/release-** jobs: build: runs-on: ubuntu-latest strategy: matrix: flavor: [default, nocdn] steps: - uses: actions/checkout@v2 - name: Determine suffix run: | [[ ${{ matrix.flavor }} = "nocdn" ]] && suffix="-nocdn" || suffix="" echo ::set-env name=SUFFIX::$suffix - name: Cache/Restore yarn cache uses: actions/cache@v1 with: path: /usr/local/share/.cache/yarn key: ${{ runner.os }}-yarn-${{ matrix.node-version }}-${{ hashFiles('**/yarn.lock') }} restore-keys: | ${{ runner.os }}-yarn-${{ matrix.node-version }}- - name: Set up Docker Buildx uses: crazy-max/ghaction-docker-buildx@v1.0.4 - name: Login to docker.io registry run: | echo ${{ secrets. DOCKER_REGISTRY_PASSWORD }} | docker login --username wsmoogle --password-stdin - name: Build Docker Image run: | CACHE_REF=weseek/growi-cache:3${{ env.SUFFIX }} docker buildx build \ --tag growi${{ env.SUFFIX }} \ --build-arg flavor=${{ matrix.flavor }} \ --platform linux/amd64 \ --load \ --cache-from=type=registry,ref=$CACHE_REF \ --cache-to=type=registry,ref=$CACHE_REF,mode=max \ --file ./docker/Dockerfile . - name: Get SemVer run: | semver=`npm run version --silent` echo ::set-env name=SEMVER::$semver - name: Docker Tags by SemVer uses: weseek/ghaction-docker-tags-by-semver@v1.0.5 with: source: growi${{ env.SUFFIX }} target: weseek/growi semver: ${{ env.SEMVER }} suffix: ${{ env.SUFFIX }} additional-tags: 'latest' publish: true publish-desc: runs-on: ubuntu-latest needs: build steps: - uses: actions/checkout@v2 - name: Update Docker Hub Description uses: peter-evans/dockerhub-description@v2.1.0 env: DOCKERHUB_USERNAME: wsmoogle DOCKERHUB_PASSWORD: ${{ secrets.DOCKER_REGISTRY_PASSWORD }} DOCKERHUB_REPOSITORY: weseek/growi README_FILEPATH: ./docker/README.md