Skip to content

Commit b2033c9

Browse files
authored
Merge pull request #242 from hermes-hmc/release/v0.8.0
Release/v0.8.0
2 parents 878c80d + af26735 commit b2033c9

109 files changed

Lines changed: 9489 additions & 115 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.flake8

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# SPDX-FileCopyrightText: 2023 German Aerospace Center (DLR), Helmholtz-Zentrum Dresden-Rossendorf
2+
#
3+
# SPDX-License-Identifier: CC0-1.0
4+
5+
[flake8]
6+
max-complexity = 15
7+
max-line-length = 120

.github/workflows/cffconvert.yml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# SPDX-FileCopyrightText: 2022 German Aerospace Center (DLR)
2+
#
3+
# SPDX-License-Identifier: CC0-1.0
4+
5+
# SPDX-FileContributor: Stephan Druskat
6+
7+
name: cffconvert
8+
9+
on:
10+
push:
11+
paths:
12+
- CITATION.cff
13+
14+
jobs:
15+
validate:
16+
name: "validate"
17+
runs-on: ubuntu-latest
18+
steps:
19+
- name: Check out a copy of the repository
20+
uses: actions/checkout@v2
21+
22+
- name: Check whether the citation metadata from CITATION.cff is valid
23+
uses: citation-file-format/cffconvert-github-action@2.0.0
24+
with:
25+
args: "--validate"
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# SPDX-FileCopyrightText: 2022 Free Software Foundation Europe e.V. <https://fsfe.org>
2+
# SPDX-FileCopyrightText: 2022 German Aerospace Center (DLR)
3+
#
4+
# SPDX-License-Identifier: CC0-1.0
5+
6+
# SPDX-FileContributor: Stephan Druskat
7+
8+
name: REUSE 3.0 Compliance Check
9+
10+
on: [push, pull_request]
11+
12+
jobs:
13+
test:
14+
runs-on: ubuntu-latest
15+
steps:
16+
- uses: actions/checkout@v3
17+
- name: REUSE Compliance Check
18+
uses: fsfe/reuse-action@v1
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# SPDX-FileCopyrightText: 2023 German Aerospace Center (DLR), Helmholtz-Zentrum Drseden-Rossendorf, Forschungszentrum Jülich
2+
#
3+
# SPDX-License-Identifier: CC0-1.0
4+
5+
# SPDX-FileContributor: Stephan Druskat
6+
7+
name: Software publication on Zenodo Sandbox
8+
9+
on:
10+
push:
11+
tags:
12+
- "*"
13+
14+
jobs:
15+
hermes:
16+
name: HERMES
17+
runs-on: ubuntu-latest
18+
permissions:
19+
contents: read # We will only read content from the repo
20+
# pull-requests: write # Postprocessing should be able to create a pull request with changes
21+
steps:
22+
- uses: actions/checkout@v2
23+
- uses: actions/setup-python@v4
24+
with:
25+
python-version: '3.10'
26+
- run: pip install git+https://github.com/sdruskat/workflow.git@deRSE23
27+
- run: git archive --format zip HEAD src > hermes.zip
28+
- run: hermes
29+
- run: hermes deposit -O invenio_rdm.auth-token ${{ secrets.ZENODO }} --file hermes.zip --file README.md
30+
# - run: hermes postprocess # (Not implemented yet)
31+
# - uses: peter-evans/create-pull-request@v4 (TODO once postprocessing has it)

