parent
ba6fd511b6
commit
50e859e6b1
2 changed files with 4 additions and 199 deletions
@ -1,197 +0,0 @@ |
|||||||
pr: none |
|
||||||
|
|
||||||
variables: |
|
||||||
- group: shared-variables |
|
||||||
|
|
||||||
jobs: |
|
||||||
- job: build |
|
||||||
pool: |
|
||||||
vmImage: 'ubuntu-16.04' |
|
||||||
steps: |
|
||||||
- checkout: self |
|
||||||
lfs: true |
|
||||||
submodules: true |
|
||||||
persistCredentials: true |
|
||||||
- script: | |
|
||||||
HEADER=$(git config http.https://github.com/commaai/one.extraheader) |
|
||||||
|
|
||||||
mkdir xx |
|
||||||
cd xx |
|
||||||
|
|
||||||
git init |
|
||||||
git remote add origin https://github.com/commaai/xx |
|
||||||
git config gc.auto 0 |
|
||||||
git lfs install --local |
|
||||||
|
|
||||||
git -c http.extraheader="$HEADER" fetch --force --tags --prune --progress --no-recurse-submodules origin |
|
||||||
HASH=$(git rev-parse origin/master) |
|
||||||
git -c http.https://github.com.extraheader="$HEADER" lfs fetch origin $HASH |
|
||||||
git checkout --progress --force $HASH |
|
||||||
displayName: Checkout xx |
|
||||||
- script: | |
|
||||||
until docker login commaregistry.azurecr.io -u commaregistry -p "${COMMAREGISTRY_PASSWORD}" |
|
||||||
do |
|
||||||
echo "Try again" |
|
||||||
done |
|
||||||
displayName: Registry login |
|
||||||
env: |
|
||||||
COMMAREGISTRY_PASSWORD: $(COMMAREGISTRY_PASSWORD) |
|
||||||
- script: | |
|
||||||
docker pull $(grep -ioP '(?<=^from)\s+\S+' Dockerfile.openpilot_ci) || true |
|
||||||
docker pull commaregistry.azurecr.io/openpilot_ci:latest || true |
|
||||||
docker build \ |
|
||||||
--cache-from commaregistry.azurecr.io/openpilot_ci:latest \ |
|
||||||
-t commaregistry.azurecr.io/openpilot_ci:latest \ |
|
||||||
-t commaregistry.azurecr.io/openpilot_ci:${BUILD_SOURCEVERSION} \ |
|
||||||
-f Dockerfile.openpilot_ci . |
|
||||||
displayName: Docker build |
|
||||||
- script: | |
|
||||||
docker push commaregistry.azurecr.io/openpilot_ci:latest |
|
||||||
docker push commaregistry.azurecr.io/openpilot_ci:${BUILD_SOURCEVERSION} |
|
||||||
displayName: Docker push |
|
||||||
|
|
||||||
- job: linter |
|
||||||
displayName: Linter |
|
||||||
container: |
|
||||||
image: commaregistry.azurecr.io/openpilot_ci:$(Build.SourceVersion) |
|
||||||
endpoint: commaregistry |
|
||||||
dependsOn: build |
|
||||||
steps: |
|
||||||
- checkout: none |
|
||||||
- script: | |
|
||||||
sudo -i -u root bash << EOF |
|
||||||
set -e |
|
||||||
export PATH=/root/.pyenv/bin:/root/.pyenv/shims:$PATH |
|
||||||
export PYTHONPATH=/tmp/openpilot |
|
||||||
|
|
||||||
cd /tmp/openpilot |
|
||||||
/tmp/openpilot/flake8_openpilot.sh |
|
||||||
/tmp/openpilot/pylint_openpilot.sh |
|
||||||
EOF |
|
||||||
displayName: Linter |
|
||||||
|
|
||||||
- job: unittest |
|
||||||
displayName: Unit Tests |
|
||||||
container: |
|
||||||
image: commaregistry.azurecr.io/openpilot_ci:$(Build.SourceVersion) |
|
||||||
endpoint: commaregistry |
|
||||||
dependsOn: linter |
|
||||||
steps: |
|
||||||
- checkout: none |
|
||||||
- script: | |
|
||||||
sudo -i -u root bash << EOF |
|
||||||
set -e |
|
||||||
|
|
||||||
export PATH=/root/.pyenv/bin:/root/.pyenv/shims:/tmp/openpilot/external/bin:$PATH |
|
||||||
export PYTHONPATH=/tmp/openpilot |
|
||||||
|
|
||||||
/tmp/openpilot/selfdrive/test/test_fingerprints.py |
|
||||||
/tmp/openpilot/selfdrive/locationd/test/ci_test.py |
|
||||||
|
|
||||||
cd /tmp/openpilot |
|
||||||
python -m unittest discover common |
|
||||||
python -m unittest discover selfdrive/car |
|
||||||
python -m unittest discover selfdrive/boardd |
|
||||||
python -m unittest discover selfdrive/loggerd |
|
||||||
python -m unittest discover selfdrive/controls |
|
||||||
python -m unittest discover selfdrive/locationd |
|
||||||
python -m unittest discover selfdrive/athena |
|
||||||
|
|
||||||
EOF |
|
||||||
displayName: Unittests |
|
||||||
|
|
||||||
- job: quick_check |
|
||||||
displayName: Test car models |
|
||||||
container: |
|
||||||
image: commaregistry.azurecr.io/openpilot_ci:$(Build.SourceVersion) |
|
||||||
endpoint: commaregistry |
|
||||||
options: --shm-size 1G |
|
||||||
dependsOn: linter |
|
||||||
steps: |
|
||||||
- checkout: none |
|
||||||
- script: | |
|
||||||
sudo -i -u root bash << EOF |
|
||||||
set -e |
|
||||||
export PATH=/root/.pyenv/bin:/root/.pyenv/shims:/tmp/openpilot/external/bin:$PATH |
|
||||||
export PYTHONPATH=/tmp/openpilot |
|
||||||
export EXTERNAL=1 |
|
||||||
export CI=1 |
|
||||||
export AZUTIL_KEYS=/tmp/openpilot/selfdrive/test/commadataci.json |
|
||||||
export UNLOGGER_PATH=xx/chffr/unlogger/unlogger.py |
|
||||||
|
|
||||||
mkdir -p /data/params |
|
||||||
|
|
||||||
cd /tmp/openpilot |
|
||||||
/tmp/openpilot/selfdrive/test/test_car_models.py |
|
||||||
EOF |
|
||||||
|
|
||||||
- job: longitudinal_test |
|
||||||
displayName: Longitudinal Test |
|
||||||
container: |
|
||||||
image: commaregistry.azurecr.io/openpilot_ci:$(Build.SourceVersion) |
|
||||||
endpoint: commaregistry |
|
||||||
volumes: |
|
||||||
- /tmp/out:/tmp/out |
|
||||||
options: --shm-size 1G |
|
||||||
dependsOn: linter |
|
||||||
steps: |
|
||||||
- checkout: none |
|
||||||
- script: | |
|
||||||
sudo -i -u root bash << EOF |
|
||||||
set -e |
|
||||||
export PATH=/root/.pyenv/bin:/root/.pyenv/shims:/tmp/openpilot/external/bin:$PATH |
|
||||||
export PYTHONPATH=/tmp/openpilot |
|
||||||
|
|
||||||
cd /tmp/openpilot |
|
||||||
/tmp/openpilot/selfdrive/test/longitudinal_maneuvers/test_longitudinal.py |
|
||||||
cp -r /tmp/openpilot/out/longitudinal /tmp/out |
|
||||||
EOF |
|
||||||
- task: PublishBuildArtifacts@1 |
|
||||||
inputs: |
|
||||||
pathtoPublish: /tmp/out |
|
||||||
artifactName: out |
|
||||||
|
|
||||||
- job: process_replay |
|
||||||
displayName: Process Replay |
|
||||||
container: |
|
||||||
image: commaregistry.azurecr.io/openpilot_ci:$(Build.SourceVersion) |
|
||||||
endpoint: commaregistry |
|
||||||
volumes: |
|
||||||
- /tmp/out:/tmp/out |
|
||||||
options: --shm-size 1G |
|
||||||
dependsOn: linter |
|
||||||
steps: |
|
||||||
- checkout: none |
|
||||||
- script: | |
|
||||||
sudo -i -u root bash << EOF |
|
||||||
set -e |
|
||||||
|
|
||||||
export PATH=/root/.pyenv/bin:/root/.pyenv/shims:/tmp/openpilot/external/bin:$PATH |
|
||||||
export PYTHONPATH=/tmp/openpilot |
|
||||||
export PYTHONUNBUFFERED=1 |
|
||||||
export CI=1 |
|
||||||
|
|
||||||
cd /tmp/openpilot |
|
||||||
pip install coverage==4.5.4 |
|
||||||
coverage run --branch --concurrency=thread -p /tmp/openpilot/selfdrive/test/process_replay/test_processes.py |
|
||||||
coverage combine |
|
||||||
coverage html -d /tmp/out/coverage |
|
||||||
|
|
||||||
EOF |
|
||||||
displayName: Run replay |
|
||||||
- script: | |
|
||||||
sudo -i -u root bash << EOF |
|
||||||
cp /tmp/openpilot/selfdrive/test/process_replay/diff.txt /tmp/out/diff.txt |
|
||||||
EOF |
|
||||||
condition: succeededOrFailed() |
|
||||||
displayName: Copy diff |
|
||||||
- task: PublishBuildArtifacts@1 |
|
||||||
inputs: |
|
||||||
pathtoPublish: /tmp/out/diff.txt |
|
||||||
artifactName: diff.txt |
|
||||||
condition: succeededOrFailed() |
|
||||||
- task: PublishBuildArtifacts@1 |
|
||||||
inputs: |
|
||||||
pathtoPublish: /tmp/out/coverage |
|
||||||
artifactName: coverage |
|
||||||
condition: succeededOrFailed() |
|
Loading…
Reference in new issue