openwrt-firmware-selector/.gitlab-ci.yml

56 lines
1.6 KiB
YAML

image: egon0/docker-with-buildx-and-git
variables:
DOCKER_HOST: tcp://docker:2375/
DOCKER_DRIVER: overlay2
DOCKER_TLS_CERTDIR: ''
services:
- docker:dind
stages:
- collect
- build
- deploy
collect:
stage: collect
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: build
image: node:lts-alpine
script:
- npm install json
- node_modules/.bin/json -I -f ./openwrt-firmware-selector/package.json -e "this.homepage='/'"
- cd openwrt-firmware-selector
- yarn install
- yarn build
dependencies:
- collect
artifacts:
name: 'build_${CI_COMMIT_REF_NAME}'
paths:
- openwrt-firmware-selector/build/
deploy:
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