diff --git a/.github/workflows/build-docker-beta.yaml b/.github/workflows/build-docker-beta.yaml deleted file mode 100644 index 88e707feb..000000000 --- a/.github/workflows/build-docker-beta.yaml +++ /dev/null @@ -1,140 +0,0 @@ -name: Docker image BETA - -# on: [push] - -on: - push: - tags: - - 'v[0-9]+.[0-9]+.[0-9]+-beta.[0-9]+' - - 'v[0-9]+.[0-9]+.[0-9]+-docker.[0-9]+' - -jobs: - build: - - runs-on: ${{ matrix.os }} - - strategy: - matrix: - os: [ubuntu-18.04] - - steps: - - name: Context - env: - GITHUB_CONTEXT: ${{ toJson(github) }} - run: echo "$GITHUB_CONTEXT" - - uses: actions/checkout@v2 - with: - fetch-depth: 1 - - - name: Docker meta - id: meta - uses: docker/metadata-action@v4 - with: - images: | - dbgate/dbgate - flavor: | - latest=false - tags: | - type=match,pattern=\d+.\d+.\d+,suffix=-beta,enable=${{ contains(github.ref_name, '-docker.') || contains(github.ref_name, '-beta.') }} - type=raw,value=beta,enable=${{ contains(github.ref_name, '-docker.') || contains(github.ref_name, '-beta.') }} - - type=match,pattern=\d+.\d+.\d+,enable=${{ !contains(github.ref_name, '-docker.') && !contains(github.ref_name, '-beta.') }} - type=raw,value=latest,enable=${{ !contains(github.ref_name, '-docker.') && !contains(github.ref_name, '-beta.') }} - - - name: Docker alpine meta - id: alpmeta - uses: docker/metadata-action@v4 - with: - images: | - dbgate/dbgate - flavor: | - latest=false - tags: | - type=match,pattern=\d+.\d+.\d+,suffix=-beta-alpine,enable=${{ contains(github.ref_name, '-docker.') || contains(github.ref_name, '-beta.') }} - type=raw,value=beta-alpine,enable=${{ contains(github.ref_name, '-docker.') || contains(github.ref_name, '-beta.') }} - - type=match,pattern=\d+.\d+.\d+,suffix=-alpine,enable=${{ !contains(github.ref_name, '-docker.') && !contains(github.ref_name, '-beta.') }} - type=raw,value=alpine,enable=${{ !contains(github.ref_name, '-docker.') && !contains(github.ref_name, '-beta.') }} - - - name: Use Node.js 14.x - uses: actions/setup-node@v1 - with: - node-version: 14.x - - name: yarn install - run: | - # yarn --version - # yarn config set network-timeout 300000 - yarn install - - name: setCurrentVersion - run: | - yarn setCurrentVersion - - name: Prepare docker image - run: | - yarn run prepare:docker - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 - - name: Login to DockerHub - uses: docker/login-action@v2 - with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - - - name: Build and push - uses: docker/build-push-action@v3 - with: - push: true - context: ./docker - tags: ${{ steps.meta.outputs.tags }} - platforms: linux/amd64,linux/arm64,linux/arm/v7 - - - name: Build and push alpine - uses: docker/build-push-action@v3 - with: - push: true - context: ./docker - file: ./docker/Dockerfile-alpine - tags: ${{ steps.alpmeta.outputs.tags }} - platforms: linux/amd64,linux/arm64,linux/arm/v7 - - # - name: Build docker image - # run: | - # docker build ./docker -t dbgate - # - name: Push docker image - # run: | - # docker tag dbgate dbgate/dbgate:beta - # docker tag dbgate ${{ steps.meta.outputs.tags }} - # docker login -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }} - # docker push dbgate/dbgate:beta - # docker push ${{ steps.meta.outputs.tags }} - - # - name: Build alpine docker image - # run: | - # docker build ./docker -t dbgate -f docker/Dockerfile-alpine - # - name: Push alpine docker image - # run: | - # docker tag dbgate dbgate/dbgate:beta-alpine - # docker tag dbgate ${{ steps.alpmeta.outputs.tags }} - # docker login -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }} - # docker push dbgate/dbgate:beta-alpine - # docker push ${{ steps.alpmeta.outputs.tags }} - - # - name: Build docker - # uses: mr-smithers-excellent/docker-build-push@v3 - # with: - # image: dbgate/dbgate - # registry: docker.io - # dockerfile: docker/Dockerfile - # username: ${{ secrets.DOCKER_USERNAME }} - # password: ${{ secrets.DOCKER_PASSWORD }} - # tags: ${{ steps.meta.outputs.tags }},beta - - # - name: Build docker alpine - # uses: mr-smithers-excellent/docker-build-push@v3 - # with: - # image: dbgate/dbgate - # registry: docker.io - # dockerfile: docker/Dockerfile-alpine - # username: ${{ secrets.DOCKER_USERNAME }} - # password: ${{ secrets.DOCKER_PASSWORD }} - # tags: ${{ steps.alpmeta.outputs.tags }},beta-alpine diff --git a/.github/workflows/build-docker.yaml b/.github/workflows/build-docker.yaml index df9729ae7..cfd88b948 100644 --- a/.github/workflows/build-docker.yaml +++ b/.github/workflows/build-docker.yaml @@ -1,17 +1,11 @@ name: Docker image -# on: [push] - on: push: tags: - 'v[0-9]+.[0-9]+.[0-9]+' - # - 'v*' # Push events to matching v*, i.e. v1.0, v20.15.10 - -# on: -# push: -# branches: -# - production + - 'v[0-9]+.[0-9]+.[0-9]+-beta.[0-9]+' + - 'v[0-9]+.[0-9]+.[0-9]+-docker.[0-9]+' jobs: build: @@ -30,12 +24,45 @@ jobs: - uses: actions/checkout@v2 with: fetch-depth: 1 + + - name: Docker meta + id: meta + uses: docker/metadata-action@v4 + with: + images: | + dbgate/dbgate + flavor: | + latest=false + tags: | + type=match,pattern=\d+.\d+.\d+,suffix=-beta,enable=${{ contains(github.ref_name, '-docker.') || contains(github.ref_name, '-beta.') }} + type=raw,value=beta,enable=${{ contains(github.ref_name, '-docker.') || contains(github.ref_name, '-beta.') }} + + type=match,pattern=\d+.\d+.\d+,enable=${{ !contains(github.ref_name, '-docker.') && !contains(github.ref_name, '-beta.') }} + type=raw,value=latest,enable=${{ !contains(github.ref_name, '-docker.') && !contains(github.ref_name, '-beta.') }} + + - name: Docker alpine meta + id: alpmeta + uses: docker/metadata-action@v4 + with: + images: | + dbgate/dbgate + flavor: | + latest=false + tags: | + type=match,pattern=\d+.\d+.\d+,suffix=-beta-alpine,enable=${{ contains(github.ref_name, '-docker.') || contains(github.ref_name, '-beta.') }} + type=raw,value=beta-alpine,enable=${{ contains(github.ref_name, '-docker.') || contains(github.ref_name, '-beta.') }} + + type=match,pattern=\d+.\d+.\d+,suffix=-alpine,enable=${{ !contains(github.ref_name, '-docker.') && !contains(github.ref_name, '-beta.') }} + type=raw,value=alpine,enable=${{ !contains(github.ref_name, '-docker.') && !contains(github.ref_name, '-beta.') }} + - name: Use Node.js 14.x uses: actions/setup-node@v1 with: node-version: 14.x - name: yarn install run: | + # yarn --version + # yarn config set network-timeout 300000 yarn install - name: setCurrentVersion run: | @@ -43,19 +70,28 @@ jobs: - name: Prepare docker image run: | yarn run prepare:docker - - name: Build docker image - run: | - docker build ./docker -t dbgate - - name: Push docker image - run: | - docker tag dbgate dbgate/dbgate - docker login -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }} - docker push dbgate/dbgate - - name: Build alpine docker image - run: | - docker build ./docker -t dbgate -f docker/Dockerfile-alpine - - name: Push alpine docker image - run: | - docker tag dbgate dbgate/dbgate:alpine - docker login -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }} - docker push dbgate/dbgate:alpine + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - name: Login to DockerHub + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + + - name: Build and push + uses: docker/build-push-action@v3 + with: + push: true + context: ./docker + tags: ${{ steps.meta.outputs.tags }} + platforms: linux/amd64,linux/arm64,linux/arm/v7 + + - name: Build and push alpine + uses: docker/build-push-action@v3 + with: + push: true + context: ./docker + file: ./docker/Dockerfile-alpine + tags: ${{ steps.alpmeta.outputs.tags }} + platforms: linux/amd64,linux/arm64,linux/arm/v7