Skip to content

Workflows tests/validation/publication des IG FHIR (plantuml, testscript, Fhir)

License

Notifications You must be signed in to change notification settings

sly-kereval/IG-workflows

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Logo_LEF_CI-SIS

GitHub Action pour la publication d'IG FHIR

GitHub Action pour les IG FHIR :

Usage

Exemple Workflow file

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"
          nos: "true"
          validator_cli: "true"
          generate_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"
          nos: "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"
          nos: "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
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
nos boolean false Pour la vérification. Permet d'installer le NOS (à partie du ZIP)
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_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
    • image

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)
    • image

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 : image

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

About

Workflows tests/validation/publication des IG FHIR (plantuml, testscript, Fhir)

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%