Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
root = true

[*]
charset = utf-8
end_of_line = lf
indent_style = space
insert_final_newline = true
trim_trailing_whitespace=true

[*.{css,html,js,json,scss,yaml,yml}]
indent_size = 2

[*.{py,sh}]
indent_size = 4

[*.go]
indent_style = tab
74 changes: 72 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,77 @@ jobs:
pip install check-manifest
./run-tests.sh --check-manifest

lint-jsonlint:
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup Node
uses: actions/setup-node@v4

- name: Lint JSON files
run: |
npm install jsonlint --global
./run-tests.sh --check-jsonlint

lint-markdownlint:
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup Node
uses: actions/setup-node@v4

- name: Lint Markdown files
run: |
npm install markdownlint-cli2 --global
./run-tests.sh --check-markdownlint

format-shfmt:
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Check shell script code formatting
run: |
sudo apt-get install shfmt
./run-tests.sh --check-shfmt

format-prettier:
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup Node
uses: actions/setup-node@v4

- name: Check Prettier code fomatting
run: |
npm install prettier --global
./run-tests.sh --check-prettier

lint-yamllint:
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: "3.12"

- name: Lint YAML files
run: |
pip install yamllint
./run-tests.sh --check-yamllint

docs-sphinx:
runs-on: ubuntu-24.04
steps:
Expand Down Expand Up @@ -186,8 +257,7 @@ jobs:
release-docker:
runs-on: ubuntu-24.04
if: >
vars.RELEASE_DOCKER == 'true' &&
github.event_name == 'push' &&
vars.RELEASE_DOCKER == 'true' && github.event_name == 'push' &&
startsWith(github.ref, 'refs/tags/')
needs:
- docs-sphinx
Expand Down
5 changes: 5 additions & 0 deletions .markdownlint.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Allow prompt dollar sign in console examples without showing output
MD014: false

# Allow multiple headings with same content (for different releases)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cosmetics: Please separate the two rules for better clarity.

