---
# System prepended metadata

title: New Gnat compiler

---

# New Gnat compiler

## Context

Actuellement, l'**artisan DEV** a besoin de compiler le `sec` et l'exécuter pour les tests non-reg du `sec` et celles de `bonemine`. 
Il  travaille avec :
- `Ubuntu 18` ou `Ubuntu 20` 
- IDE `gps`
- compilateur `gnatpro-190`
    - des dépendances libs de l'OS `libssl`, `libcrypto`
    - des dépendances libs de Postgresql `libpq`
- bdd `postgresql-10`

## Besoin

1. upgrade le postgresql de 10 à 14 (server et les libs client)
2. tester le nouveau compilateur `gnat-fsf-12` (_co-exister is possible?_)
3. faciliter le déploiement d'un environnement de dev sur un machine:
    - Dépendre le moins possible de l'OS hôte
    - Déploiement en qq minutes
    - Changer le moins possible les habitudes des artisans (si elles sont bonnes)

## Propositions

- [x] migrer le postgresql dans docker
- [x] migrer le compilateur dans docker

## TODO
- [ ] Le sec ne démarre pas dans un container => voir **David SAUVAGE**
- [ ] Faire passer la non-reg
    - [ ] Ada
    - [ ] Kotlin
- [ ] Faire passer les tests d'intégration
    - [ ] SoapUI
    - [ ] Assurancetourix
    - [ ] Keskonrix
    - [ ] Tournedix
- [ ] Adapter scripts:
    - [x] alias `gps` dans docker 
    - [ ] autres alias dans docker (`gprbuild`, `gprclean`, ...)
- [x] Docker Images Repository : GitLab
    - [x] tirer les images depuis Gitlab
    - [x] trouver comment utiliser simplement l'AC pour valider le cert de gitlab => playbook artisan
- [ ] Conteneur détaché ou instancié à chaque fois ?
- [x] Gestion des registries docker
    - [x] supprimer artisan/postgresql
    - [x] supprimer artisan/gnat*
    - [x] créer un groupe products/COTS/postgresql (et y ajouter les images pg)
    - [x] ajouter les images gnat dans products/SEC
    - [x] automatiser garbage collection sur les registries



