Commit 94369431 authored by Vuillaume's avatar Vuillaume
Browse files

Merge branch 'update_codemeta_release' into 'master'

release option to update codemeta

See merge request !210
parents d659d20d fe6d7f78
Pipeline #184654 passed with stages
in 10 minutes and 54 seconds
......@@ -28,7 +28,7 @@ update_codemeta:
# setuptools_scm needs to be installed before or it can't be used to determine eossr version during install
- pip install setuptools_scm
- pip install .
- python eossr/scripts/update_codemeta_eossr.py -c codemeta.json
- python eossr/scripts/update_codemeta_eossr.py -c codemeta.json --no-release
- cat codemeta.json
# Add all generated files to Git
- git add codemeta.json
......
......@@ -4,8 +4,8 @@
"name": "eossr",
"description": "<p align=\"left\"><img src=\"docs/images/eossr_logo.png\" width=\"400px\" ></p><h1>The ESCAPE OSSR library</h1><p>The eOSSR Python library gathers all the developments made for the OSSR. In particular, it includes:- an API to programmatically access the OSSR, retrieve records and publish content- functions to map and crosswalk metadata between the CodeMeta schema adopted for the OSSR and Zenodo internal schema- functions to help developers automatically contribute to the OSSR, in particular using their continuous integration (see also code snippets)</p><p>Code: <a href=\"https://gitlab.in2p3.fr/escape2020/wp3/eossr\">https://gitlab.in2p3.fr/escape2020/wp3/eossr</a>Documentation: <a href=\"https://escape2020.pages.in2p3.fr/wp3/eossr/\">https://escape2020.pages.in2p3.fr/wp3/eossr/</a></p><p><a href=\"https://gitlab.in2p3.fr/escape2020/wp3/eossr/-/commits/master\"><img alt=\"\" src=\"https://gitlab.in2p3.fr/escape2020/wp3/eossr/badges/master/pipeline.svg\" /></a><a href=\"https://gitlab.in2p3.fr/escape2020/wp3/eossr/-/commits/master\"><img alt=\"\" src=\"https://gitlab.in2p3.fr/escape2020/wp3/eossr/badges/master/coverage.svg\" /></a><a href=\"https://bestpractices.coreinfrastructure.org/projects/5712\"><img alt=\"CII Best Practices\" src=\"https://bestpractices.coreinfrastructure.org/projects/5712/badge\" /></a><a href=\"https://opensource.org/licenses/MIT\"><img alt=\"\" src=\"https://img.shields.io/badge/License-MIT-blue.svg\" /></a><a href=\"https://doi.org/10.5281/zenodo.5524912\"><img alt=\"\" src=\"https://zenodo.org/badge/DOI/10.5281/zenodo.5524912.svg\" /></a><a href=\"https://mybinder.org/v2/git/https%3A%2F%2Fgitlab.in2p3.fr%2Fescape2020%2Fwp3%2Feossr/HEAD\"><img alt=\"\" src=\"https://mybinder.org/badge_logo.svg\" /></a></p><h2>Former stable versions</h2><ul><li>v0.6: <a href=\"https://doi.org/10.5281/zenodo.6475946\"><img alt=\"DOI\" src=\"https://zenodo.org/badge/DOI/10.5281/zenodo.6475946.svg\" /></a></li><li>v0.5: <a href=\"https://doi.org/10.5281/zenodo.6352039\"><img alt=\"DOI\" src=\"https://zenodo.org/badge/DOI/10.5281/zenodo.6352039.svg\" /></a></li><li>v0.4: <a href=\"https://doi.org/10.5281/zenodo.6326454\"><img alt=\"DOI\" src=\"https://zenodo.org/badge/DOI/10.5281/zenodo.6326454.svg\" /></a></li><li>v0.3.3: <a href=\"https://doi.org/10.5281/zenodo.5592584\"><img alt=\"\" src=\"https://zenodo.org/badge/DOI/10.5281/zenodo.5592584.svg\" /></a></li><li>v0.2 : <a href=\"https://doi.org/10.5281/zenodo.5524913\"><img alt=\"\" src=\"https://zenodo.org/badge/DOI/10.5281/zenodo.5524913.svg\" /></a></li></ul><h2>Install</h2><p>Commands to be run in your terminal.</p><h3>For users</h3><pre><code>pip install eossr</code></pre><p>You can also run it with docker:</p><pre><code>docker run -it gitlab-registry.in2p3.fr/escape2020/wp3/eossr:latest</code></pre><p><a href=\"https://gitlab.in2p3.fr/escape2020/wp3/eossr/container_registry\">Visit our registry</a> to see the available docker containers.</p><p>Note that <code>latest</code> tag always point to the latest stable released container.</p><h3>For developers</h3><pre><code>git clone https://gitlab.in2p3.fr/escape2020/wp3/eossr.gitpip install -e &quot;./eossr&quot;</code></pre><h4>Running tests</h4><p>To run tests locally, run:</p><pre><code>pip install -e &quot;./eossr[tests]&quot;pytest eossr</code></pre><p>Some tests will be skiped if <code>SANDBOX_ZENODO_TOKEN</code> is not defined in your environment variables.If you want to run these tests, you will need to create a <a href=\"https://sandbox.zenodo.org/account/settings/applications/tokens/new/\">sandbox zenodo token</a> and add it to your env:</p><pre><code>export SANDBOX_ZENODO_TOKEN=&quot;your_sandbox_token&quot;</code></pre><h2>License</h2><p>See <a href=\"LICENSE\">LICENSE</a></p><h2>Cite</h2><p>To cite this library, use the cite section in <a href=\"https://zenodo.org/record/5592584#.YiALJRPMI-Q\">the Zenodo page</a> (rightcolumn, below the <code>Versions</code> section).</p>",
"license": "https://spdx.org/licenses/MIT",
"version": "v0.7.dev25+ga13e06c",
"softwareVersion": "v0.7.dev25+ga13e06c",
"version": "v0.7.dev28+g761275e",
"softwareVersion": "v0.7.dev28+g761275e",
"codeRepository": "https://gitlab.in2p3.fr/escape2020/wp3/eossr",
"developmentStatus": "active",
"isAccessibleForFree": true,
......@@ -43,11 +43,11 @@
"zenodo"
],
"runtimePlatform": "Python 3",
"downloadUrl": "https://gitlab.in2p3.fr/escape2020/wp3/eossr/-/archive/v0.7.dev25+ga13e06c/eossr-v0.7.dev25+ga13e06c.zip",
"releaseNotes": "eossr v0.6 Minor bug fixes and documentation improvements. Full changelog: https://gitlab.in2p3.fr/escape2020/wp3/eossr/-/releases/v0.6",
"downloadUrl": "https://gitlab.in2p3.fr/escape2020/wp3/eossr/-/archive/v0.7.dev28+g761275e/eossr-v0.7.dev28+g761275e.zip",
"releaseNotes": "",
"dateCreated": "2021-08-31",
"datePublished": "2022-06-10",
"dateModified": "2022-06-10",
"datePublished": "2022-06-29",
"dateModified": "2022-06-29",
"operatingSystem": "",
"maintainer": {
"@type": "Person",
......
......@@ -24,17 +24,35 @@ def build_argparser():
default=Path(ROOT_DIR).joinpath('codemeta.json'),
required=False,
)
parser.add_argument(
'--no-release',
action='store_false',
help="Use when making a release. Do not update the publication date, the zip archive URL and remove release notes."
)
return parser
if __name__ == '__main__':
parser = build_argparser()
args = parser.parse_args()
download_url = f'https://gitlab.in2p3.fr/escape2020/wp3/eossr/-/archive/v{eossr_version}/eossr-v{eossr_version}.zip'
if args.no_release:
publication_date = False
release_notes = ""
download_url = ""
else:
publication_date = True
release_notes = None
download_url = f'https://gitlab.in2p3.fr/escape2020/wp3/eossr/-/archive/v{eossr_version}/eossr-v{eossr_version}.zip'
html = update_codemeta(
codemeta_path=args.codemeta_path,
readme_path=Path(__file__).parent.joinpath('../../README.md').resolve(),
version=eossr_version,
download_url=download_url,
publication_date=publication_date,
release_notes=release_notes,
overwrite=True,
)
......@@ -127,6 +127,7 @@ def update_codemeta(
modification_date=True,
publication_date=True,
download_url=None,
release_notes=None,
overwrite=True,
):
"""
......@@ -142,6 +143,8 @@ def update_codemeta(
If True, updates the publication date with today's
:param download_url: str
Download URL for the software
:param release_notes: str
release notes. If None, does not update.
:param overwrite: bool
If True, overwrites the codemeta file
"""
......@@ -163,6 +166,9 @@ def update_codemeta(
metadata['version'] = f"v{version}"
metadata['softwareVersion'] = f"v{version}"
if release_notes is not None:
metadata['releaseNotes'] = release_notes
if overwrite:
with open(codemeta_path, 'w') as file:
json.dump(metadata, file, indent=4)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment