image: egon0/docker-with-buildx-and-git variables: DOCKER_HOST: tcp://docker:2375/ DOCKER_DRIVER: overlay2 DOCKER_TLS_CERTDIR: '' services: - docker:dind stages: - collect_stage - build_stage - deploy build_collect: stage: collect_stage image: python:bullseye script: - git clone https://github.com/sudhanshu16/openwrt-firmware-selector.git - cd openwrt-firmware-selector - python ./scripts/collect.py --image-url 'https://downloads.openwrt.org/{base}/{target}' https://downloads.openwrt.org ./src ./public/ artifacts: name: 'collect_${CI_COMMIT_REF_NAME}' paths: - openwrt-firmware-selector build_stage: stage: build_stage image: node:lts-alpine script: - cd openwrt-firmware-selector - yarn install - yarn build dependencies: - build_collect artifacts: name: 'build_${CI_COMMIT_REF_NAME}' paths: - openwrt-firmware-selector/build/ deploy_docker: stage: deploy variables: IMAGE_TAG: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG D_IMAGE_TAG: egon0/openwrt-firmware-selector-multiarch:$CI_COMMIT_REF_SLUG D_LATEST_TAG: egon0/openwrt-firmware-selector-multiarch:latest script: - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY - docker login -u $DOCKER_LOGIN -p $DOCKER_PASSWORD - docker buildx create --use --name A$CI_COMMIT_SHORT_SHA - docker buildx build --platform $BUILD_PLATFORMS --push -t $IMAGE_TAG -t $CI_REGISTRY_IMAGE:latest -t $D_IMAGE_TAG -t $D_LATEST_TAG . dependencies: - build_stage