Skip to content

Docker debian11

Docker debian11 #5193

Workflow file for this run

name: CI
on:
push:
branches:
- dev
- auto/clang-tidy
pull_request:
release:
types:
- created
env:
REGION: eu-west-1
jobs:
credentials:
name: Init credentials
runs-on: [self-hosted, corefront, sandbox]
outputs:
aws_token: ${{ steps.ecr_token.outputs.token }}
steps:
- name: Get ECR Token
id: ecr_token
run: |
echo token=$(aws ecr get-login-password --region $REGION) >> $GITHUB_OUTPUT
checks:
runs-on: [self-hosted, corefront, sandbox]
needs: credentials
container:
image: 162230498103.dkr.ecr.eu-west-1.amazonaws.com/mutable-debian11_dev:latest
credentials:
username: AWS
password: ${{ needs.credentials.outputs.aws_token }}
steps:
- name: force chown to avoid errors
run: chown -R $USER:$USER .
- name: Git config
run: git config --global --add safe.directory /__w/navitia/navitia
- name: Generate github private access token
id: ci-core-app-token
uses: getsentry/[email protected]
with:
app_id: ${{ secrets.CI_CORE_APP_ID }}
private_key: ${{ secrets.CI_CORE_APP_PEM }}
- uses: actions/checkout@v3
with:
submodules: recursive
token: ${{ steps.ci-core-app-token.outputs.token }}
# 'check_submodules.sh' below needs entire history
fetch-depth: 0
- name: check submodules
run: ./source/scripts/check_submodules.sh
- name: clean up workspace
if: ${{ always() }}
run: |
rm -rf ./*
rm -rf ./.??*
precommit:
runs-on: [self-hosted, corefront, sandbox]
needs: [credentials, checks]
container:
image: 162230498103.dkr.ecr.eu-west-1.amazonaws.com/mutable-debian11_dev:latest
credentials:
username: AWS
password: ${{ needs.credentials.outputs.aws_token }}
steps:
- name: force chown to avoid errors
run: chown -R $USER:$USER .
- name: Git config
run: git config --global --add safe.directory /__w/navitia/navitia
- name: Generate github private access token
id: ci-core-app-token
uses: getsentry/[email protected]
with:
app_id: ${{ secrets.CI_CORE_APP_ID }}
private_key: ${{ secrets.CI_CORE_APP_PEM }}
- uses: actions/checkout@v3
with:
submodules: recursive
token: ${{ steps.ci-core-app-token.outputs.token }}
- name: Config Github global url for ssh cases (add access token)
run: |
git config --global url."https://x-access-token:${{ steps.ci-core-app-token.outputs.token }}@github.com/hove-io/".insteadOf "[email protected]:hove-io/"
- name: install dependencies
run: |
pip3 install -r requirements_pre-commit.txt --upgrade
- name: Build Protobuf
run: bash source/scripts/build_protobuf.sh
- name: Pre-commit run
env:
LC_ALL: C.UTF-8
LANG: C.UTF-8
run: |
pre-commit install --install-hooks
pre-commit run --all --show-diff-on-failure
- name: clean up workspace
if: ${{ always() }}
run: |
rm -rf ./*
rm -rf ./.??*
build:
runs-on: [self-hosted, corefront, sandbox]
needs: [credentials, checks, precommit]
strategy:
fail-fast: false
matrix:
os: [{docker_image: mutable-debian8_dev , python_version: python3.6}, {docker_image: mutable-debian11_dev, python_version: python3.9}]
container:
image: 162230498103.dkr.ecr.eu-west-1.amazonaws.com/${{ matrix.os.docker_image }}:latest
credentials:
username: AWS
password: ${{ needs.credentials.outputs.aws_token }}
services:
rabbitmq:
image: rabbitmq:3-alpine
ports:
- 5672:5672
redis:
image: redis:6-alpine
ports:
- 6379:6379
steps:
- name: force chown to avoid errors
run: chown -R $USER:$USER .
- name: Git config
run: git config --global --add safe.directory /__w/navitia/navitia
- name: Generate github private access token
id: ci-core-app-token
uses: getsentry/[email protected]
with:
app_id: ${{ secrets.CI_CORE_APP_ID }}
private_key: ${{ secrets.CI_CORE_APP_PEM }}
- uses: actions/checkout@v3
with:
submodules: recursive
token: ${{ steps.ci-core-app-token.outputs.token }}
- name: Restore ccache
uses: hendrikmuhs/[email protected]
with:
key: ${{matrix.os.docker_image}}-ci
max-size: 2000M
save: ${{ github.event_name == 'push' }}
- name: Ensure CMake version is recent enough
if: ${{ matrix.os.docker_image == 'mutable-debian8_dev'}}
run: |
apt remove --yes cmake
mkdir local_bin
cd local_bin
wget https://cmake.org/files/v3.18/cmake-3.18.6-Linux-x86_64.tar.gz
tar xf cmake-3.18.6-Linux-x86_64.tar.gz
echo "`pwd`/cmake-3.18.6-Linux-x86_64/bin" >> $GITHUB_PATH
cd ..
- name: configure for Release
run: mkdir build && cd ./build && cmake -DSTRIP_SYMBOLS=ON ../source
- name: run
working-directory: ./build
run: make -j $(nproc)
- name: Tests python3
working-directory: ./build
if: ${{ matrix.os.docker_image == 'mutable-debian11_dev'}}
run: |
virtualenv -p ${{matrix.os.python_version}} navitia_py3
. navitia_py3/bin/activate
pip install -r ../source/jormungandr/requirements_dev.txt
export JORMUNGANDR_BROKER_URL='amqp://guest:guest@rabbitmq:5672//'
export KRAKEN_RABBITMQ_HOST='rabbitmq'
ctest --output-on-failure
deactivate
rm -rf navitia_py3
- name: docker_test python2
working-directory: ./build
run: |
pip install virtualenv==20.4.7 -U
virtualenv -p python2.7 navitia_py2
. navitia_py2/bin/activate
pip install -r ../source/tyr/requirements_dev.txt
pip install -r ../source/sql/requirements.txt
export NAVITIA_CHAOS_DUMP_PATH=$(echo $GITHUB_WORKSPACE/source/tests/chaos/chaos_loading.sql.gz | sed -e 's#__w#/opt/actions-runner/_work#')
make docker_test
deactivate
rm -rf navitia_py2
env:
NAVITIA_DOCKER_NETWORK: ${{ job.container.network }}
TYR_CELERY_BROKER_URL: 'amqp://guest:guest@rabbitmq:5672//'
TYR_REDIS_HOST: 'redis'
- name: docker_test python3
working-directory: ./build
run: |
virtualenv -p ${{matrix.os.python_version}} navitia_py3
. navitia_py3/bin/activate
pip install -r ../source/tyr/requirements_dev.txt
pip install -r ../source/sql/requirements.txt
export NAVITIA_CHAOS_DUMP_PATH=$(echo $GITHUB_WORKSPACE/source/tests/chaos/chaos_loading.sql.gz | sed -e 's#__w#/opt/actions-runner/_work#')
make docker_test
deactivate
rm -rf navitia_py3
env:
NAVITIA_DOCKER_NETWORK: ${{ job.container.network }}
TYR_CELERY_BROKER_URL: 'amqp://guest:guest@rabbitmq:5672//'
TYR_REDIS_HOST: 'redis'
- name: clean up workspace
if: ${{ always() }}
run: |
rm -rf ./*
rm -rf ./.??*