Skip to content

Commit

Permalink
Merge branch 'main' into ZH-349
Browse files Browse the repository at this point in the history
  • Loading branch information
M-casado authored Nov 7, 2024
2 parents aa395fe + 3f0cffb commit 37eb9a4
Show file tree
Hide file tree
Showing 16 changed files with 881 additions and 10 deletions.
17 changes: 13 additions & 4 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,26 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

### Added
- [``GDI-SOP_github-introduction-for-maintainers.md``](docs/GDI-SOP_github-introduction-for-maintainers.md) - Introductory guide for GDI SOP Repository maintainers.
- [``review_reminder.yml``](.github/workflows/review_reminder.yml) - GH Workflow to preiodically (monthly) and automatically (through [check_sop_reviews.py](scripts/check_sop_reviews.py)) create SOP review reminders (GH issues)

### Modified
### Fixed

## [1.0.0](https://github.com/GenomicDataInfrastructure/standard-operating-procedures/releases/tag/v1.0.0) - 2024-10-28

### Added
- [``GDI-SOP0003_SOP-1+MG-DAC-Recommendation-Approval.md``](sops/european-level/GDI-SOP0003_SOP-1+MG-DAC-Recommendation-Approval.md) - European-level SOP describing how the 1+MG DAC is to review data access requests and recommend their rejection or approval.
- [``GDI-SOP0002_NCPs-veto-EDIC-decision.md``](sops/node-specific/GDI-SOP0002_NCPs-veto-EDIC-decision.md) - Node-specific SOP Template describing how NCPs may veto EDIC decisions on data requests.
- [``GDI-SOP0007_SOP-template-creation.md``](sops/european-level/GDI-SOP0007_SOP-template-creation.md) - European-level SOP describing how to develop new SOP templates.
- [``review_reminder.yml``](.github/workflows/review_reminder.yml) - GH Workflow to periodically (monthly) and automatically (through [check_sop_reviews.py](scripts/check_sop_reviews.py)) create SOP review reminders (GH issues)
- [``check_sop_reviews.py``](scripts/check_sop_reviews.py) - Script to automatically check if SOPs are due for review and create GitHub issues if so
- [``GDI-SOP_organisational-roles-and-responsibilities.md``](docs/GDI-SOP_organisational-roles-and-responsibilities.md) - Documentation containing Organisational Roles and Responsibilities for GDI SOPs.
- [``GDI-SOP_information-service-management.md``](GDI-SOP_information-service-management.md) - Framework designed to systematically manage SOPs information flows across the GDI infrastructure
- [``GDI-SOP_review-checklist.md``](docs/GDI-SOP_review-checklist.md) - Documentation guidelines in the form of checklists, for reviewers, approvers and authorizers of SOPs.
- [``GDI-SOP_charter.md``](docs/GDI-SOP_charter.md) - Documentation Charter of the task 4.3
- [``compare_index.py``](scripts/compare_index.py) - Script to automatically check if the SOP index table is up to date
- [``sop_index.py``](scripts/sop_index.py) - Script to automatically create the SOP index table
- [``utils.py``](scripts/utils.py) - General functions used by other scripts
- [``sops/README.md``](sops/README.md) - Markdown containing the SOP index table
- [``GDI-SOP_charter.md``](docs/GDI-SOP_charter.md) - Documentation Charter of the task 4.3
- [``tests/``](tests/) - Directory containing tests to run GH repo's code
- [``requirements.txt``](requirements.txt) - Needed modules to run GH repo's code
- [``lint_sops.yml``](.github/workflows/lint_sops.yml) - GH Workflow to trigger linter on PRs
Expand All @@ -31,5 +42,3 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- [``GDI-SOP_style-guide.md``](docs/GDI-SOP_style-guide.md) - Draft of styling guide
- [``README.md``](README.md) - Main repository's readme
- [``LICENSE``](LICENSE) - Repository license
- [``CONTRIBUTING.md``](CONTRIBUTING.md) - Guidance for repository contributions
- [``GDI-SOP_information-service-management.md``](GDI-SOP_information-service-management.md) - Framework designed to systematically manage SOPs information flows across the GDI infrastructure
Binary file added docs/images/GDI-SOP0002_1-summary-diagram.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/GDI-SOP0007_1-trigger-gh-issue.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/GDI-SOP0007_2-label-assignment.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/GDI-SOP0007_4-Draft-SOP-document.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/GDI-SOP0007_5-doc-to-md.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/GDI-SOP0007_6-PR-image.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/GDI-SOP0007_7-GH-workflows-checks.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
9 changes: 8 additions & 1 deletion scripts/sop_linter.py
Original file line number Diff line number Diff line change
Expand Up @@ -110,13 +110,20 @@ def lr_check_metadata_table(self, soup: BeautifulSoup, file_path: str):

for key, value in table_dict.items():
# Linting rules for node-specific SOPs should not apply for european-level ones
if key in ["gdi node", "instance version"]:
node_specific_keys = ["gdi node", "instance version"]
if key in node_specific_keys:
try:
if table_dict["template sop type"].lower() == "European-level SOP".lower():
continue
except:
pass

# We only want to evaluate each key Node-specific key format if any is present.
# Otherwise, it could be a Node-specific SOP template (correct without these keys)
if all(table_dict.get(key) in [None, "", []] for key in node_specific_keys):
self.report_issue(f"At the metadata table, value column for '{key}' was empty. If the SOP is a Node-specific SOP Instance (not a template), it should have a value.", file_path, warning=True)
continue

if key in expected_metadata:
# Depending on the type of format rules for each row, we apply them differently
if isinstance(expected_metadata[key], str) and not re.match(expected_metadata[key], value):
Expand Down
8 changes: 5 additions & 3 deletions sops/README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# European GDI SOP Index
Below you can find the full list of SOPs in this repository.
| Name | Identifier | Template version | Topic | Type | GDI Node | Instance version | Nº steps | Last modified |
|:----------------------------------------------------------------------------------------------------|:-------------|:-------------------|:---------------------------|:-------------------|:-----------|:-------------------|-----------:|:----------------|
| | | | | | | | | |
| Name | Identifier | Template version | Topic | Type | GDI Node | Instance version | Nº steps | Last modified |
|:----------------------------------------------------------------------------------------------------------------------------|:-------------|:-------------------|:---------------------------|:-------------------|:-----------|:-------------------|-----------:|:----------------|
| [GDI-SOP0002_NCPs-veto-EDIC-decision.md](./node-specific/GDI-SOP0002_NCPs-veto-EDIC-decision.md) | GDI-SOP0002 | v1 | Helpdesk & operations | Node-specific SOP | | | 7 | 2024.09.27 |
| [GDI-SOP0003_SOP-1+MG-DAC-Recommendation-Approval.md](./european-level/GDI-SOP0003_SOP-1+MG-DAC-Recommendation-Approval.md) | GDI-SOP0003 | v1 | Data & metadata management | European-Level SOP | | | 10 | 2024.10.24 |
| [GDI-SOP0007_SOP-template-creation.md](./european-level/GDI-SOP0007_SOP-template-creation.md) | GDI-SOP0007 | v1 | Helpdesk & operations | European-Level SOP | | | 7 | 2024.07.08 |
1 change: 0 additions & 1 deletion sops/european-level/.gitignore

This file was deleted.

Loading

0 comments on commit 37eb9a4

Please sign in to comment.