https://github.com/ansforge/ig-workflows
Workflows tests/validation/publication des IG FHIR (plantuml, testscript, Fhir)
https://github.com/ansforge/ig-workflows
fhir plantuml publish testing testscripts
Last synced: 9 months ago
JSON representation
Workflows tests/validation/publication des IG FHIR (plantuml, testscript, Fhir)
- Host: GitHub
- URL: https://github.com/ansforge/ig-workflows
- Owner: ansforge
- License: mit
- Created: 2023-02-26T15:44:38.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2025-03-05T17:58:18.000Z (11 months ago)
- Last Synced: 2025-04-06T15:06:13.536Z (10 months ago)
- Topics: fhir, plantuml, publish, testing, testscripts
- Language: Python
- Homepage:
- Size: 3.12 MB
- Stars: 1
- Watchers: 6
- Forks: 2
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README

# GitHub Action pour la publication d'IG FHIR
GitHub Action pour les IG FHIR :
- [Lancement de sushi](#Sushi)
- [Tests avec le validateur_cli](#Tests-avec-le-validator_cli)
- [Incorporation des projets de simplifier (Methode bake)](#Incorporation-des-projets-de-simplifier)
- [Publication des releases sur un repo github](#Génération-de-release-pour-publication)
- [Génération du diagramme plantuml à partir de des données de l'IG](#Génaration-du-diagramme-plantUML-de-lIG)
- [Génération des diagrammes de mapping plantuml](#Génaration-des-diagrammes-de-mapping-plantUML-de-lIG)
- [Génération des testscripts avec le projet testscript-generator](#Génération-des-fichiers-testscripts)
- [Publication sur les pages github](#Publication-sur-les-pages-de-github) :
- IG
- Diagramme de class plantuml généré à partir des données de l'IG
- Rapport de validation du validator_cli
## Usage
### Exemple Workflow file
Un exemple pour publier sur les pages github avec lancement des tests, generation du diagramme pantuml et des testscripts
```yaml
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
path: igSource
- uses: ansforge/IG-workflows@v0.2.0
with:
repo_ig: "./igSource"
github_page: "true"
github_page_token: ${{ secrets.GITHUB_TOKEN }}
bake: "true"
validator_cli: "true"
generate_plantuml : "true"
generate_mapping_plantuml : "true"
generate_testscript : "true"
```
Un exemple pour publier une release sur le repo "ansforge/IG-website-release" dans les ig/fhir
```yaml
jobs:
run-release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
path: igSource
- uses: ansforge/IG-workflows@v0.2.0
with:
repo_ig: "./igSource"
github_page: "true"
github_page_token: ${{ secrets.GITHUB_TOKEN }}
bake: "true"
validator_cli: "true"
publish_repo: "ansforge/IG-website-release"
publish_repo_token : ${{ secrets.ANS_IG_API_TOKEN }}
publish_path_outpout : "./IG-website-release/www/ig"
```
Un exemple pour publier une release sur le repo "ansforge/IG-website-release" dans les ig
```yaml
jobs:
run-release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
path: igSource
- uses: ansforge/IG-workflows@v0.2.0
with:
repo_ig: "./igSource"
github_page: "true"
github_page_token: ${{ secrets.GITHUB_TOKEN }}
bake: "true"
validator_cli: "true"
publish_repo: "ansforge/IG-website-release"
publish_repo_token : ${{ secrets.ANS_IG_API_TOKEN }}
publish_path_outpout : "./IG-website-release/www/ig"
```
### Inputs
| name | value | default | description |
|--------------------|---------|-----------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ig-publisher-version | string |latest | Version de l'ig publisher : format : 'x.y.z' |
| github_page_token | string | | Token pour passer les GitHub Pages du repo |
| github_page | boolean | false | Publication de l'IG dans les GitHub pages |
| repo_ig | string | | Chemin d'accés au repertoire des sources de l'IG |
| bake | boolean | false | Permet d'inclure les les projets annuaires et FrCore qui sont sur simplifier | |
| validator_cli | boolean | False | Permet de lancer les tests avec le validator_cli d'HL7 |
| termino_server | string | 'http://tx.fhir.org' | Permet la verification sur le serveur de terminologie passé en paramètre. |
| publish_repo | string | '' | Permet d'indiquer le repo git de publication de l'IG
| publish_path_outpout | string | '' | Chemin de publication de l'IG |
| publish_repo_token | string | | Token pour publier sur le repo GIT de publication |
| generate_plantuml | string | false | Génération de diagramme plantuml |
| generate_mapping_plantuml | string | false | Génération de diagramme de mmapings plantuml |
| generate_testscript | string | false | Génération des fichiers testscripts |
## Fonctionnalités
### Sushi
Principes :
- Installation de sushi
- Lancement de sushi
- Résulats accéssibles via le terminal
- 
### Incorporation des projets de simplifier
Pour installer les dépendances à des projets simplifier, il faut utiliser la methode bake de simplifier :
- Installation de .NET
- Installation du terminal firely
- Installation des projets :
- ans.annuaire.fhir.r4
- hl7.fhir.fr.core
### Tests avec le validator_cli
Principes :
- Téléchargement de la dernière version du validator_cli
- Lancement des tests
- Affichage des resultats dans la sortie de l'action
- Publication des résultats dans les pages github (branch gh-pages)
### Génération du diagramme plantUML de l'IG
Principes :
- Installation de python
- Lancement du script python de génération :
- Requête sqlite sur la base de données sqlite générée par l'IG
- Création du fichier plantuml
- Génération du diagramme png et plantuml
- Publication des diagrammes dans les pages github (branch gh-pages)
- 
### Génération des diagrammes de mapping plantUML de l'IG
Principes :
- Installation de python
- Lancement du script python de génération :
- Requête sqlite sur la base de données sqlite générée par l'IG
- Création des mmaping
- Génération du diagramme png et plantuml
- Publication des diagrammes dans les pages github (branch gh-pages)
- 
-
### Génération des fichiers testscripts
Principes :
- Installation du projet testscript-generator
- Lancement de la génération des testscripts :
- bundle exec bin/testscript_generator read mustSupport search interaction
- Publication des testscriots dans les pages github (branch gh-pages)
- Les fichiers sont présents dans le sous repertoire testscript dans la branch gh-pages
### Publication sur les pages de github
Les élément générés sont publiés sur les pages github (branch gh-pages) avec une sous-aborescence avec le nom de la branche :

Les pages sont accéssible via : De publier les pages : https://ansforge.github.io/{nom du repo}/ig/{nom de la branche}
### Génération de release pour publication
Principes :
- Création de la version courante
- Creation la release pour publication
- Push de la release dans le repo distant