MD024: false
3 changes: 3 additions & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
.pytest_cache
CHANGELOG.md
docs/openapi.json
2 changes: 2 additions & 0 deletions .prettierrc.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
printWidth: 80
proseWrap: always
8 changes: 6 additions & 2 deletions .release-please-config.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,13 @@
".": {
"changelog-sections": [
{ "type": "build", "section": "Build", "hidden": false },
{ "type": "feat", "section": "Features", "hidden": false },
{ "type": "feat", "section": "Features", "hidden": false },
{ "type": "fix", "section": "Bug fixes", "hidden": false },
{ "type": "perf", "section": "Performance improvements", "hidden": false },
{
"type": "perf",
"section": "Performance improvements",
"hidden": false
},
{ "type": "refactor", "section": "Code refactoring", "hidden": false },
{ "type": "style", "section": "Code style", "hidden": false },
{ "type": "test", "section": "Test suite", "hidden": false },
Expand Down
8 changes: 8 additions & 0 deletions .yamllint.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
extends: default

rules:
comments:
min-spaces-from-content: 1
document-start: disable
line-length: disable
truthy: disable
1 change: 1 addition & 0 deletions AUTHORS.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ The list of contributors in alphabetical order:
- [Agisilaos Kounelis](https://orcid.org/0000-0001-9312-3189)
- [Anton Khodak](https://orcid.org/0000-0003-3263-4553)
- [Audrius Mecionis](https://orcid.org/0000-0002-3759-1663)
- [Cameron McClymont](https://orcid.org/0009-0002-0176-5251)
- [Camila Diaz](https://orcid.org/0000-0001-5543-797X)
- [Dan Leehr](https://orcid.org/0000-0003-3221-9579)
- [Daniel Prelipcean](https://orcid.org/0000-0002-4855-194X)
Expand Down
101 changes: 48 additions & 53 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,39 +1,35 @@
<!-- markdownlint-disable MD013 -->

# Changelog

## [0.9.4](https://github.com/reanahub/reana-workflow-engine-cwl/compare/0.9.3...0.9.4) (2024-11-29)


### Build

* **docker:** pin setuptools 70 ([#287](https://github.com/reanahub/reana-workflow-engine-cwl/issues/287)) ([3c2cd8a](https://github.com/reanahub/reana-workflow-engine-cwl/commit/3c2cd8a474d167574bf8746b6430f4ae13a83e61))
* **python:** bump shared REANA packages as of 2024-11-28 ([#289](https://github.com/reanahub/reana-workflow-engine-cwl/issues/289)) ([f9d3688](https://github.com/reanahub/reana-workflow-engine-cwl/commit/f9d3688858e6f1ff52fa58fecd9ce233dd97b0e1))


### Features

* **task:** allow Compute4PUNCH backend options ([#277](https://github.com/reanahub/reana-workflow-engine-cwl/issues/277)) ([9b2a3d0](https://github.com/reanahub/reana-workflow-engine-cwl/commit/9b2a3d0872329e79d0b2d9a0972b0c09f08ff694))

## [0.9.3](https://github.com/reanahub/reana-workflow-engine-cwl/compare/0.9.2...0.9.3) (2024-03-04)


### Build

* **docker:** install correct extras of reana-commons submodule ([#261](https://github.com/reanahub/reana-workflow-engine-cwl/issues/261)) ([21957fe](https://github.com/reanahub/reana-workflow-engine-cwl/commit/21957fe41921d9c557067b2773205af6385f755b))
* **docker:** non-editable submodules in "latest" mode ([#255](https://github.com/reanahub/reana-workflow-engine-cwl/issues/255)) ([a6acc88](https://github.com/reanahub/reana-workflow-engine-cwl/commit/a6acc888a36694e3306993cfc3108752b60bd1f3))
* **python:** bump all required packages as of 2024-03-04 ([#267](https://github.com/reanahub/reana-workflow-engine-cwl/issues/267)) ([ed6a846](https://github.com/reanahub/reana-workflow-engine-cwl/commit/ed6a846eb1d8a0bf92f77906749b5853e5794114))
* **python:** bump shared REANA packages as of 2024-03-04 ([#267](https://github.com/reanahub/reana-workflow-engine-cwl/issues/267)) ([47155ef](https://github.com/reanahub/reana-workflow-engine-cwl/commit/47155ef95c4eb19642dd54a732402b2551973658))


### Bug fixes

* **progress:** handle stopped jobs ([#260](https://github.com/reanahub/reana-workflow-engine-cwl/issues/260)) ([bc36cb7](https://github.com/reanahub/reana-workflow-engine-cwl/commit/bc36cb7813a20fde685a40694af0732ded483d3a))


### Code refactoring

* **docs:** move from reST to Markdown ([#263](https://github.com/reanahub/reana-workflow-engine-cwl/issues/263)) ([3cf272f](https://github.com/reanahub/reana-workflow-engine-cwl/commit/3cf272f657cc3e0b329c6d159f5e476f06000f93))


### Continuous integration

* **commitlint:** addition of commit message linter ([#256](https://github.com/reanahub/reana-workflow-engine-cwl/issues/256)) ([021854e](https://github.com/reanahub/reana-workflow-engine-cwl/commit/021854e309999938cf01c31bda5ab095679e03b0))
Expand All @@ -43,119 +39,118 @@
* **release-please:** update version in Dockerfile ([#259](https://github.com/reanahub/reana-workflow-engine-cwl/issues/259)) ([0961257](https://github.com/reanahub/reana-workflow-engine-cwl/commit/096125709172e6bea1510a9fd2fdcb90299fac8b))
* **shellcheck:** fix exit code propagation ([#262](https://github.com/reanahub/reana-workflow-engine-cwl/issues/262)) ([6568b9b](https://github.com/reanahub/reana-workflow-engine-cwl/commit/6568b9b229141dd8dd2a261a833057358143590f))


### Documentation

* **authors:** complete list of contributors ([#266](https://github.com/reanahub/reana-workflow-engine-cwl/issues/266)) ([2960cd9](https://github.com/reanahub/reana-workflow-engine-cwl/commit/2960cd9c06a8e12283822ec9fbf87aba7b9b9fb5))
* **conformance-tests:** update CWL conformance test badges ([#264](https://github.com/reanahub/reana-workflow-engine-cwl/issues/264)) ([45afa2e](https://github.com/reanahub/reana-workflow-engine-cwl/commit/45afa2efd984fd84bbae48fde6ca663f70dd86dc))

## 0.9.2 (2023-12-12)

- Adds automated multi-platform container image building for amd64 and arm64 architectures.
- Adds metadata labels to Dockerfile.
- Fixes container image building on the arm64 architecture.
* Adds automated multi-platform container image building for amd64 and arm64 architectures.
* Adds metadata labels to Dockerfile.
* Fixes container image building on the arm64 architecture.

## 0.9.1 (2023-09-27)

- Fixes container image names to be Podman-compatible.
* Fixes container image names to be Podman-compatible.

## 0.9.0 (2023-01-19)

- Adds support for specifying `slurm_partition` and `slurm_time` for Slurm compute backend jobs.
- Adds support for Kerberos authentication for workflow orchestration.
- Adds support for Rucio authentication for workflow jobs.
- Changes the base image of the component to Ubuntu 20.04 LTS and reduces final Docker image size by removing build-time dependencies.
- Fixes status reporting for failed jobs that were incorrectly considered successful.
* Adds support for specifying `slurm_partition` and `slurm_time` for Slurm compute backend jobs.
* Adds support for Kerberos authentication for workflow orchestration.
* Adds support for Rucio authentication for workflow jobs.
* Changes the base image of the component to Ubuntu 20.04 LTS and reduces final Docker image size by removing build-time dependencies.
* Fixes status reporting for failed jobs that were incorrectly considered successful.

## 0.8.1 (2022-02-07)

- Adds support for specifying `kubernetes_job_timeout` for Kubernetes compute backend jobs.
* Adds support for specifying `kubernetes_job_timeout` for Kubernetes compute backend jobs.

## 0.8.0 (2021-11-22)

- Adds support for custom workspace paths.
- Adds supoort for `cwltool` version `3.1.20210628163208`
* Adds support for custom workspace paths.
* Adds supoort for `cwltool` version `3.1.20210628163208`

## 0.7.6 (2021-07-05)

- Changes internal dependencies to remove click.
* Changes internal dependencies to remove click.

## 0.7.5 (2021-04-28)

- Adds support for specifying `kubernetes_memory_limit` for Kubernetes compute backend jobs.
* Adds support for specifying `kubernetes_memory_limit` for Kubernetes compute backend jobs.

## 0.7.4 (2021-03-23)

- Changes job command serialisation using central REANA-Commons job command serialiser.
* Changes job command serialisation using central REANA-Commons job command serialiser.

## 0.7.3 (2021-03-17)

- Changes workflow engine instantiation to use central REANA-Commons factory.
- Changes status `succeeded` to `finished` to use central REANA nomenclature.
* Changes workflow engine instantiation to use central REANA-Commons factory.
* Changes status `succeeded` to `finished` to use central REANA nomenclature.

## 0.7.2 (2021-02-03)

- Fixes minor code warnings.
- Changes CI system to include Python flake8 and Dockerfile hadolint checkers.
* Fixes minor code warnings.
* Changes CI system to include Python flake8 and Dockerfile hadolint checkers.

## 0.7.1 (2020-11-10)

- Adds support for specifying `htcondor_max_runtime` and `htcondor_accounting_group` for HTCondor compute backend jobs.
- Fixes restarting of CWL workflows.
* Adds support for specifying `htcondor_max_runtime` and `htcondor_accounting_group` for HTCondor compute backend jobs.
* Fixes restarting of CWL workflows.

## 0.7.0 (2020-10-20)

- Adds pinning of all Python dependencies allowing to easily rebuild component images at later times.
- Adds option to specify unpacked Docker images as workflow step requirement.
- Adds support for handling new workflow operational options.
- Adds support for VOMS proxy as a new authentication method.
- Changes base image to use Python 3.8.
- Changes code formatting to respect `black` coding style.
- Changes documentation to single-page layout.
* Adds pinning of all Python dependencies allowing to easily rebuild component images at later times.
* Adds option to specify unpacked Docker images as workflow step requirement.
* Adds support for handling new workflow operational options.
* Adds support for VOMS proxy as a new authentication method.
* Changes base image to use Python 3.8.
* Changes code formatting to respect `black` coding style.
* Changes documentation to single-page layout.

## 0.6.1 (2020-05-25)

- Upgrades REANA-Commons package using latest Kubernetes Python client version.
* Upgrades REANA-Commons package using latest Kubernetes Python client version.

## 0.6.0 (2019-12-20)

- Allows to specify compute backend (HTCondor, Kubernetes or Slurm) and
* Allows to specify compute backend (HTCondor, Kubernetes or Slurm) and
Kerberos authentication requirement for CWL workflow jobs.
- Upgrades cwltool to 1.0.20191022103248.
- Moves workflow engine to the same Kubernetes pod with the REANA-Job-Controller
* Upgrades cwltool to 1.0.20191022103248.
* Moves workflow engine to the same Kubernetes pod with the REANA-Job-Controller
(sidecar pattern).

## 0.5.0 (2019-04-23)

- Makes workflow engine independent of Celery so that independent workflow
* Makes workflow engine independent of Celery so that independent workflow
instances are created on demand for each user.
- Replaces `api_client` module with centralised one from REANA-Commons.
- Introduces CVMFS mounts in job specifications.
- Sets default file mode creation mask to 002 so that workflows are able to
* Replaces `api_client` module with centralised one from REANA-Commons.
* Introduces CVMFS mounts in job specifications.
* Sets default file mode creation mask to 002 so that workflows are able to
write to shared directories for any user identity under which the workflow
processes may be running.
- Makes docker image slimmer by using `python:2.7-slim`.
- Centralises log level and log format configuration.
- Upgrades cwltool to 1.0.20181118133959.
* Makes docker image slimmer by using `python:2.7-slim`.
* Centralises log level and log format configuration.
* Upgrades cwltool to 1.0.20181118133959.

## 0.4.0 (2018-11-06)

- Improves AMQP re-connection handling. Switches from `pika` to `kombu`.
- Utilises common openapi client for communication with REANA-Job-Controller.
- Changes license to MIT.
* Improves AMQP re-connection handling. Switches from `pika` to `kombu`.
* Utilises common openapi client for communication with REANA-Job-Controller.
* Changes license to MIT.

## 0.3.2 (2018-09-25)

- Upgrades to latest `cwltool` (`1.0.20180912090223`).
* Upgrades to latest `cwltool` (`1.0.20180912090223`).

## 0.3.1 (2018-09-07)

- Pins REANA-Commons dependency.
* Pins REANA-Commons dependency.

## 0.3.0 (2018-08-10)

- Tracks progress of workflow runs.
* Tracks progress of workflow runs.

## 0.2.0 (2018-04-19)

- Initial public release.
* Initial public release.
11 changes: 6 additions & 5 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
# Contributing

Bug reports, issues, feature requests, and other contributions are welcome. If you find
a demonstrable problem that is caused by the REANA code, please:
Bug reports, issues, feature requests, and other contributions are welcome. If
you find a demonstrable problem that is caused by the REANA code, please:

1. Search for [already reported problems](https://github.com/reanahub/reana-workflow-engine-cwl/issues).
2. Check if the issue has been fixed or is still reproducible on the
latest `master` branch.
1. Search for
[already reported problems](https://github.com/reanahub/reana-workflow-engine-cwl/issues).
2. Check if the issue has been fixed or is still reproducible on the latest
`master` branch.
3. Create an issue, ideally with **a test case**.

If you create a pull request fixing a bug or implementing a feature, you can run
Expand Down
3 changes: 3 additions & 0 deletions MANIFEST.in
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,9 @@ include docs/requirements.txt
include pytest.ini
include scripts/*.py
exclude .readthedocs.yaml
exclude .editorconfig
exclude .prettierrc.yaml
exclude .prettierignore
prune docs/_build
recursive-include badges *.json
recursive-include docs *.py
Expand Down
Loading
Loading