Merge pull request #4242 from hove-io/fix_max_nb_journeys_with_best_o… #206
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build Navitia Dockers (Dev) | |
on: | |
push: | |
branches: | |
- dev | |
env: | |
jessie_version: debian8 | |
bullseye_version: debian11 | |
front_jessie_navitia_components: 'tyr-web instances-configurator' | |
backend_jessie_navitia_components: 'kraken tyr-beat tyr-worker mock-kraken eitri' | |
SBX_ECR_REGISTRY_BACKEND: "110444322584.dkr.ecr.eu-west-1.amazonaws.com" | |
SBX_ECR_REGISTRY_FRONT: "051314639660.dkr.ecr.eu-west-1.amazonaws.com" | |
TAG: 'dev' | |
jobs: | |
front_bullseye_builder: | |
runs-on: [self-hosted, corefront, sandbox] | |
name: Front Bullseye builder (Dev) | |
steps: | |
- name: force chown to avoid errors | |
run: sudo chown -R $USER:$USER . | |
- name: Git config | |
run: git config --global --add safe.directory /__w/navitia/navitia | |
- name: Install dependencies | |
run: | | |
sudo apt update && sudo apt install -y httpie | |
- 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 }} | |
- name: Checkout | |
uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
token: ${{ steps.ci-core-app-token.outputs.token }} | |
# we need entire history for tags | |
fetch-depth: 0 | |
# - name: Restore ccache | |
# uses: hendrikmuhs/[email protected] | |
# with: | |
# key: build_dockers | |
# max-size: 2000M | |
- name: Login to Amazon ECR SBX | |
uses: aws-actions/amazon-ecr-login@v1 | |
env: | |
AWS_REGION: eu-west-1 | |
- name: Login to Amazon ECR Shared | |
uses: aws-actions/amazon-ecr-login@v1 | |
env: | |
AWS_REGION: eu-west-1 | |
with: | |
registries: "162230498103" | |
- name: Create builder docker | |
run: | | |
docker build -f docker/${{env.bullseye_version}}/Dockerfile-builder -t navitia/builder . | |
- name: Build navitia | |
run: | | |
docker run -v `pwd`:/navitia/navitia/ navitia/builder | |
- name: Create navitia images | |
run: | | |
echo "********* Building Jormungandr ***************" | |
docker build -t ${SBX_ECR_REGISTRY_FRONT}/jormungandr:no_config_${TAG} -f docker/${{env.bullseye_version}}/Dockerfile-jormungandr . | |
- name: Push images on SBX ECR | |
run: | | |
echo "********* Push Jormungandr ***************" | |
docker push ${SBX_ECR_REGISTRY_FRONT}/jormungandr:no_config_${TAG} | |
- name: failure notification | |
if: failure() | |
run: | | |
echo '{"text":":warning: Github Actions: workflow dockers_builder_dev Job front_bullseye_builder is failed !"}' | http --json POST ${{secrets.SLACK_NAVITIA_TEAM_URL}} | |
- name: clean up workspace | |
if: ${{ always() }} | |
run: | | |
# some files are created by a docker container | |
sudo chown -R $USER:$USER . | |
rm -rf ./* | |
rm -rf ./.??* | |
front_jessie_builder: | |
runs-on: [self-hosted, corefront, sandbox] | |
name: Front Jessie builder (Dev) | |
steps: | |
- name: force chown to avoid errors | |
run: sudo chown -R $USER:$USER . | |
- name: Git config | |
run: git config --global --add safe.directory /__w/navitia/navitia | |
- name: Install dependencies | |
run: | | |
sudo apt update && sudo apt install -y httpie | |
- 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 }} | |
- name: Checkout | |
uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
token: ${{ steps.ci-core-app-token.outputs.token }} | |
# we need entire history for tags | |
fetch-depth: 0 | |
# - name: Restore ccache | |
# uses: hendrikmuhs/[email protected] | |
# with: | |
# key: build_dockers | |
# max-size: 2000M | |
- name: Login to Amazon ECR SBX | |
uses: aws-actions/amazon-ecr-login@v1 | |
env: | |
AWS_REGION: eu-west-1 | |
- name: Login to Amazon ECR Shared | |
uses: aws-actions/amazon-ecr-login@v1 | |
env: | |
AWS_REGION: eu-west-1 | |
with: | |
registries: "162230498103" | |
- name: Create master docker | |
run: | | |
docker build -f docker/${{env.jessie_version}}/Dockerfile-master -t navitia/master . | |
docker build -f docker/${{env.jessie_version}}/Dockerfile-builder -t navitia/builder . | |
- name: Build packages in master docker | |
# Will build navitia-*.deb packages in current folder | |
run: docker run -v `pwd`:/build/navitia/ navitia/builder | |
- name: Create navitia images | |
run: | | |
for component in ${{env.front_jessie_navitia_components}}; do | |
echo "********* Building $component ***************" | |
docker build -t ${SBX_ECR_REGISTRY_FRONT}/$component:${TAG} -f docker/${{env.jessie_version}}/Dockerfile-${component} . | |
done | |
- name: Push images on SBX ECR | |
run: | | |
for component in ${{env.front_jessie_navitia_components}}; do | |
echo "********* Building $component ***************" | |
docker push ${SBX_ECR_REGISTRY_FRONT}/$component:${TAG} | |
done | |
- name: failure notification | |
if: failure() | |
run: | | |
echo '{"text":":warning: Github Actions: workflow dockers_builder_dev Job front_jessie_builder is failed !"}' | http --json POST ${{secrets.SLACK_NAVITIA_TEAM_URL}} | |
- name: clean up workspace | |
if: ${{ always() }} | |
run: | | |
# some files are created by a docker container | |
sudo chown -R $USER:$USER . | |
rm -rf ./* | |
rm -rf ./.??* | |
backend_jessie_builder: | |
runs-on: [self-hosted, kraken, sandbox] | |
name: Backend Jessie builder (Dev) | |
steps: | |
- name: force chown to avoid errors | |
run: sudo chown -R $USER:$USER . | |
- name: Git config | |
run: git config --global --add safe.directory /__w/navitia/navitia | |
- name: Install dependencies | |
run: | | |
sudo apt update && sudo apt install -y zip httpie curl python3 python3-pip | |
- 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 }} | |
- name: Checkout | |
uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
token: ${{ steps.ci-core-app-token.outputs.token }} | |
# we need entire history for tags | |
fetch-depth: 0 | |
- name: Checkout core_team_ci_tools | |
uses: actions/checkout@v3 | |
with: | |
repository : 'hove-io/core_team_ci_tools' | |
path: core_team_ci_tools | |
token: ${{ steps.ci-core-app-token.outputs.token }} | |
- name: Setup core_team_ci_tools python environment | |
run: | | |
pip install -r core_team_ci_tools/github_artifacts/requirements.txt --user | |
- name: Download mimirsbrunn package | |
run: | | |
mimirsbrunn_package="debian-package-master.zip" | |
python3 core_team_ci_tools/github_artifacts/github_artifacts.py \ | |
-o hove-io \ | |
-r mimirsbrunn \ | |
-t ${{ steps.ci-core-app-token.outputs.token }} \ | |
-w main7.yml \ | |
-a debian-package-master.zip \ | |
--output-dir . | |
unzip -qo $mimirsbrunn_package | |
rm -f $mimirsbrunn_package | |
- name: Download cosmogony2cities package | |
run: | | |
cosmogony2cities_package="package-${{env.jessie_version}}.zip" | |
python3 core_team_ci_tools/github_artifacts/github_artifacts.py \ | |
-o hove-io \ | |
-r cosmogony2cities \ | |
-t ${{ steps.ci-core-app-token.outputs.token }} \ | |
-w build_package.yml \ | |
-a $cosmogony2cities_package \ | |
--output-dir . | |
unzip -qo $cosmogony2cities_package | |
rm -f $cosmogony2cities_package | |
- name: Download mimir-config package | |
run: | | |
conf_mimir_package="debian-package-release.zip" | |
python3 core_team_ci_tools/github_artifacts/github_artifacts.py \ | |
-o hove-io \ | |
-r mimirsbrunn-config \ | |
-t ${{ steps.ci-core-app-token.outputs.token }} \ | |
-w release.yml \ | |
-a $conf_mimir_package \ | |
-b main \ | |
--skip-check-artifacts-size \ | |
--output-dir . | |
unzip -qo $conf_mimir_package | |
rm -f $conf_mimir_package | |
# - name: Restore ccache | |
# uses: hendrikmuhs/[email protected] | |
# with: | |
# key: build_dockers | |
# max-size: 2000M | |
- name: Login to Amazon ECR SBX | |
uses: aws-actions/amazon-ecr-login@v1 | |
env: | |
AWS_REGION: eu-west-1 | |
- name: Login to Amazon ECR Shared | |
uses: aws-actions/amazon-ecr-login@v1 | |
env: | |
AWS_REGION: eu-west-1 | |
with: | |
registries: "162230498103" | |
- name: Create master docker | |
run: | | |
docker build -f docker/${{env.jessie_version}}/Dockerfile-master -t navitia/master . | |
docker build -f docker/${{env.jessie_version}}/Dockerfile-builder -t navitia/builder . | |
- name: Build packages in master docker | |
# Will build navitia-*.deb packages in current folder | |
run: docker run -v `pwd`:/build/navitia/ navitia/builder | |
- name: Create navitia images | |
run: | | |
for component in ${{env.backend_jessie_navitia_components}}; do | |
echo "********* Building $component ***************" | |
docker build -t ${SBX_ECR_REGISTRY_BACKEND}/$component:${TAG} --build-arg GITHUB_TOKEN=${{ steps.ci-core-app-token.outputs.token }} -f docker/${{env.jessie_version}}/Dockerfile-${component} . | |
done | |
- name: Push images on SBX ECR | |
run: | | |
for component in ${{env.backend_jessie_navitia_components}}; do | |
echo "********* Building $component ***************" | |
docker push ${SBX_ECR_REGISTRY_BACKEND}/$component:${TAG} | |
done | |
- name: failure notification | |
if: failure() | |
run: | | |
echo '{"text":":warning: Github Actions: workflow dockers_builder_dev Job backend_jessie_builder is failed !"}' | http --json POST ${{secrets.SLACK_NAVITIA_TEAM_URL}} | |
- name: clean up workspace | |
if: ${{ always() }} | |
run: | | |
# some files are created by a docker container | |
sudo chown -R $USER:$USER . | |
rm -rf ./* | |
rm -rf ./.??* | |
publish_aws: | |
runs-on: [self-hosted, corefront, sandbox] | |
name: Aws Dispatch (Dev) | |
needs: [front_jessie_builder, front_bullseye_builder, backend_jessie_builder] | |
steps: | |
- name: Install dependencies | |
run: | | |
sudo apt update && sudo apt install -y httpie | |
- name: Generate token for aws images | |
id: app-token | |
uses: getsentry/[email protected] | |
with: | |
app_id: ${{ secrets.GA_OS_WORKFLOW_TRIGGER_APP_ID }} | |
private_key: ${{ secrets.GA_OS_WORKFLOW_TRIGGER_APP_PEM }} | |
- name: Aws Dispatch Frontend | |
uses: peter-evans/repository-dispatch@v2 | |
with: | |
token: ${{ steps.app-token.outputs.token }} | |
repository: hove-io/corefront-aws-assets | |
event-type: build-trigger | |
client-payload: '{"branch": "dev", "tag": "dev"}' | |
- name: failure notification | |
if: failure() | |
run: | | |
echo '{"text":":warning: Github Actions: dockers_builder_dev the job publish_aws is failed !"}' | http --json POST ${{secrets.SLACK_NAVITIA_TEAM_URL}} | |
run_artemis: | |
runs-on: [self-hosted, corefront, sandbox] | |
needs: [front_jessie_builder, front_bullseye_builder, backend_jessie_builder, publish_aws] | |
name: Run artemis Dispatch (Dev) | |
steps: | |
- name: Install dependencies | |
run: | | |
sudo apt update && sudo apt install -y httpie | |
- 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 }} | |
- name: Run artemis on push to dev | |
uses: peter-evans/repository-dispatch@v2 | |
with: | |
token: ${{ steps.ci-core-app-token.outputs.token }} | |
repository: hove-io/artemis | |
event-type: run_artemis_ng | |
- name: failure notification | |
if: failure() | |
run: | | |
echo '{"text":":warning: Github Actions: workflow dockers_builder_dev Job run_artemis is failed !"}' | http --json POST ${{secrets.SLACK_NAVITIA_TEAM_URL}} |