Cant push to registry: An image does not exist locally with the tag

Hello, i can’t figure out what i do wrong. Build raises exception “An image does not exist locally with the tag”. As i can see from the output image successfully built and tagged, but why it cant be pushed?
docker-compose push does not work too.

Successfully tagged nginx:dev
$ docker image ls
REPOSITORY          TAG                 IMAGE ID            CREATED                  SIZE
nginx     dev                 c1b133d891d6        Less than a second ago   15.5MB

$ echo $TEST_NGINX_IMAGE
registry.gitlab.com/.../.../nginx:dev
$ docker push $TEST_NGINX_IMAGE
The push refers to repository [registry.gitlab.com/.../.../nginx:dev]

Here the CI config

image: docker:latest

stages:
  - build

services:
  - docker:dind

variables:
  DOCKER_HOST: tcp://docker:2375/
  DOCKER_DRIVER: overlay2

  NGINX_IMAGE_NAME: nginx
  TEST_NGINX_IMAGE: $CI_REGISTRY_IMAGE/$NGINX_IMAGE_NAME:$CI_COMMIT_REF_NAME

before_script:
  - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY

build_image:
  stage: build
  script:
    - apk add --no-cache py-pip
    - cd $WORKING_DIR
    - pip install docker-compose
    - TAG=$CI_COMMIT_REF_NAME docker-compose build nginx
    - docker push $TEST_NGINX_IMAGE