{"id":19830568,"url":"https://github.com/ansforge/ig-workflows","last_synced_at":"2025-05-01T15:30:25.710Z","repository":{"id":104902466,"uuid":"606796831","full_name":"ansforge/IG-workflows","owner":"ansforge","description":"Workflows tests/validation/publication des  IG FHIR (plantuml, testscript, Fhir) ","archived":false,"fork":false,"pushed_at":"2025-03-05T17:58:18.000Z","size":3270,"stargazers_count":1,"open_issues_count":5,"forks_count":2,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-04-06T15:06:13.536Z","etag":null,"topics":["fhir","plantuml","publish","testing","testscripts"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ansforge.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-02-26T15:44:38.000Z","updated_at":"2025-03-05T17:58:21.000Z","dependencies_parsed_at":"2023-11-06T08:40:56.326Z","dependency_job_id":"e1c29590-8e0d-4bda-8070-021fd4244cfc","html_url":"https://github.com/ansforge/IG-workflows","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ansforge%2FIG-workflows","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ansforge%2FIG-workflows/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ansforge%2FIG-workflows/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ansforge%2FIG-workflows/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ansforge","download_url":"https://codeload.github.com/ansforge/IG-workflows/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251898496,"owners_count":21661837,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["fhir","plantuml","publish","testing","testscripts"],"created_at":"2024-11-12T11:24:12.224Z","updated_at":"2025-05-01T15:30:25.406Z","avatar_url":"https://github.com/ansforge.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Logo_LEF_CI-SIS](https://user-images.githubusercontent.com/48218773/227532484-eff82649-4e42-49c6-966a-dc3ea78cf59c.png)\n\n# GitHub Action pour la publication d'IG FHIR\n\nGitHub Action pour les IG FHIR : \n- [Lancement de sushi](#Sushi)\n- [Tests avec le validateur_cli](#Tests-avec-le-validator_cli) \n- [Incorporation des projets de simplifier (Methode bake)](#Incorporation-des-projets-de-simplifier)\n- [Publication des releases sur un repo github](#Génération-de-release-pour-publication)\n- [Génération du diagramme plantuml à partir de des données de l'IG](#Génaration-du-diagramme-plantUML-de-lIG)\n- [Génération des diagrammes de mapping  plantuml](#Génaration-des-diagrammes-de-mapping-plantUML-de-lIG)\n- [Génération des testscripts avec le projet testscript-generator](#Génération-des-fichiers-testscripts)\n- [Publication sur les pages github](#Publication-sur-les-pages-de-github) :\n  - IG\n  - Diagramme de class plantuml généré à partir des données de l'IG\n  - Rapport de validation du validator_cli\n\n\n## Usage\n\n### Exemple Workflow file\n\nUn exemple pour publier sur les pages github avec lancement des tests, generation du diagramme pantuml et des testscripts\n\n```yaml\njobs:\n  test:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v4\n        with:      \n          path: igSource\n      - uses: ansforge/IG-workflows@v0.2.0\n        with:      \n          repo_ig: \"./igSource\"   \n          github_page: \"true\"\n          github_page_token: ${{ secrets.GITHUB_TOKEN }}\n          bake: \"true\"\n          validator_cli: \"true\"\n          generate_plantuml : \"true\"\n          generate_mapping_plantuml : \"true\"\n          generate_testscript : \"true\"\n```\nUn exemple pour publier une release sur le repo \"ansforge/IG-website-release\" dans les ig/fhir\n\n```yaml\njobs:\n  run-release:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v3\n        with:      \n          path: igSource\n      - uses: ansforge/IG-workflows@v0.2.0\n        with:      \n          repo_ig: \"./igSource\"   \n          github_page: \"true\"\n          github_page_token: ${{ secrets.GITHUB_TOKEN }}\n          bake: \"true\"\n          validator_cli: \"true\"\n          publish_repo: \"ansforge/IG-website-release\"\n          publish_repo_token :  ${{ secrets.ANS_IG_API_TOKEN }} \n          publish_path_outpout : \"./IG-website-release/www/ig\"\n```\n\n\n\n\nUn exemple pour publier une release sur le repo \"ansforge/IG-website-release\" dans les ig\n\n```yaml\njobs:\n  run-release:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v3\n        with:      \n          path: igSource\n      - uses: ansforge/IG-workflows@v0.2.0\n        with:      \n          repo_ig: \"./igSource\"   \n          github_page: \"true\"\n          github_page_token: ${{ secrets.GITHUB_TOKEN }}\n          bake: \"true\"\n          validator_cli: \"true\"\n          publish_repo: \"ansforge/IG-website-release\"\n          publish_repo_token :  ${{ secrets.ANS_IG_API_TOKEN }} \n          publish_path_outpout : \"./IG-website-release/www/ig\"\n```\n### Inputs\n\n| name               | value   | default               | description                                                                                                                                                                                                                                                                                                     |\n|--------------------|---------|-----------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| ig-publisher-version       | string  |latest  | Version de l'ig publisher : format : 'x.y.z' |\n| github_page_token       | string  |  | Token pour passer les GitHub Pages du repo |\n| github_page                | boolean | false                 | Publication de l'IG dans les GitHub pages                                                                                                                                                                                                                                                                          |\n| repo_ig             | string  |             | Chemin d'accés au repertoire des sources de l'IG                                                                                                                                                                                                                          |\n| bake              | boolean | false                 | Permet d'inclure les les projets annuaires et FrCore qui sont sur simplifier                                                                                                                                                                                                                                                                               |                                                                                                                                  |\n| validator_cli             | boolean | False                  | Permet de lancer les tests avec le validator_cli d'HL7                                                                                                                                                                                                  |\n| termino_server | string  | 'http://tx.fhir.org'           | Permet la verification sur le serveur de terminologie passé en paramètre.                                                                                                                                                                                                                     |\n| publish_repo               | string | ''                 | Permet d'indiquer le repo git de publication  de l'IG                \n| publish_path_outpout               | string | ''                 | Chemin de publication de l'IG                 |\n| publish_repo_token          | string  |                   | Token pour publier sur le repo GIT de publication                                                                                                                                                                                                                                                                  |\n| generate_plantuml          | string  | false                  | Génération de diagramme plantuml                                                                                                                                                                                                                                                                  |\n| generate_mapping_plantuml          | string  | false                  | Génération de diagramme de mmapings   plantuml                                                                                                                                                                                                                                                                  |\n| generate_testscript          | string  | false                  | Génération des fichiers testscripts                                                                                                                                                                                                                                                                  |\n\n\n\n\n\n## Fonctionnalités\n\n### Sushi\n\nPrincipes  :\n- Installation de sushi\n- Lancement de sushi\n- Résulats accéssibles via le terminal\n  - ![image](https://github.com/ansforge/IG-workflows/assets/101335975/e8c0b772-b6a9-4006-be8e-403319996346)\n\n### Incorporation des projets de simplifier\nPour installer les dépendances à des projets simplifier, il faut utiliser la methode bake de simplifier : \n- Installation de .NET\n- Installation du terminal firely\n- Installation des projets :\n  - ans.annuaire.fhir.r4\n  - hl7.fhir.fr.core\n\n### Tests avec le validator_cli\n\nPrincipes : \n- Téléchargement de la dernière version du validator_cli\n- Lancement des tests\n- Affichage des resultats dans la sortie de l'action\n- Publication des résultats dans les pages github (branch gh-pages)\n\n### Génération du diagramme plantUML de l'IG\n\nPrincipes : \n- Installation de python\n- Lancement du script python de génération :\n  - Requête sqlite sur la base de données sqlite générée par l'IG\n  - Création du fichier plantuml\n  - Génération du diagramme png et plantuml\n- Publication des diagrammes dans les pages github (branch gh-pages)\n  - ![image](https://github.com/ansforge/IG-workflows/assets/101335975/34ac663a-3c35-4da5-b7a1-883b20881eea)\n\n### Génération des diagrammes de mapping plantUML de l'IG\nPrincipes : \n- Installation de python\n- Lancement du script python de génération :\n  - Requête sqlite sur la base de données sqlite générée par l'IG\n  - Création des mmaping \n  - Génération du diagramme png et plantuml\n- Publication des diagrammes dans les pages github (branch gh-pages)\n  - ![image](https://github.com/ansforge/IG-workflows/assets/101335975/34ac663a-3c35-4da5-b7a1-883b20881eea)\n \n  - \n### Génération des fichiers testscripts\n\nPrincipes : \n- Installation du projet testscript-generator\n- Lancement de la génération des testscripts :\n  - bundle exec bin/testscript_generator read mustSupport search interaction \n- Publication des testscriots dans les pages github (branch gh-pages)\n  - Les fichiers sont présents dans le sous repertoire testscript dans la branch gh-pages\n\n### Publication sur les pages de github \n\nLes é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 : \n ![image](https://github.com/ansforge/IG-workflows/assets/101335975/660a6558-525b-4361-bbde-e74de4c1525d)\n\nLes pages sont accéssible via : De publier les pages : https://ansforge.github.io/{nom du repo}/ig/{nom de la branche} \n### Génération de release pour publication\nPrincipes : \n- Création de la version courante\n- Creation la release pour publication\n- Push de la release dans le repo distant\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fansforge%2Fig-workflows","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fansforge%2Fig-workflows","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fansforge%2Fig-workflows/lists"}