Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Docker debian11 #4315

Open
wants to merge 12 commits into
base: dev
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
183 changes: 60 additions & 123 deletions .github/workflows/dockers_builder.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,16 +8,11 @@ on:
- '*'

env:

front_debian8_components: 'tyr-web instances-configurator'
backend_debian8_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"
PRD_ECR_REGISTRY: "162230498103.dkr.ecr.eu-west-1.amazonaws.com"

jobs:

common_variables:
name: Common variables
runs-on: [self-hosted, corefront, sandbox]
Expand Down Expand Up @@ -55,84 +50,12 @@ jobs:
echo '{"text":":warning: Github Actions: workflow dockers_builder common_variables failed !"}' | http --json POST ${{secrets.SLACK_NAVITIA_TEAM_URL}}


debian11_images:
runs-on: [self-hosted, corefront, sandbox]
name: Build debian11 images
needs: common_variables
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: 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 }}

- name: Login to Amazon ECR
uses: aws-actions/amazon-ecr-login@v1
env:
AWS_REGION: eu-west-1
with:
# 162230498103 : shared
# 051314639660 : corefront sbx
registries: "162230498103,051314639660"

- name: Create builder docker
run: |
docker build -f docker/debian11/Dockerfile-builder -t navitia/builder_debian11 .

- name: Build navitia
run: |
docker run -v `pwd`:/navitia/navitia/ navitia/builder_debian11

- name: Create navitia images
run: |
echo "********* Building Jormungandr ***************"
docker build -t navitia/jormungandr_debian11 -f docker/debian11/Dockerfile-jormungandr .

- name: Push jormun dev image on SBX ECR
if: github.ref == 'refs/heads/dev'
run: |
jormun_tag=${SBX_ECR_REGISTRY_FRONT}/jormungandr:no_config_dev
docker tag navitia/jormungandr_debian11 ${jormun_tag}
docker push ${jormun_tag}

- name: Push jormun release image on SBX ECR
if: startsWith(github.ref, 'refs/tags/')
run: |
jormun_tag=${SBX_ECR_REGISTRY_FRONT}/jormungandr:no_config_${{ needs.common_variables.outputs.RELEASE_TAG }}
docker tag navitia/jormungandr_debian11 ${jormun_tag}
docker push ${jormun_tag}


- name: failure notification
if: failure()
run: |
echo '{"text":":warning: Github Actions: workflow dockers_builder debian11_images 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 ./.??*

debian8_back_images:
debian11_back_images:
runs-on: [self-hosted, kraken, sandbox]
name: Build debian8 back images
name: Build debian11 back images
needs: common_variables
env:
backend_debian11_components: 'kraken tyr-beat tyr-worker mock-kraken eitri'
steps:
- name: force chown to avoid errors
run: sudo chown -R $USER:$USER .
Expand All @@ -158,7 +81,7 @@ jobs:
with:
repo: 'hove-io/cosmogony2cities'
version: 'tags/v0.1.1'
file: 'cosmogony2cities-debian8.deb'
file: 'cosmogony2cities-debian11.deb'
target: 'cosmogony2cities_.deb'
token: ${{ steps.ci-core-app-token.outputs.token }}

Expand All @@ -167,8 +90,8 @@ jobs:
with:
repo: 'hove-io/mimirsbrunn'
version: 'tags/v3.1.0'
file: 'mimirsbrunn7_jessie-3.1.0.deb'
target: 'mimirsbrunn7_jessie-.deb'
file: 'mimirsbrunn7_bullseye-3.1.0.deb'
target: 'mimirsbrunn7_bullseye-.deb'
token: ${{ steps.ci-core-app-token.outputs.token }}

- name: Download mimir-config package
Expand All @@ -187,28 +110,27 @@ jobs:
with:
# 162230498103 : shared
# 110444322584 : kraken sbx
# 051314639660: corefront sbx
registries: "162230498103,110444322584,051314639660"

- name: Create master docker
- name: Create builder docker image
run: |
docker build -f docker/debian8/Dockerfile-master -t navitia/master .
docker build -f docker/debian8/Dockerfile-builder -t navitia/builder .
docker build -f docker/debian11/Dockerfile-builder-kraken -t navitia/builder_debian11 .

- name: Build packages in master docker
# Will build navitia-*.deb packages in current folder
run: docker run -v `pwd`:/build/navitia/ navitia/builder
run: docker run -v `pwd`:/navitia/navitia/ navitia/builder_debian11

- name: Create navitia images
run: |
for component in ${{env.backend_debian8_components}}; do
for component in ${{env.backend_debian11_components}}; do
echo "********* Building $component ***************"
docker build -t navitia/$component --build-arg GITHUB_TOKEN=${{ steps.ci-core-app-token.outputs.token }} -f docker/debian8/Dockerfile-${component} .
docker build -t navitia/$component --build-arg GITHUB_TOKEN=${{ steps.ci-core-app-token.outputs.token }} -f docker/debian11/Dockerfile-${component} .
done

- name: Push dev images on SBX ECR
if: github.ref == 'refs/heads/dev'
run: |
for component in ${{env.backend_debian8_components}}; do
for component in ${{env.backend_debian11_components}}; do
component_tag=${SBX_ECR_REGISTRY_BACKEND}/${component}:dev
docker tag navitia/$component ${component_tag}
docker push ${component_tag}
Expand All @@ -232,14 +154,11 @@ jobs:
docker tag navitia/tyr-worker ${tyr_worker_tag}
docker push ${tyr_worker_tag}




