docker-openwrt/.gitlab-ci.yml

71 lines
2.1 KiB
YAML

variables:
CI_IMAGE: $DOCKER_HUB_USER/openwrt
build:
image: docker:latest
stage: build
services:
- docker:dind
variables:
TAG: 19.07.3-x86_64
before_script:
- docker login -u $DOCKER_HUB_USER -p $DOCKER_HUB_TOKEN
script:
- cp openwrt.conf.example openwrt.conf
- sed -i -E "s@(BUILD_TAG=).+@\1$CI_IMAGE@" openwrt.conf
- apk add make
- make build
- docker tag $CI_IMAGE $CI_IMAGE:$TAG
- docker push $CI_IMAGE
- docker push $CI_IMAGE:$TAG
only:
- master
.build-rpi:
image: docker:latest
stage: build
services:
- docker:dind
before_script:
- docker login -u $DOCKER_HUB_USER -p $DOCKER_HUB_TOKEN
- docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
- apk add util-linux
- |
mkdir -p /tmp/dev
mount -t devtmpfs none /tmp/dev
for i in $(seq 0 9); do
mknod -m 0660 "/tmp/dev/loop$i" b 7 "$i"
done
script:
- cp openwrt.conf.example openwrt.conf
- sed -i -E "s@(BUILD_TAG=).+@\1$CI_IMAGE@" openwrt.conf
- wget -qO- $SRC_IMAGE | gzip -d > image.img
- source openwrt.conf
- export ROOT_PW; export BUILD_TAG; export LOOP_ARGS="=/tmp/dev/loop0"; ./build-rpi.sh
- docker tag $CI_IMAGE $CI_IMAGE:$TAG
- docker push $CI_IMAGE:$TAG
build-rpi2:
extends: .build-rpi
variables:
SRC_IMAGE: http://downloads.openwrt.org/releases/19.07.3/targets/brcm2708/bcm2709/openwrt-19.07.3-brcm2708-bcm2709-rpi-2-ext4-factory.img.gz
TAG: rpi2
build-rpi3:
extends: .build-rpi
variables:
SRC_IMAGE: https://downloads.openwrt.org/releases/19.07.3/targets/brcm2708/bcm2710/openwrt-19.07.3-brcm2708-bcm2710-rpi-3-ext4-factory.img.gz
TAG: rpi3
build-rpi4:
extends: .build-rpi
variables:
SRC_IMAGE: https://downloads.openwrt.org/snapshots/targets/bcm27xx/bcm2711/openwrt-bcm27xx-bcm2711-rpi-4-ext4-factory.img.gz
TAG: rpi4
build-rpi-zero:
extends: .build-rpi
variables:
SRC_IMAGE: https://downloads.openwrt.org/releases/19.07.3/targets/brcm2708/bcm2708/openwrt-19.07.3-brcm2708-bcm2708-rpi-ext4-factory.img.gz
TAG: rpi-zero