GitHub Action pour les IG FHIR :
- Lancement de sushi
- Tests avec le validateur_cli
- Incorporation des projets de simplifier (Methode bake)
- Publication des releases sur un repo github
- Génération du diagramme plantuml à partir de des données de l'IG
- Génération des diagrammes de mapping plantuml
- Génération des testscripts avec le projet testscript-generator
- Publication sur les pages github :
- IG
- Diagramme de class plantuml généré à partir des données de l'IG
- Rapport de validation du validator_cli
Un exemple pour publier sur les pages github avec lancement des tests, generation du diagramme pantuml et des testscripts
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
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
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"
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 |
Principes :
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
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)
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)
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)
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
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}
Principes :
- Création de la version courante
- Creation la release pour publication
- Push de la release dans le repo distant