Files
picar/.gitlab-ci.yml
Piv 95b3bbf607 Downgrade gradle version for ci build
This is until the protobuf compile issue is fixed
2021-04-24 22:32:11 +09:30

101 lines
2.3 KiB
YAML

stages:
- protoc
- build
- deploy
cache:
key: ${CI_COMMIT_REF_SLUG}
paths:
- "**/Package.resolved"
- "**/.build/"
- .gradle/
protoc_gen:
image: vato.ddns.net:8083/gradle:6.7.1
stage: protoc
rules:
- changes:
- protobuf/*
artifacts:
paths:
- "./**/*pb2*"
- "./SwiftyCar/Sources/**/*.pb.swift"
- "./SwiftyCar/Sources/**/*.grpc.swift"
- "./CarControlleriOS/Sources/**/*.pb.swift"
- "./CarControlleriOS/Sources/**/*.grpc.swift"
expire_in: 30 days
script:
- gradle :pycar:copyPythonCode
- gradle :SwiftyCar:copySwiftCode
- gradle :CarControlleriOS:copySwiftCode
build_pycar:
image: vato.ddns.net:8083/python-infra:buster
stage: build
rules:
- changes:
- pycar/*
needs:
- protoc_gen
script:
- cd pycar && python setup.py bdist_wheel && cd ..
build_pycar_docker:
image: vato.ddns.net:8083/docker
stage: build
rules:
- changes:
- pycar/*
needs:
- protoc_gen
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
built_swift_car:
image: vato.ddns.net:8083/swift
stage: build
rules:
- changes:
- SwiftyCar/*
- protobuf/*
needs:
- protoc_gen
script:
- cd SwiftyCar && swift build
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