Files
picar/.gitlab-ci.yml
Piv 2ae5c425ad Update gitlab ci to include protoc gen, swift build.
It also should now only run each module when the correct directory changes.
2020-09-13 21:41:30 +09:30

101 lines
2.1 KiB
YAML

stages:
- protoc
- build
- deploy
protoc_base:
image: vato.ddns.net:8083/gradle
stage: protoc
rules:
- changes:
- protobuf/*
script:
- ./gradlew :protobuf:generateProto
protoc_python:
extends: protoc_base
rules:
- changes:
- pycar/*
- protobuf/*
script:
- ./gradlew :pycar:copyPythonCode
protoc_swift_Car:
extends: protoc_base
rules:
- changes:
- SwiftyCar/*
- protobuf/*
script:
- ./gradlew :SwiftyCar:copySwiftCode
protoc_swift_CarController:
extends: protoc_base
rules:
- changes:
- CarControlleriOS/*
- protobuf/*
script:
- ./gradlew :CarControlleriOS:copySwiftCode
build_pycar:
image: vato.ddns.net:8083/python-infra:buster
stage: build
rules:
- changes:
- pycar/*
- protobuf/*
needs:
- protoc_python
script:
- cd pycar && python setup.py bdist_wheel && cd ..
build_pycar_docker:
image: vato.ddns.net:8083/docker
stage: build
rules:
- changes:
- pycar/*
- protobuf/*
needs:
- protoc_python
script:
- echo ${DOCKER_PASSWORD} | docker login vato.ddns.net:8083 --username ${DOCKER_USERNAME} --password-stdin
- docker build -f pycar/Dockerfile --build-arg PYPI_USERNAME=${PYPI_USERNAME} --build-arg PYPI_PASSWORD=${PYPI_PASSWORD} -t vato.ddns.net:8082/pycar:latest pycar
build_esp32:
image: vato.ddns.net:8083/shaguarger/platformio
stage: build
rules:
- changes:
- esp32/*
script:
- platformio ci --project-conf esp32/platformio.ini esp32
deploy_pycar:
image: vato.ddns.net:8083/python-infra:buster
stage: deploy
needs:
- build_pycar
script:
- cd pycar && python -m twine upload -u $TWINE_COMMON_CREDS_USR -p $TWINE_COMMON_CREDS_PSW dist/* && cd ..
only:
- tags
deploy_pycar_docker:
image: vato.ddns.net:8083/docker
stage: deploy
script:
- echo ${DOCKER_PASSWORD} | docker login vato.ddns.net:8082 --username ${DOCKER_USERNAME} --password-stdin
- docker push vato.ddns.net:8082/pycar:latest
needs:
- build_pycar_docker
only:
- tags
deploy_pycar_docker_arm:
extends: deploy_pycar_docker
tags:
- docker-arm