.github/workflows/release.yml

Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
# SPDX-FileCopyrightText: 2023 Forschungszentrum Jülich GmbH (FZJ)
2+
#
3+
# SPDX-License-Identifier: CC0-1.0
4+
5+
# SPDX-FileContributor: Oliver Bertuch
6+
7+
name: Publish Python 🐍 distribution 📦 to PyPI and TestPyPI
8+
9+
on:
10+
push:
11+
branches:
12+
- main
13+
- develop
14+
tags:
15+
- 'v**'
16+
17+
jobs:
18+
build:
19+
name: Build distribution 📦
20+
runs-on: ubuntu-latest
21+
22+
steps:
23+
- uses: actions/checkout@v4
24+
- name: Set up Python
25+
uses: actions/setup-python@v4
26+
with:
27+
python-version: "3.10"
28+
- name: Install pypa/build
29+
run: >-
30+
python3 -m
31+
pip install
32+
build
33+
--user
34+
- name: Build a binary wheel and a source tarball
35+
run: python3 -m build
36+
- name: Store the distribution packages
37+
uses: actions/upload-artifact@v3
38+
with:
39+
name: python-package-distributions
40+
path: dist/
41+
42+
publish-to-pypi:
43+
name: >-
44+
Publish Python 🐍 distribution 📦 to PyPI
45+
if: startsWith(github.ref, 'refs/tags/') # only publish to PyPI on tag pushes
46+
needs:
47+
- build
48+
runs-on: ubuntu-latest
49+
environment:
50+
name: pypi
51+
url: https://pypi.org/p/hermes
52+
permissions:
53+
id-token: write # IMPORTANT: mandatory for trusted publishing
54+
55+
steps:
56+
- name: Download all the dists
57+
uses: actions/download-artifact@v3
58+
with:
59+
name: python-package-distributions
60+
path: dist/
61+
- name: Publish distribution 📦 to PyPI
62+
uses: pypa/gh-action-pypi-publish@release/v1
63+
64+
# Commented out for now, until we decide to actually use GitHub Releases
65+
#
66+
#github-release:
67+
# name: >-
68+
# Sign the Python 🐍 distribution 📦 with Sigstore
69+
# and upload them to GitHub Release
70+
# needs:
71+
# - publish-to-pypi
72+
# runs-on: ubuntu-latest
73+
# permissions:
74+
# contents: write # IMPORTANT: mandatory for making GitHub Releases
75+
# id-token: write # IMPORTANT: mandatory for sigstore
76+
# steps:
77+
# - name: Download all the dists
78+
# uses: actions/download-artifact@v3
79+
# with:
80+
# name: python-package-distributions
81+
# path: dist/
82+
# - name: Sign the dists with Sigstore
83+
# uses: sigstore/gh-action-sigstore-python@v1.2.3
84+
# with:
85+
# inputs: >-
86+
# ./dist/*.tar.gz
87+
# ./dist/*.whl
88+
# - name: Create GitHub Release
89+
# env:
90+
# GITHUB_TOKEN: ${{ github.token }}
91+
# run: >-
92+
# gh release create
93+
# '${{ github.ref_name }}'
94+
# --repo '${{ github.repository }}'
95+
# --notes ""
96+
# - name: Upload artifact signatures to GitHub Release
97+
# env:
98+
# GITHUB_TOKEN: ${{ github.token }}
99+
# # Upload to GitHub Release using the `gh` CLI.
100+
# # `dist/` contains the built packages, and the
101+
# # sigstore-produced signatures and certificates.
102+
# run: >-
103+
# gh release upload
104+
# '${{ github.ref_name }}' dist/**
105+
# --repo '${{ github.repository }}'
106+
107+
# Releasing to TestPyPI has been removed with commit d6f78804.
108+
# See https://github.com/hermes-hmc/hermes/commit/d6f78804 to see the removed parts.

.github/workflows/tests.yml

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# SPDX-FileCopyrightText: 2022 German Aerospace Center (DLR)
2+
#
3+
# SPDX-License-Identifier: CC0-1.0
4+
5+
# SPDX-FileContributor: Stephan Druskat
6+
# SPDX-FileContributor: Michael Meinel
7+
8+
name: Python package
9+
10+
on: [push]
11+
12+
jobs:
13+
build:
14+
15+
runs-on: ubuntu-latest
16+
strategy:
17+
matrix:
18+
python-version: ["3.10"] # Ignore Python < 3.10, they are unsupported
19+
20+
steps:
21+
- uses: actions/checkout@v3
22+
- name: Set up Python ${{ matrix.python-version }}
23+
uses: actions/setup-python@v4
24+
with:
25+
python-version: ${{ matrix.python-version }}
26+
- name: Install dependencies
27+
run: |
28+
python -m pip install --upgrade pip
29+
pip install flake8 pytest
30+
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
31+
- name: Lint with flake8
32+
run: |
33+
# stop the build if there are Python syntax errors or undefined names
34+
flake8 ./test/ ./src/ --count --select=E9,F63,F7,F82 --show-source --statistics
35+
# Stop build on errors
36+
flake8 ./test/ ./src/ --count --statistics
37+
- name: Test with pytest
38+
run: |
39+
pip install -e .
40+
pip install requests-mock
41+
pytest ./test/

.gitignore

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,25 @@
1+
# SPDX-FileCopyrightText: 2022 German Aerospace Center (DLR)
2+
#
3+
# SPDX-License-Identifier: CC0-1.0
4+
5+
# SPDX-FileContributor: Stephan Druskat
6+
# SPDX-FileContributor: Michael Meinel
7+
8+
9+
__pycache__
10+
11+
.coverage
12+
htmlcov
13+
.pytest_cache
14+
15+
docs/source/api
16+
docs/build/
17+
/dist/
18+
119
.idea/
220
.venv/
21+
.vscode/
22+
dist/
23+
24+
# HERMES workflow specifics
25+
.hermes/

