aiida-hyperqueue 0.2.0__tar.gz → 0.3.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- aiida_hyperqueue-0.3.0/.github/workflows/update_changelog.py +96 -0
- {aiida_hyperqueue-0.2.0 → aiida_hyperqueue-0.3.0}/CHANGELOG.md +13 -1
- {aiida_hyperqueue-0.2.0 → aiida_hyperqueue-0.3.0}/PKG-INFO +2 -2
- {aiida_hyperqueue-0.2.0 → aiida_hyperqueue-0.3.0}/aiida_hyperqueue/__init__.py +1 -1
- {aiida_hyperqueue-0.2.0 → aiida_hyperqueue-0.3.0}/aiida_hyperqueue/scheduler.py +2 -2
- {aiida_hyperqueue-0.2.0 → aiida_hyperqueue-0.3.0}/pyproject.toml +1 -1
- {aiida_hyperqueue-0.2.0 → aiida_hyperqueue-0.3.0}/.github/workflows/cd.yml +0 -0
- {aiida_hyperqueue-0.2.0 → aiida_hyperqueue-0.3.0}/.github/workflows/ci.yml +0 -0
- {aiida_hyperqueue-0.2.0 → aiida_hyperqueue-0.3.0}/.github/workflows/validate_release_tag.py +0 -0
- {aiida_hyperqueue-0.2.0 → aiida_hyperqueue-0.3.0}/.gitignore +0 -0
- {aiida_hyperqueue-0.2.0 → aiida_hyperqueue-0.3.0}/.pre-commit-config.yaml +0 -0
- {aiida_hyperqueue-0.2.0 → aiida_hyperqueue-0.3.0}/.readthedocs.yml +0 -0
- {aiida_hyperqueue-0.2.0 → aiida_hyperqueue-0.3.0}/LICENSE +0 -0
- {aiida_hyperqueue-0.2.0 → aiida_hyperqueue-0.3.0}/README.md +0 -0
- {aiida_hyperqueue-0.2.0 → aiida_hyperqueue-0.3.0}/aiida_hyperqueue/cli/__init__.py +0 -0
- {aiida_hyperqueue-0.2.0 → aiida_hyperqueue-0.3.0}/aiida_hyperqueue/cli/alloc.py +0 -0
- {aiida_hyperqueue-0.2.0 → aiida_hyperqueue-0.3.0}/aiida_hyperqueue/cli/install.py +0 -0
- {aiida_hyperqueue-0.2.0 → aiida_hyperqueue-0.3.0}/aiida_hyperqueue/cli/params/__init__.py +0 -0
- {aiida_hyperqueue-0.2.0 → aiida_hyperqueue-0.3.0}/aiida_hyperqueue/cli/params/arguments.py +0 -0
- {aiida_hyperqueue-0.2.0 → aiida_hyperqueue-0.3.0}/aiida_hyperqueue/cli/params/options.py +0 -0
- {aiida_hyperqueue-0.2.0 → aiida_hyperqueue-0.3.0}/aiida_hyperqueue/cli/root.py +0 -0
- {aiida_hyperqueue-0.2.0 → aiida_hyperqueue-0.3.0}/aiida_hyperqueue/cli/server.py +0 -0
- {aiida_hyperqueue-0.2.0 → aiida_hyperqueue-0.3.0}/docs/.gitignore +0 -0
- {aiida_hyperqueue-0.2.0 → aiida_hyperqueue-0.3.0}/docs/Makefile +0 -0
- {aiida_hyperqueue-0.2.0 → aiida_hyperqueue-0.3.0}/docs/source/conf.py +0 -0
- {aiida_hyperqueue-0.2.0 → aiida_hyperqueue-0.3.0}/docs/source/developer_guide/index.md +0 -0
- {aiida_hyperqueue-0.2.0 → aiida_hyperqueue-0.3.0}/docs/source/get_started.md +0 -0
- {aiida_hyperqueue-0.2.0 → aiida_hyperqueue-0.3.0}/docs/source/img/AiiDA_transparent_logo.png +0 -0
- {aiida_hyperqueue-0.2.0 → aiida_hyperqueue-0.3.0}/docs/source/index.md +0 -0
- {aiida_hyperqueue-0.2.0 → aiida_hyperqueue-0.3.0}/tests/README.md +0 -0
- {aiida_hyperqueue-0.2.0 → aiida_hyperqueue-0.3.0}/tests/__init__.py +0 -0
- {aiida_hyperqueue-0.2.0 → aiida_hyperqueue-0.3.0}/tests/conftest.py +0 -0
- {aiida_hyperqueue-0.2.0 → aiida_hyperqueue-0.3.0}/tests/target/hq +0 -0
- {aiida_hyperqueue-0.2.0 → aiida_hyperqueue-0.3.0}/tests/test_cli_alloc.py +0 -0
- {aiida_hyperqueue-0.2.0 → aiida_hyperqueue-0.3.0}/tests/test_cli_install.py +0 -0
- {aiida_hyperqueue-0.2.0 → aiida_hyperqueue-0.3.0}/tests/test_cli_server.py +0 -0
- {aiida_hyperqueue-0.2.0 → aiida_hyperqueue-0.3.0}/tests/test_scheduler.py +0 -0
- {aiida_hyperqueue-0.2.0 → aiida_hyperqueue-0.3.0}/tests/utils/__init__.py +0 -0
- {aiida_hyperqueue-0.2.0 → aiida_hyperqueue-0.3.0}/tests/utils/cmd.py +0 -0
- {aiida_hyperqueue-0.2.0 → aiida_hyperqueue-0.3.0}/tests/utils/io.py +0 -0
- {aiida_hyperqueue-0.2.0 → aiida_hyperqueue-0.3.0}/tests/utils/job.py +0 -0
- {aiida_hyperqueue-0.2.0 → aiida_hyperqueue-0.3.0}/tests/utils/mock.py +0 -0
- {aiida_hyperqueue-0.2.0 → aiida_hyperqueue-0.3.0}/tests/utils/table.py +0 -0
- {aiida_hyperqueue-0.2.0 → aiida_hyperqueue-0.3.0}/tests/utils/wait.py +0 -0
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# -*- coding: utf-8 -*-
|
|
3
|
+
"""Script for automatically updating the `CHANGELOG.md` based on the commits since the latest release tag."""
|
|
4
|
+
|
|
5
|
+
from pathlib import Path
|
|
6
|
+
import re
|
|
7
|
+
import subprocess
|
|
8
|
+
|
|
9
|
+
DEFAULT_CHANGELOG_SECTIONS = """
|
|
10
|
+
### ‼️ Breaking changes
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
### ✨ New features
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
### 🗑️ Deprecations
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
### 👌 Improvements
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
### 🐛 Bug fixes
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
### 📚 Documentation
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
### 🔧 Maintenance
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
### ⬆️ Update dependencies
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
### 🧪 Tests
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
### ♻️ Refactor
|
|
38
|
+
|
|
39
|
+
"""
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
def update_changelog():
|
|
43
|
+
"""Update the `CHANGELOG.md` for a first draft of the release."""
|
|
44
|
+
|
|
45
|
+
print("🔍 Checking the current version number")
|
|
46
|
+
current_changelog = Path("CHANGELOG.md").read_text(encoding="utf-8")
|
|
47
|
+
|
|
48
|
+
from aiida_hyperqueue import __version__
|
|
49
|
+
|
|
50
|
+
if str(__version__) in current_changelog:
|
|
51
|
+
print("🛑 Current version already in `CHANGELOG.md`. Skipping...")
|
|
52
|
+
return
|
|
53
|
+
|
|
54
|
+
print("⬆️ Found updated version number, adapting `CHANGELOG.md`.")
|
|
55
|
+
tags = subprocess.run(
|
|
56
|
+
["git", "tag", "--sort=v:refname"],
|
|
57
|
+
capture_output=True,
|
|
58
|
+
check=True,
|
|
59
|
+
encoding="utf-8",
|
|
60
|
+
).stdout
|
|
61
|
+
latest_tag = re.findall(r"(v\d+\.\d+\.\d+)\n", tags)[-1]
|
|
62
|
+
|
|
63
|
+
print(f"🔄 Comparing with latest tag `{latest_tag}`.")
|
|
64
|
+
commits = subprocess.run(
|
|
65
|
+
["git", "log", "--pretty=format:'%h|%H|%s'", f"{latest_tag}..origin/main"],
|
|
66
|
+
capture_output=True,
|
|
67
|
+
check=True,
|
|
68
|
+
encoding="utf-8",
|
|
69
|
+
).stdout
|
|
70
|
+
|
|
71
|
+
pr_pattern = re.compile(r"\(\S(?P<pr_number>\d+)\)")
|
|
72
|
+
|
|
73
|
+
changelog_message = f"## v{__version__}\n" + DEFAULT_CHANGELOG_SECTIONS
|
|
74
|
+
|
|
75
|
+
for commit in commits.splitlines():
|
|
76
|
+
# Remove the PR number from the commit message
|
|
77
|
+
pr_match = pr_pattern.search(commit)
|
|
78
|
+
|
|
79
|
+
if pr_match is not None:
|
|
80
|
+
pr_number = pr_match.groupdict()["pr_number"]
|
|
81
|
+
commit = commit.replace(rf"(#{pr_number})", "")
|
|
82
|
+
|
|
83
|
+
# Add the commit hash (short) to link to the changelog
|
|
84
|
+
commit = commit.strip("'")
|
|
85
|
+
hash_short, hash_long, message = commit.split("|", maxsplit=2)
|
|
86
|
+
message += f" [[{hash_short}](https://github.com/aiidateam/aiida-hyperqueue/commit/{hash_long})]"
|
|
87
|
+
changelog_message += f"\n* {message}"
|
|
88
|
+
|
|
89
|
+
with Path("CHANGELOG.md").open("w", encoding="utf8") as handle:
|
|
90
|
+
handle.write(changelog_message + "\n\n" + current_changelog)
|
|
91
|
+
|
|
92
|
+
print("🚀 Success! Finalise the `CHANGELOG.md` and let's get this baby released.")
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
if __name__ == "__main__":
|
|
96
|
+
update_changelog()
|
|
@@ -1,3 +1,16 @@
|
|
|
1
|
+
## v0.3.0
|
|
2
|
+
|
|
3
|
+
### ⬆️ Update dependencies
|
|
4
|
+
|
|
5
|
+
* Provide support for `aiida-core~=2.7` via `BashCliScheduler` [[42b8f14](https://github.com/aiidateam/aiida-hyperqueue/commit/42b8f14412121daddc0a2e9eea1360ad949d4e65)]
|
|
6
|
+
|
|
7
|
+
## v0.2.1
|
|
8
|
+
|
|
9
|
+
### 🔧 Maintenance
|
|
10
|
+
|
|
11
|
+
* Add `update_changelog.py` script [[9b03acb](https://github.com/aiidateam/aiida-hyperqueue/commit/9b03acbf9cb804ef7f3c35c6d5b7495b917dacc6)]
|
|
12
|
+
* Add upper limit to `aiida-core` [[fd7a62f](https://github.com/aiidateam/aiida-hyperqueue/commit/fd7a62feae23f99899a025cfe411531576bf93fd)]
|
|
13
|
+
|
|
1
14
|
## v0.2.0
|
|
2
15
|
|
|
3
16
|
- [#18](https://github.com/aiidateam/aiida-hyperqueue/pull/18) A large refactoring with following changes:
|
|
@@ -11,7 +24,6 @@
|
|
|
11
24
|
- [#26](https://github.com/aiidateam/aiida-hyperqueue/pull/26) Change alloc add worker name (name appear in slurm queue) `aiida` -> `ahq`
|
|
12
25
|
- [#24](https://github.com/aiidateam/aiida-hyperqueue/pull/24) Use JSON format as output for hq job list and hq submit
|
|
13
26
|
|
|
14
|
-
|
|
15
27
|
## v0.1.1
|
|
16
28
|
|
|
17
29
|
Only a small fix to the `README.md` was added here, this release is mainly to test the automated deployment to PyPI.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: aiida-hyperqueue
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.3.0
|
|
4
4
|
Summary: AiiDA plugin for the HyperQueue metascheduler
|
|
5
5
|
Author: Marnik Bercx, Jusong Yu
|
|
6
6
|
Requires-Python: >=3.9
|
|
@@ -13,7 +13,7 @@ Classifier: Operating System :: MacOS :: MacOS X
|
|
|
13
13
|
Classifier: Natural Language :: English
|
|
14
14
|
Classifier: Programming Language :: Python
|
|
15
15
|
License-File: LICENSE
|
|
16
|
-
Requires-Dist: aiida-core~=2.
|
|
16
|
+
Requires-Dist: aiida-core~=2.7
|
|
17
17
|
Requires-Dist: sphinx ; extra == "docs"
|
|
18
18
|
Requires-Dist: myst-parser ; extra == "docs"
|
|
19
19
|
Requires-Dist: sphinx-design ; extra == "docs"
|
|
@@ -14,7 +14,7 @@ import typing as t
|
|
|
14
14
|
import warnings
|
|
15
15
|
|
|
16
16
|
from aiida.common.extendeddicts import AttributeDict
|
|
17
|
-
from aiida.schedulers import Scheduler, SchedulerError
|
|
17
|
+
from aiida.schedulers import Scheduler, SchedulerError, BashCliScheduler
|
|
18
18
|
from aiida.schedulers.datastructures import JobInfo, JobState, JobResource, JobTemplate
|
|
19
19
|
|
|
20
20
|
# Mapping of HyperQueue states to AiiDA `JobState`s
|
|
@@ -106,7 +106,7 @@ class HyperQueueJobResource(JobResource):
|
|
|
106
106
|
return self.num_cpus
|
|
107
107
|
|
|
108
108
|
|
|
109
|
-
class HyperQueueScheduler(
|
|
109
|
+
class HyperQueueScheduler(BashCliScheduler):
|
|
110
110
|
"""Support for the HyperQueue scheduler (https://it4innovations.github.io/hyperqueue/stable/)."""
|
|
111
111
|
|
|
112
112
|
_logger = Scheduler._logger.getChild("hyperqueue")
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aiida_hyperqueue-0.2.0 → aiida_hyperqueue-0.3.0}/docs/source/img/AiiDA_transparent_logo.png
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|