- name: failure notification
if: failure()
run: |
sudo apt update && sudo apt install -y httpie
echo '{"text":":warning: Github Actions: workflow dockers_builder debian8_images failed !"}' | http --json POST ${{secrets.SLACK_NAVITIA_TEAM_URL}}
echo '{"text":":warning: Github Actions: workflow dockers_builder debian11_images failed !"}' | http --json POST ${{secrets.SLACK_NAVITIA_TEAM_URL}}

- name: clean up workspace
if: ${{ always() }}
Expand All @@ -249,9 +168,9 @@ jobs:
rm -rf ./*
rm -rf ./.??*

debian8_front_images:
debian11_front_images:
runs-on: [self-hosted, corefront, sandbox]
name: Build debian8 front images
name: Build debian11 front images
needs: common_variables
steps:
- name: force chown to avoid errors
Expand All @@ -273,42 +192,63 @@ jobs:
submodules: recursive
token: ${{ steps.ci-core-app-token.outputs.token }}


- name: Login to Amazon ECR
uses: aws-actions/amazon-ecr-login@v1
env:
AWS_REGION: eu-west-1
with:
# 162230498103 : shared
# 051314639660 : corefront sbx
registries: "162230498103,110444322584,051314639660"
registries: "162230498103,051314639660"

- name: Create master docker
- name: Create builder docker
run: |
docker build -f docker/debian8/Dockerfile-master -t navitia/master .
docker build -f docker/debian8/Dockerfile-builder -t navitia/builder .
docker build -f docker/debian11/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: Build navitia
run: |
docker run -v `pwd`:/navitia/navitia/ navitia/builder

- name: Create navitia images
- name: Create docker image Jormungandr
run: |
for component in ${{env.front_debian8_components}}; do
echo "********* Building $component ***************"
docker build -t navitia/$component -f docker/debian8/Dockerfile-${component} .
done
echo "********* Building Jormungandr ***************"
docker build -t navitia/jormungandr_debian11 -f docker/debian11/Dockerfile-jormungandr .

- name: Push dev images on SBX ECR
- name: Create images for Tyr-web
run: docker build -t navitia/tyr-web -f docker/debian11/Dockerfile-tyr-web .

- name: Create images for Instance configurator
run: docker build -t navitia/instances-configurator -f docker/debian11/Dockerfile-instances-configurator .

- name: Push Jormungandr dev image on SBX ECR
if: github.ref == 'refs/heads/dev'
run: |
for component in ${{env.front_debian8_components}}; do
component_tag=${SBX_ECR_REGISTRY_FRONT}/${component}:dev
docker tag navitia/$component ${component_tag}
docker push ${component_tag}
done
jormun_tag=${SBX_ECR_REGISTRY_FRONT}/jormungandr:no_config_dev
docker tag navitia/jormungandr_debian11 ${jormun_tag}
docker push ${jormun_tag}

- name: Push release images on PRD ECR
- name: Push Jormungandr release image on SBX ECR
if: startsWith(github.ref, 'refs/tags/')
run: |
jormun_tag=${SBX_ECR_REGISTRY_FRONT}/jormungandr:no_config_${{ needs.common_variables.outputs.RELEASE_TAG }}
docker tag navitia/jormungandr_debian11 ${jormun_tag}
docker push ${jormun_tag}

- name: Push Tyr-Web dev image on SBX ECR
if: github.ref == 'refs/heads/dev'
run: |
component_tag=${SBX_ECR_REGISTRY_FRONT}/tyr-web:dev
docker tag navitia/tyr-web ${component_tag}
docker push ${component_tag}

- name: Push Instances configurator dev image on SBX ECR
if: github.ref == 'refs/heads/dev'
run: |
component_tag=${SBX_ECR_REGISTRY_FRONT}/instances-configurator:dev
docker tag navitia/instances-configurator ${component_tag}
docker push ${component_tag}

- name: Push Try-web release image on PRD ECR
if: startsWith(github.ref, 'refs/tags/')
run: |
# Tyr-web
Expand All @@ -319,8 +259,7 @@ jobs:
- name: failure notification
if: failure()
run: |
sudo apt update && sudo apt install -y httpie
echo '{"text":":warning: Github Actions: workflow dockers_builder debian8_images failed !"}' | http --json POST ${{secrets.SLACK_NAVITIA_TEAM_URL}}
echo '{"text":":warning: Github Actions: workflow dockers_builder debian11_images failed !"}' | http --json POST ${{secrets.SLACK_NAVITIA_TEAM_URL}}

- name: clean up workspace
if: ${{ always() }}
Expand All @@ -330,12 +269,10 @@ jobs:
rm -rf ./*
rm -rf ./.??*



publish_aws:
runs-on: [self-hosted, corefront, sandbox]
name: Aws Dispatch (Dev)
needs: [debian8_front_images, debian8_back_images, debian11_images, common_variables]
needs: [debian11_front_images, debian11_back_images, common_variables]
steps:

- name: Generate token for aws images
Expand Down
Loading
Loading