.mailmap

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# SPDX-FileCopyrightText: 2022 German Aerospace Center (DLR)
2+
#
3+
# SPDX-License-Identifier: CC0-1.0
4+
5+
# Mapping of email addresses only. Format (one pair per line):
6+
# <primary.email@address> <discard.this.email@address>
7+
<michael.meinel@dlr.de> <led02@me.com>
8+
<o.bertuch@fz-juelich.de> <poikilotherm@users.noreply.github.com>
9+
<stephan.druskat@dlr.de> <sdruskat@users.noreply.github.com>
10+
11+
# Mapping of user names. Format (one pair per line):
12+
# Real Name <email@address> nickname
13+
# Real Name <email@address> Name, Real
14+
Jeffrey Kelling <j.kelling@hzdr.de> jkelling
15+
David Pape <d.pape@hzdr.de> David
16+
Stephan Druskat <stephan.druskat@dlr.de> Druskat, Stephan
17+
Michael Meinel <michael.meinel@dlr.de> Meinel, Michael

.readthedocs.yaml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# SPDX-FileCopyrightText: 2022 Forschungszentrum Jülich
2+
#
3+
# SPDX-License-Identifier: CC0-1.0
4+
5+
version: 2
6+
7+
build:
8+
os: ubuntu-20.04
9+
tools:
10+
python: "3.10"
11+
jobs:
12+
post_install:
13+
- pip install "poetry>=1.2.0,<1.3.0"
14+
- poetry config virtualenvs.create false
15+
- poetry install --with docs
16+
17+
# Build documentation in the docs/source directory with Sphinx
18+
sphinx:
19+
builder: html
20+
configuration: docs/source/conf.py
21+
fail_on_warning: true

CITATION.cff

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
# SPDX-FileCopyrightText: 2022 German Aerospace Center (DLR), Helmholtz-Zentrum Dresden-Rossendorf
2+
#
3+
# SPDX-License-Identifier: CC0-1.0
4+
5+
# SPDX-FileContributor: Michael Meinel
6+
# SPDX-FileContributor: Oliver Knodel
7+
# SPDX-FileContributor: Stephan Druskat
8+
9+
# This CITATION.cff file was generated with cffinit.
10+
# Visit https://bit.ly/cffinit to generate yours today!
11+
12+
cff-version: 1.2.0
13+
title: hermes
14+
message: >-
15+
If you use this software, please cite it using the
16+
metadata from this file.
17+
version: "0.8.0"
18+
license: "Apache-2.0"
19+
abstract: "Implementation of the HERMES workflow for FAIR software publication."
20+
type: software
21+
authors:
22+
- given-names: Michael
23+
family-names: Meinel
24+
email: michael.meinel@dlr.de
25+
affiliation: German Aerospace Center (DLR)
26+
orcid: 'https://orcid.org/0000-0001-6372-3853'
27+
- given-names: Stephan
28+
family-names: Druskat
29+
email: stephan.druskat@dlr.de
30+
affiliation: German Aerospace Center (DLR)
31+
orcid: 'https://orcid.org/0000-0003-4925-7248'
32+
- given-names: Jeffrey
33+
family-names: Kelling
34+
email: j.kelling@hzdr.de
35+
affiliation: Helmholtz-Zentrum Dresden-Rossendorf (HZDR)
36+
orcid: 'https://orcid.org/0000-0003-1761-2591'
37+
- given-names: Oliver
38+
family-names: Bertuch
39+
email: o.bertuch@fz-juelich.de
40+
affiliation: Forschungszentrum Jülich GmbH (FZJ)
41+
orcid: 'https://orcid.org/0000-0002-2702-3419'
42+
- given-names: Oliver
43+
family-names: Knodel
44+
email: o.knodel@hzdr.de
45+
affiliation: Helmholtz-Zentrum Dresden-Rossendorf (HZDR)
46+
orcid: 'https://orcid.org/0000-0001-8174-7795'
47+
- given-names: David
48+
family-names: Pape
49+
email: d.pape@hzdr.de
50+
affiliation: Helmholtz-Zentrum Dresden-Rossendorf (HZDR)
51+
orcid: 'https://orcid.org/0000-0002-3145-9880'

0 commit comments

Comments
 (0)